在进入裸机开发之前,先复习了一些 linux 的基础知识,我们一般使用 ubuntu 的系统,在开发中我们一般在 vmware 虚拟机下进行,主要使用Linux系统进行编译的操作。

一开始只要将 vmware 和 ubuntu 的镜像文件安装好能运行即可,基本上在百度完成,在U盘的连接到虚拟机可以快速切换,之前并不知道。

我们可以先在 vmware 中的编辑 -> 首选项中进行 USB设备插入时的选择,一般默认是我们自行选择,一般是连接到主机。我们可以在系统下面进行选择。

Linux 终端操作和shell 命令

复习一些命令:

目录查看:ls

目录切换:cd

当前路径显示:pwd

系统信息查看:uname

清理屏幕命令:clear

显示文件内容:cat

切换用户身份:sudo

文件拷贝:cp

移动文件(重命名):mv

创建文件夹:mkdir

创建文件:touch

删除命令:rm

目录删除:rmdir

显示网络配置:ifconfig

重启:reboot

关机:poweroff

系统帮助:man

数据同步写入磁盘:sync

查找文件:find

查找内容:grep(字符串这类)

文件夹大小查看:du

磁盘空间检查:df

利用gedit打开文件:gedit

系统进程查看:ps

进程实时运行查看:top

文件类型查看:file

这些命令都可以通过加参数来实行更多功能。

ubuntu 下的软件安装

五种方法:

1.ubuntu 自带的APP商店(不常用)

2.sudo apt-get install xxx (最常用)

3.deb 软件包安装 (可用,类似于 .exe)

4.自己下载源代码编译安装(有).tgz 压缩文件(百度)

5.其他。例如:QT(.run)

我们一般正常使用第二种方法就行,后面还需要学习 makefile 的用法。

ubuntu文件系统结构

只要有一个大概了解就行,具体碰到可以再去百度。

文件系统:

/ 是根目录 -> 类似于大树的根。

另外有一个就是绝对路径,相对路径:./,../

ubuntu的磁盘管理

ubuntu下的磁盘文件:

/dev/sdx 文件,这是磁盘设备文件,并不能直接询问,要进行挂载到某一目录下才能访问。

在/dev文件夹下,一般有内部磁盘和外部磁盘,在ubuntu系统中一般是已经挂载好,我们需要自己卸载并挂载。但是在ubuntu系统下插入U盘还是自动挂载(默认挂载)。

命令:df 列出系统的整体磁盘的使用量。

​ du 查看某一个目录,文件的大小。(使用量)

硬盘挂载/卸载

挂:mount

卸:umount

要注意不能使U盘处于使用状态下,记得 + sudo

格式:mount /dev/sdx /mnt

​ 设备 挂载点

挂载出现中文乱码,将格式改为 utf-8。

umount /mnt 直接卸载。

磁盘分区

命令:fdisk 记得 + sudo

我们主要使用 U 盘进行分区操作。

sudo fdisk /dev/sdb 分区命令

d:删除

n:创建

p:列出分区列表

分区之前要先卸载。

创建完分区之后要进行格式化:

mkfs -t type device

例:mkfs -t vfat /dev/sdb1

ubuntu的压缩和解压缩

在ubunut(linux)下的常见压缩格式:.tar .tar.bz2 .tar.gz

在windows下一般使用的压缩工具是bandzip 或者 7zip 都可以。

gzip压缩工具:

负责压缩和解压缩 .gz 文件

命令:gzip xxx (压缩)

​ gzip -d xxx.gz (解压缩)

​ gzip -r xxx (对文件下的文件进行压缩,但不进行打包)

​ gzip -rd xxx (对文件夹解压)

bzip2压缩工具:

负责 .bz2 的文件的压缩和解压缩

命令:bzip2 -z xxx (压缩)

​ bzip2 -d xxx.bz2 (解压缩)

​ bzip2 -z bzip2text/ * (对文件进行压缩,可用通配符)

tar打包工具:

提供打包服务,不仅提供打包和解包功能,还有压缩和解压的功能。

命令参数:

-f :用归档文件

-c :创建归档

-x :解归档

-j :针对bzip2的文件

-z :针对gzip

-v :打印命令执行

例:

tar -vcf test.tar test (将test打包为test.tar)

tar -vxf test.tar (解包)

对.tar.bz2进行压缩和解压缩

tar -vxjf xxx.tar.bz2 (解)

tar -vcjf xxx.tar.bz2 (压)

对.tar.gz进行压缩和解压缩

tar -vxzf xxx.tar.gz (解)

tar -vczf xxx.tar.gz xxx (压)

其他格式的压缩和解压

.rar格式:

命令:

rar x xxx.rar (解压)

rar a xxx.rar (压缩)

.zip格式

命令:

zip -rv xxx.zip xxx (压缩)

unzip -v xxx.zip (解压)

ubuntu的用户和用户组

linux用户:linux系统是多用户的操作系统,在ubuntu下有三种用户:

① 初次用户

② root用户

③ 普通用户

权限:root > 初次 > 普通

初次用户其实就是我们第一次进入系统时创建的用户,初次用户可以创建普通用户。

在linux中,用户记录主要在 /etc/passwd 文件中,每一个用户都有一个ID 叫做 UID,密码则是存在 /etc/shadow 文件中,密码是不会明文显示的。

在用户名之后的第一个数字就是UID,第二个数字就是GID(组ID)。

linux用户组:

为了便于管理,系统将用户进行分组,对访问权限等做了对应的设置,每个用户都可以属于多个不同的用户组。UID -> GID 可以在 /etc/Group 中进行查看。

用户和用户组的创建:

命令:添加用户 adduser;例:adduser dongzh

​ 用户查询 finger;例:finger 用户名

​ 修改用户密码:passwd;例:passwd 用户名

​ 删除用户:deluser;例:deluser 用户名

​ 添加用户组:addgroup;例:addgroup 用户组名

​ 显示组内用户名:groups;例:groups 用户组名

​ 删除:delgroup;例:delgroup 用户组名

一般需要加上 sudo 才能使用。

ubuntu的文件权限

文件权限指的是不同的用户和用户组对于某个文件拥有的权限,分为三种:

r :读

w:写

x:执行

如上图所示,在一个文件前都有10个参数对其进行说明,第一个字母表示的文件类型,b表示块设备,一般还有字符设备等。

剩下的九位分为三组,前三位是用户权限,中三位是用户组权限,后三位是其他用户权限,每三位都表示 rwx ,如上就是 110110000 (二进制),转化为十进制就是660。

修改文件的权限/用户:

权限命令:chmod 例:chmod 777 文件名

更改用户:chown 例:chown 用户名 文件名

更改用户组:chown 例:chown . 用户组名 文件名

用户和用户组都改:chown 例:chown 用户名. 用户组名 文件名

一定记得加上sudo

linux连接文件

在linux系统之中,连接文件一般分为两种:符号连接(软连接)和硬连接,其中符号链接有点类似于windows下的快捷方式,而硬连接是通过inode连接产生新文件名。

inode:记录文件属性,一个文件一个,相当于文件的ID。

创建连接:

命令:ln

格式:ln [选项] 源文件 目标文件

选项:-s :创建符号连接

​ 不加 :默认硬连接

​ -f :强制创建连接文件,若是目标存在,先删再建