在 Ubuntu 基本操作 里面基本就分为两部分:
- 安装 VMware 运行 Ubuntu
- 熟悉 Ubuntu 的各种操作、命令
如果你对 Ubuntu 比较熟悉的话,安装完 VMware 运行 Ubuntu 之后就可以来学习下一章节了。
1. 安装 VMware 运行 Ubuntu
我们首先来看看怎么去安装 VMware 来运行 Ubuntu,为什么要做这些事情,我们先讲清楚原因。
一般来说我们都是在 windows 电脑上面来操作,然后你可以通过网络去访问一个服务器(linux 服务器),做 linux 开发的时候,为什么一定要用 linux 服务器,在 linux 服务器里面,你可以去编译 u-boot,可以去编译内核,可以去编译应用程序或者各种驱动程序,那么为什么这些操作必须放在 linux 服务器里面呢,为什么不能够在 windows 里面操作呢,就比如说在 linux 里面有一些链接文件,那对于 windows 来说,它根本就不支持 linux 里面的链接文件的文件格式,也不支持 Linux 里面的设备节点,所以很多的时候这种工作必须在 Linux 里面来做。
那么我们作为一个学习者,我们并没有 Linux 服务器,那怎么办?我们可以在 windows 里面来安装一个虚拟机 VMware,这个是虚拟机,它可以模拟出一台电脑,在这台模拟出来的电脑上面安装 Ubuntu,Ubuntu 是一个 Linux 系统,跟 windows 是并列的关系,我们在这台虚拟的电脑上面来运行 Ubuntu,以后在这个 Ubuntu 里面来编译 u-boot 内核、应用程序和驱动程序。
所以我们第一步干嘛呢,安装 VMware;第二步,使用 VMware 来打开 Ubuntu。
1.1 安装 VMware
首先从 VMware 官网(www.vmware.com)下载 Workstation Player 安装包,或者使用我们提供的安装包。(在 <开发板配套资料> 01_100ask_stm32mp157_pro_2022.08\02_开发工具\【Windows】VMwareWorkstation 安装包安装包中,VMWare 安装软件是:VMware-workstation-full-16.2.3-19376536.exe,一路点击安装)
VMWare 安装完成后,有两个软件,它们都可以使用,建议使用第 2 个:
① Vmware Workstation Pro:这是收费的,可以试用 30 天。
② Vmware Workstation 16 Player:这是免费的。
注意:本文是在 Windows 10 上安装 VMware。
1.2 安装 Ubuntu
在 <开发板配套资料> 中,有 Ubuntu 映像文件。(01_100ask_stm32mp157_pro_2022.08\02_开发工具\100ask-vmware_ubuntu18.04)在某个磁盘分区里解压文件,这个分区最好有 200G 的空闲空间。
1.3 使用 VMware 运行 Ubuntu
- 启动 Vmware Workstation 16 player,这个 player 是不需要注册号的,是可以免费使用。
- 点击打开虚拟机,打开 D:\ubuntu18.04\ubuntu18.04_x64.vmx
- 点击获取所有权,点击启动按钮就可以打开虚拟机了,我已复制该虚拟机。
这个软件模拟出来一台电脑,这个电脑上面去运行这个 Ubuntu,用户名密码是 123456,在里面你就可以像操作 windows 一样来操作 Ubuntu 了。
你不想再使用这个 Ubuntu 了之后,你可以点击关闭按钮关机,你也可以点击停止按钮挂起,确定。挂起之后,以后你再次打开这个虚拟机的时候,选中它,点击播放虚拟机,它就会恢复之前被挂起的状态。
如果你对 Linux 系统还不熟悉,对 Ubuntu 操作还不熟悉,那么你就需要去看第二篇里面的后续内容,可以看文档,也可以看视频。如果你已经熟悉了 Linux 的操作,那么下一章节里面 <配置 VMware 使用双网卡> 这个一定要看,下一章节里面我们一开始还需要去配置 VMware 里面的网络。
2. Ubuntu 的基本操作
从现在开始我们来介绍一下 Ubuntu 的简单操作。我们首先介绍一下怎么去操作桌面,然后再去介绍一下使用各种命令。
2.1 Ubuntu 下打开终端
我们之前已经使用 VMware 打开了 Ubuntu。我们以后会使用到各种 Linux 命令,那么在哪里输入命令呢?
- 使用右键打开终端。你可以在桌面上点击右键 open terminal,打开终端,这时候你就可以在里面输入各种命令了,这所谓的终端跟 windows 里面的命令行是类似的,在 windows 里面我们同样可以打开所谓的命令行(快捷键 Ctrl + R),你同样可以在里面执行各种 dos 命令,比如 dir,你看在 windows 里面,你要列出这些目录的话,是 dir 命令,在 linux 里面是 ls 命令,有点差别。
- 用搜索框打开终端。我们现在回到 Ubuntu,你可以使用右键来打开终端,你也可以点击左下角,找到终端 terminal。
- 快捷键打开终端。我们还可以使用快捷键“Ctrl+Alt+T” 来打开终端。
以后我们将会在终端里面输入各种命令,但是这节我们先来体验一下桌面。
2.2 Ubuntu 系统初体验
其实 Ubuntu 发展到现在,它的桌面操作跟 windows 是非常的类似。但是
2.2.1 Ubuntu 和 Windows 的最大差别:目录
对于 Windows 我们可以打开此电脑,Windows 中每个盘符都对应某个分区,在这个分区里面你可以存放目录与文件,如图所示:
那这些盘符对于哪些分区呢,你可以打开创建并格式化硬盘分区工具,就可以看到左下方有磁盘,磁盘 0 里面前面是分区表,C 盘就对应这个磁盘里面的第一个分区,D 盘对应第二个分区,E 盘对应第三个分区;另外一个磁盘呢,你看这里有 J、K、I、L,从这里你可以看到每一个盘符都对应磁盘里面的某一个分区,Windows 这种表现方法非常的直观。但是对于 Ubuntu 呢,它就不大一样了,在 Ubuntu 里面我们可以打开文件浏览器,打开其他位置,computer,从这里你可以看到它里面有各种目录。
对于 Windows,你在此电脑里面看到的是各种盘符,但是在 Ubuntu 里面,刚才我们看到了在 computer 里面,你看到的是各种目录,你看不到任何的盘符。
好,回到 Windows,在 Windows 里面我们去访问某个文件的时候,你可以使用绝对路径。比如
C:\abc\def\hello.txt
从这个绝对路径我一下就可以知道:它位于 C 盘,它位于某一个分区里面。但是对于 Ubuntu 呢,在 Ubuntu 里面它没有盘符的概念,就比如说你想去访问某个文件的时候,比如
/abc/def/hello.txt
第一个斜杠表示它位于根目录,位于根目录下面的 abc 子目录,在 abc 子目录下面又有 def 子目录,在 df 下面有 hello.txt,从这个路径你看不出它位于哪一个分区。在 Ubuntu 中,以树状的结构表示文件夹与文件。
注意:
Windows 的绝对路径中,目录使用 “” 分隔。
Linux 的绝对路径中,目录使用 “/” 分隔。
以前在 Windows 有 C 盘、D 盘 和 E 盘,这是并列的关系;但是在 Ubuntu 里面,它是一个树状的关系。就比如说,地面上有一个树,它可以分叉,在叉里面又可以继续分叉,这就是所谓的根,这个根用斜杠来表示。我们来比划一下,在根下面有 abc 目录,还可以有其他目录,有 home 目录,有 bin 目录,有 boot 目录等等等等;在 abc 目录下面又可以有什么呢,有 def 目录,或者说还有其他目录,在 def 目录下面又有什么呢,有 hello.txt,那么我怎么找到这个 hello.txt,它就是根目录下面的 abc 子目录,abc 目录下面又有 def 目录,再下面有 hello 这个文件,这就是树状结构的意思。再比如说这 home 目录下面可能又有其他子目录,有 book 一个用户名,有其他用户名 xxx,在 book 下面又有某一个文件,那么你就可以这么访问:根目录下面找到 home 目录,找到 book 目录,在 book 目录下面你可能有一个 1.txt。
/abc/def/hello.txt
/home/book/1.txt
从这些绝对路径的表示方法里面,你看不到任何分区的信息。那么我怎么才能知道我这个文件处于哪个分区呢?那么你就可以打开 Disks 工具,从这里我们就可以看出来,我这 Ubuntu 里面只有一个磁盘,这个磁盘里面的第一个分区:
/dev/sda1
- dev:设备
- sd:表示磁盘
- a:表示第一个磁盘
- 1:表示这个磁盘里面的第一个分区
sda 这个磁盘的第一个分区,它挂载在根目录下面。
看到这里,我们又听到了一个新的概念叫挂载。就比如说对于 Windows,你可以认为 C 盘挂载了那个磁盘里面的第一个分区,D 盘挂载了那个磁盘里面第二个分区;对于 Ubuntu 呢,你看,对于这个磁盘里面的第一个分区,它作为根文件系统挂载就挂载在了根下面,以后你去访问这个根的时候,访问的就是这个分区,就比如说你在这个根下面创建了一个 hello.c,这个文件就会放在这个磁盘的第一个分区里。那同样道理,如果你想去访问根目录下面的 home,访问这个 book,你访问这个目录的时候,访问的也是这个磁盘的第一个分区。
我们再来看看这个磁盘的第二个分区挂载在哪里,你点击这个磁盘里面的第二个分区,你发现,这个磁盘 dev/sda 的第二个分区挂载在 boot 目录下面,也就是说我以后去访问根目录下面的 boot 目录,我去访问里面的文件的时候,这些文件位于这个磁盘的第二个分区,为什么呢?因为这个第二个分区挂载在 boot 目录下面。
从这里你可以看到它没有像 Windows 那么直接那么直观,在 Windows 里面我就知道了,我访问 C 盘访问的是第一个分区,我访问 D 盘访问的是第二个分区;但在 Linux 这里呢你得先确认一下第二个分区挂载在哪里,然后你才可以知道,我去访问这个挂载目录的时候,我访问的就是这个分区里面的文件。
我们再来看看,第三个分区这个不用管,这是交换分区,它并没有挂载在某一个目录下面。这里第四个分区挂载在 home 目录下面。我们现在又可以推翻前面说的话了,你刚才不是说我访问 home 目录的时候,也是去访问第一个分区吗,那现在不是了,我现在看完了整个分区的挂载信息之后才发现,第四个分区挂载在 home 目录下面