万户网络网站顾问,电子报刊的传播媒体是什么,专业网站运营设计,数字广东网络建设有限公司电话Ubuntu 系统是和 Windows 系统一样的大型桌面操作系统#xff0c;因此功能非常强大。 本节的目的是掌握后续嵌入式开发所需的 Ubuntu 基本技能#xff0c;比如系统的基本设置、常用的 shell 命令、vim 编译器的基本操作等等…… Ubuntu 的图形化界面操作和 Windows 下基本一致… Ubuntu 系统是和 Windows 系统一样的大型桌面操作系统因此功能非常强大。 本节的目的是掌握后续嵌入式开发所需的 Ubuntu 基本技能比如系统的基本设置、常用的 shell 命令、vim 编译器的基本操作等等…… Ubuntu 的图形化界面操作和 Windows 下基本一致 这里着重提一下 1. 界面分辨率设置通过右上角设置按键设置对应的分辨率 2. 输入法设置可以通过 win 空格或者右上角设置 中文输入法 1. Ubuntu(Linux) 终端操作 从这里我们开始学习 Ubuntu 操作系统的重点 —— 终端操作 Ubuntu 界面右击 打开终端 上述字符串中 前面的 “quest - qaozus” 是当前的用户名字 后面的 zhangshao - virtual - machine 是机器的名字最后面的 $ 表示当前用户是普通用户我们可以在提示符后面输入命令比如输入命令ls ls 命令用于打印出当前所在目录中所有文件和文件夹
guest-qaozuszhangshao-virtual-machine:~$ ls
examples.desktop 公共的 模板 视频 图片 文档 下载 音乐 桌面
guest-qaozuszhangshao-virtual-machine:~$
1.1 Shell 操作 首先先来介绍一个什么叫做 Shell 在学习 Linux 的过程中会频繁的看到 Shell 这个词语。简单来说 Shell 就是敲命令 国内把 Linux 下通过命令行输入命令叫做 “敲命令”国外人给这个动作起了个洋气的名字Shell 因此以后看到 Shell 这个词语第一反应就是在终端敲命令将多个 Shell 命令按照一定的格式放到一个文本中那么这个文本就叫做 Shell 脚本 严格意义上讲Shell 是一个应用程序它负责接收用户输入的命令然后根据命令做出相应的动作Shell 负责将应用层或者用户层输入的命令传递给系统内核由操作系统内核来完成相应的工作然后将结果反馈给应用层或者用户。 上面我们提到了 Shell 就是 “敲命令”那么既然是命令肯定是有格式的Shell 命令的格式如下 command -option [argument]// commandShell 命令名称
// option 选项同一种命令可能会有不同的选项不同的选项其实现的功能不同
// argumentShell 命令是可以带参数的也可以不带参数运行 同样以 ls 命令为例下面三种 ls 命令不同格式其结果也不同 ls
ls -l
ls /usr// 切记输入ls之后需要输入一个空格// ls用来打印当前目录下的所有文件和文件夹
// ls -l打印当前目录下所有文件和文件夹但是此命令会列出所有文件和文件夹的详细信息
// ls /usr用来打印出目录 /usr 下的所有文件和文件夹 Shell 命令是支持自动补全功能的因为 Shell 命令非常多如果不做自动补全的话就需要用户去记忆这些命令的全部字母 也就是输入命令的前一部分字母然后按下 TAB 键如果只有一个命令匹配的话那么会自动补全这个命令剩下的字母。如果有多个命令匹配的话再按一下 TAB 键就会列出所有匹配的命令 1.2 常用的 Shell 命令 嵌入式开发用的最多的就是 Shell 命令Shell 命令是所有 Linux 系统发行版所通用的 1. 目录信息查看命令ls 文件浏览是最基本的操作Shell 下文件浏览命令为 ls格式如下 ls [选项] [路径] ls用于显示指定目录下的内容列出指定目录下包含的所有的文件以及子目录它的主要参数有 -a显示所有文件以及子目录包括以 ‘.’(点) 开头的隐藏文件 -l显示文件的详细信息比如文件的形态、权限、所有者、大小等信息 -t将文件按照创建时间排序列出 -A和 -a 一样但是不列出 “.”(点) (当前目录) 和 “..”(父目录) -R递归列出所有文件包括子目录中的文件 Shell 命令里面的参数是可以组合在一起用的比如组合 “-al” 就是显示所有文件的详细信息包括以 “.” 开头的隐藏文件 2. 目录切换命令 cd 要想在 Shell 中切换到其他的目录使用的命令是 cd命令格式如下 cd [路径] 路径就是我们要进入的目录路径 cd / 进入根目录 / 下Linux 系统的根目录为 / cd /usr 进入到目录 /usr 下 cd .. 进入到上一级目录 cd ~ 切换到当前用户主目录 首先 cd 切换路径到目录 /usr 下然后 ls 查看该目录下的文件 3. 当前路径显示命令 pwd pwd 命令用来显示当前工作目录的绝对路径不需要任何的参数 4. 系统信息查看命令 uname 要查看当前系统信息可以使用命令 uname命令格式如下 uname [选项] 可选的选项参数如下 -r列出当前系统的具体内核版本号 -s列出系统内核名称 -o列出系统信息 5. 清屏命令 clear clear 命令用于清除终端上的所有内容只留下一行提示符 6. 切换用户执行身份命令 sudo Ubuntu(Linux)是一个允许多用户的操作系统其中权限最大的是超级用户 root有时候我们执行一些操作的时候需要用 root 用户身份才能执行比如安装软件。通过 sudo 命令可以暂时将身份切换到 root 用户。当使用 sudo 命令的时候是需要输入密码的这里要注意输入密码是没有任何提示的 sudo [选项] [命令] -h显示帮助信息 -l列出当前用户可执行与不可执行的命令 -p改变询问密码的提示符 假设我们现在要创建一个新的用户 Test创建新用户的命令为adduser创建新用户的权限只有 root 用户才有我们在装系统的时候创建的那个用户是没有这个权限的。所有创建新用户的话需要使用 sudo 命令以 root 用户执行 adduser 这个命令 我们一开始直接使用 adduser test 来添加用户的时候提示我们只有 root 才能将用户或组添加到系统。 所以我们要在前面加上 sudo 命令表示以 root 用户执行 adduser 操作 7. 添加用户命令 adduser 在上一个命令中已经使用过了 adduser此命令需要 root 身份去运行。 adduser [参数] [用户名] 常用的参数如下 -system添加一个系统用户 -home DIRDIR表示用户的主目录路径 -uid IDID表示用户的uid -ingroup GRP表示用户所属的组名 8. 删除用户命令 deluser 既然有创建用户的命令那么一定也有删除用户的命令删除用户的命令 deluser deluser [参数] [用户名] -system当用户是一个系统用户的时候才能删除 -remove-home删除用户的主目录 -remove-all-file删除与用户相关的所有文件 -backup备份用户信息 同样的命令 deluser 也要使用 sudo 来以 root 用户运行 9. 切换用户命令 su 在学习 sudo 命令的时候说道sudo 是以 root 命令身份执行一个命令并没有更改当前的用户身份可以简单的理解是就是当前的 Shell 语句变成了 root 身份下一条语句又会变回普通用户的身份但是命令 su 可以直接将当前的用户身份切换到 root 身份这个意思就是说不只是当前的 Shell 语句下一条语句不加 sudo 也是在 root 身份下运行的表示可以尽情的实现任何操作了因为已经获取到了系统的最高权限 su [选项] [用户名] -c -command执行指定的命令执行完毕后恢复原用户身份 -login改变用户身份同时改变工作目录和 PATH 环境变量 -m改变用户身份的时候不改变环境变量 -h显示帮助信息 此时表示切换到了 root 身份 注意由于 root 用户的权限太大稍微不注意就可以删除掉系统文件导致系统崩溃因此强烈建议不要以 root 用户运行 Ubuntu。当用到 root 身份执行某些命令的时候使用 sudo 命令即可 10. 显示文件内容命令 cat 查看文件内容是最常见的操作在 windows 下可以直接使用记事本查看一个文本文件内容Linux 下也有类似记事本的软件叫做 gedit找到一个文本文件双击打开默认使用的就是 gedit Shell 下命令 cat 也是实现读取文件内容的 cat [选项] [文件] -n由 1 开始对所有输出的行进行编号 -b和 -n 类似但是不对空白行编号 -s当遇到连续两个行以上空白行的话就合并为一个行空白行 11. 显示和配置网络属性命令 ifconfig ifconfig 是一个跟网络属性配置和显示密切相关的命令通过此命令可以查看当前网络属性也可以通过此命令配置网络属性比如设置网络 IP地址 ifconfig interface options | address interface网络接口名称比如 eth0 等 up开启网络设备 down关闭网络设备 addIP 地址设置网络 IP 地址 netmask add子网掩码 12. 系统帮助命令 man Ubuntu 系统中有很多命令这些命令都有不同的格式不同的格式对应不同的功能要完全记住这些命令和格式几乎是不可能的必须要有一个帮助手册 Ubuntu 提供了一个命令来帮助用户完成这个功能就是 man 命令通过 man 命令可以查看其他命令的语法格式、主要功能、主要参数说明等man 命令格式如下 man [命令名] 13. 系统重启命令 reboot 通过 Ubuntu 主界面右上角的齿轮按钮来选择关机或者重启系统同样我们也可以使用 Shell 命令 reboot 来重启系统直接输入命令 reboot 然后点击回车键即可 14. 系统关闭命令 poweroff 使用 poweroff 命令可以直接关闭系统在终端输入命令 poweroff 然后按下回车键即可关闭 Ubuntu 系统 15. 软件安装命令 install Ubuntu 系统类似于 Windows 系统如何在 Ubuntu 下安装软件因为 Ubuntu 安装软件不像 Windows 下那样直接点击 .exe 文件就可以安装了。 Ubuntu 下很多软件是需要自行下载源码的下载源码以后自行编译编译完成以后使用命令 install 来安装。 install [选项]... [-T] 源文件 目标文件
或install [选项]... 源文件 目录
或install [选项]... -t 目录 源文件...
或install [选项]... -d 目录... install 命令是将文件通常是编译后的文件复制到目的位置 1.3 APT 下载工具
对于长时间使用 Windows 的我们下载安装软件非常容易Windows 下有很多的下载软件 Ubuntu 同样有不少的下载软件。
本节我们学习用的最多的下载工具APT 下载工具APT 下载工具可以实现软件自动下载、配置、安装二进制或者源码的功能。
APT 下载工具和我们前面讲解的 install 命令结合在一起构成了 Ubuntu 下最常用的下载和安装软件方法 APT 采用 C/S 模式也就是客户端/服务器模式我们的 PC 机作为客户端当需要下载软件的时候就向服务器请求因此我们需要知道服务器的地址也叫做安装源或者更新源。 APT 工具常用的命令如下 1. 更新本地数据库 如果想要查看本地哪些软件可以更新的话可以使用如下命令 sudo apt - get updata 这个命令会访问源地址并且获取软件列表并保存在本电脑上 2. 检查依赖关系 有时候本地某些软件可能会存在依赖关系所谓依赖关系就是 A 软件依赖于 B 软件。通过如下命令可以查看依赖关系如果存在依赖关系的话 APT 会提出解决方案 sudo apt - get check 3. 软件安装 安装软件使用如下命令 sudo apt - get install package - name 可以看出上述命令是由 apt - get 和 install 组合在一起的package - name 就是要安装的软件名字apt - get 负责下载软件install 负责安装软件。 比如我们要安装软件 Ubuntu 下的串口工具 “minicom”我们就可以使用如下命令 sudo apt - get install minicom 执行上述命令以后就会自动下载和安装 minicom 软件 4. 软件更新 有时候我们需要更新软件更新软件的话使用命令 sudo apt - get upgrade package - name 其中 package - name 为要升级的软件名字比如我们升级刚刚安装的 minicom 这个软件 5. 卸载软件 如果要卸载某个软件的话使用如下命令 sudo apt - get remove package - name 其中 package - name 是要卸载的软件 1.4 Ubuntu 下文本编辑 进行文本编辑最常用的就是Gedit。Gedit 是一个窗口式的编译器本节我们学习VI/VIM编译器。 VIM 编译器是 VI 编译器的升级版本VI/VIM 编译器都是一种基于指令式的编译器不需要鼠标也没有菜单仅仅使用键盘来完成所有的编辑工作
安装 VIM
sudo apt-get install vim// 如果出现没有权限访问 root 的话只需要将客人模式转换成个人用户输入密码即可
安装完成以后就可以使用 VIM 编译器了VIM 编译器有 3 种工作模式输入模式、指令模式和底行模式通过切换不同的模式可以完成不同的功能
在终端输入 test.txt 就会创建一个 vim 的文档
此时创建的文档是根本无法输入的。因为默认的 VIM 默认是以只读模式打开的文档因此我们要切换到输入模式切换到输入模式的命令如下
i 在当前光标所在字符的前面吗转为输入模式I 在当前光标所在行的行首转换为输入模式a 在当前光标所在字符的后面转为输入模式A 在光标所在行的行尾转换为输入模式o 在当前光标所在行的下方新建一行并转为输入模式O 在当前光标所在行的上方新建一行并转为输入模式s 删除光标所在字符r 替换光标处字符 最常用的就是 a 当我们在键盘上按下 a 的时候终端会提示 插入 的字样表示我们进入到了输入模式 此时也表示我们可以正常的输入文本了
注意Ctrl s 可以在 Windows 系统下保存文档但是在 Ubuntu 下是不可以保存的
Ubuntu 下保存文档需要从现在的输入模式切换到指令模式方式是按下键盘的 ESC 键按下 ESC 键以后终端左下角的插入字样就会消失此时就不可以输入文本了如果此时还需要输入文本那么就需要重新输入 a 进入输入模式 指令模式顾名思义就是输入指令的模式这些指令是控制文本的指令 1. 移动光标指令 h或左方向键 光标左移一个字符 I或右方向键 光标右移一个字符 j或下方向键 光标下移一行 k或上方向键 光标上移一行 nG 光标移动到第 n 行首 n 光标下移 n 行 n- 光标上移 n 行 2. 屏幕翻滚指令 Ctrl f 屏幕向下翻一页相当于下一页 Ctrl b 屏幕向上翻一页相当于上一页 3. 复制、删除和粘贴指令 cc 删除整行并且修改整行内容 dd 删除整行不提供修改功能 ndd 删除当前行向下 n 行 x 删除光标所在的字符 X 删除光标前面的一个字符 nyy 复制当前行及下面 n 行 p 粘贴最近复制的内容 通过上面的内容可以看到还是没有保存文本的命令
因为保存文本的命令在底行模式中我们要先进入指令模式进入底行模式的方式是先进入指令模式下然后在指令模式下输入 进入底行模式
进入底行模式以后终端的左下角就会出现符号(冒号)我们可以在冒号的后面输入命令常用的命令如下
x 保存当前文档并退出q 退出w 保存文档q 退出 VI/VIM不保存文档 当我们保存文档以后可以使用 cat 来查看刚刚新建的 test.txt 文档的内容 除了可以在指令模式下输入冒号进入底行模式之外还可以在指令模式下输入 “/” 进入底行模式
在底行模式下我们可以文本搜索指定的内容比如说搜索 test.txt 文件中的 “嵌入式” 三个字按下回车键就可以找到与字符串 “嵌入式” 匹配的部分 1.5 Linux 文件系统
1.5.1 Linux 文件系统简介 操作系统的基本功能之一就是文件管理而文件的管理是由文件系统来完成的。Linux 支持多种文件系统本节我们来学习 Linux 下的文件系统、文件系统类型、文件系统结构和文件系统相关的 Shell 命令 操作系统就是处理各种数据的这些数据在硬盘上就是二进制人类是不能直接看懂这些二进制数据的要先有一个翻译器将这些二进制的数据还原为人类能看懂的文件形式这个工作就是由文件系统来完成的文件系统的目的就是实现数据的查询和存储由于使用场合、使用环境的不同Linux 有多种文件系统不同的文件系统支持不同的体系。文件系统是管理数据的而可以存储数据的物理设备有硬盘、U盘、SD卡等。不同的存储设备其物理结构不同不同的物理结构就需要不同的文件系统去管理比如管理 NAND FLASH 的话使用 YAFFS 文件系统管理硬盘、SD卡的话就是 ext 文件系统等等 将一个磁盘分为 C 盘、D盘等等称作磁盘的分割Linux 下也支持磁盘分割Linux 下常用的磁盘分割工具为fdisk在 Windows 下我们创建一个新的盘符以后都要做格式化处理格式化其实就是给这个盘符创建文件系统的过程同样的在 Linux 下我们使用 fdisk 创建好分区以后也是要先在创建好的分区上面创建文件系统也就是格式化。 Windows 下有磁盘分区的概念可以分为 C、D 盘但是 Linux 下没有这个概念因此在 Linux 下找不到像 C、D、E盘这样的东西在Linux下创建好一个分区并且格式化以后我们要将其 “挂载” 到一个目录下才能访问这个分区。Windows 的文件系统挂载过程是其内部完成的用户是看不到的Linux 下我们使用 mount 命令来挂载磁盘。挂载磁盘的时候是需要确定挂载点的也就是你的这个磁盘要挂载到哪个目录下。
1.5.2 Linux 文件系统类型 Windows 下有 FAT、NTFS 和 exFAT 这样的文件系统在 Linux 下又有哪些文件系统呢 Linux 下的文件系统主要是ext2、ext3 和 ext4 等文件系统。Linux 还支持其他的 UNIX 文件系统比如 XFS、JFS、UFS等也支持 Windows 的 FAT 文件系统和网络文件系统 NFS 等。
ext2 文件系统 ext2 是 Linux 早期的文件系统但是随着技术的发展 ext2 文件系统已经不推荐使用了ext2 是一个非日志文件系统,大多数的 Linux 发行版都不支持 ext2 文件系统了。
ext3 文件系统 ext3 是在 ext2 的基础上发展起来的文件系统完全兼容 ext2 文件系统ext3 是一个日志文 件系统ext3 支持大文件ext3 文件系统的特点有如下 高可靠性使用 ext3 文件系统的话即使系统非正常关机、发生死机等情况恢复 ext3 文件系统也只需要数十秒。 数据完整性ext3 提高了文件系统的完整性避免意外死机或者关机对文件系统的伤害。 文件系统速度ext3 的日志功能对磁盘驱动器读写头进行了优化文件系统速度相对与 ext2 来说没有降低。 数据转换从 ext2 转换到 ext3 非常容易只需要两条指令就可以完成转换。用户不需要花 时间去备份、恢复、格式化分区等用 ext3 文件系统提供的工具 tune2fs 即可轻松的将 ext2 文 件系统转换为 ext3 日志文件系统。ext3 文件系统不需要经过任何修改可以直接挂载成 ext2 文 件系统。
ext4 文件系统 ext4 文件系统是在 ext3 上发展起来的ext4 相比于 ext3 提供了更佳的性能和可靠性并且功能更丰富ext4 向下兼容 ext3 和 ext2因此可以将 ext2 和 ext3 挂载为 ext4。 如果想知道我们安装的 Ubuntu 使用的哪个版本的文件系统呢可以在终端中输入命令查询
df -T -h 框起来的就是我们安装的 Ubuntu 这个磁盘在 Linux 下一切皆为文件“/dev/sdal” 就是我们的磁盘分区可以看出这个磁盘分区类型是 ext4它的挂载点是 “/”也就是根目录