【北京迅为】iTOP-4412全能版使用手册- 第五章 Linux常用命令

iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、陀螺仪、CAN总线、RS485总线、500万摄像头等模块,稳定运行Android 4.0.3/Android 4.4操作,系统通用Linux-3.0.15+Qt操作系统(QT支持5.7版本),Ubuntu版本:12.04,接口智能分配 方便好用。


第五章 Linux常用命令

5.1 Ubuntu基本操作

本小节介绍一下 Ubuntu 的基本知识,让您熟悉一下 Ubuntu 的操作界面,特别是学会使用 Ubuntu 的命令行。在 Ubuntu 下操作,尽可能的去使用命令行,虽然刚开始会觉得很别扭,而且 Ubuntu 自带了界面,用鼠标也可以完成部分操作,但是这里还是强烈建议新手直接使用 Ubuntu 命令行,我们进行嵌入式开发很多情况下都要使用命令的方式来工作。

装好虚拟机以及 Ubuntu 之后,进入下图所示的界面。

2)单击上图红色框中的"Power on this vitual machine",开启虚拟机,进入Ubuntu。如下图,进入"iTop-4412"登录界面,这个用户名"iTop-4412"是前面安装Ubuntu 时输入用户密码的。在"Passwd"中输入密码"topeet",密码也是安装 Ubuntu 的时候设置的。输入密码,回车。

需要注意的是,这里还有一个来宾用户,不要使用来宾用户,直接使用如下图所示的"iTOP-4412"用户,这是一个 admin 用户。

3)如下图,进入 Ubuntu 图形界面,同时按住按键"Ctrl"+"Alt"+"t"。

4)如下图,弹出 Ubuntu 命令行终端,终端里面可以输入 Linux 命令。需要注意的是,这里 Linux 命令,和 2.3.2 小节中的超级终端的"文件系统模式"中,输入的命令是类似的。

按住按键"Ctrl"+"d",就可以退出 Ubuntu 命令行终端。

5)如上图,Ubuntu 命令行终端是属于 Ubuntu 图形界面系统的终端,用户可以尝试进入原始的类似 DOS 系统的终端。按住按键"Ctrl"+"Alt"+"F1",如下图,出现类 Dos 系统的终端。

  1. 需要返回 Ubuntu 的图形界面,按住按键"Ctrl"+"Alt"+"F7"。类 DOS 界面的终端,一共可以打开六个,命令分别是,"Ctrl+Alt+F1","Ctrl+Alt+F2"依此类推。

5.2 Linux常用命令

本节介绍 Linux 的基本概念和命令,如果以前没有接触过 Linux 命令,可以参考群共享的文档"华为的内部 Linux 教程"来做一下基础练习。在后面开发板的使用过程中,几乎所有的操作都需要用到 Linux 命令。

用户文件夹

如下图,这个文件夹是用户文件夹,所有和程序相关的代码、压缩包等等,如果没有特殊说明,都是放到这个文件夹中。

显示命令

语法:ls [选项] [路径]

功能:显示指定工作目录下的内容

主要参数举例:

-a 显示所有文件以及目录。

-l 列出文件名称外,还将文件形态、权限、拥有者、文件大小等详细信息列出。例如:ls -l

查看当前工作路径

语法:pwd

功能:显示当前工作目录的绝对路径

主要参数:无例如:pwd

切换目录

语法:cd [路径]

功能:切换到指定路径下主要参数:无

例如:切换到/home 文件夹下,cd /home

清屏

语法:clear

功能:清楚屏幕上的所有内容,只保留当前提示符,并显示在新屏幕的第 1 行

显示和配置网络属性

语法:ifconfig [interface]

功能:查看或设置网络设备属性主要参数:

interface:网络接口的名称,如 eth0(网卡); up:激活网络设备;

down:关闭网络设备;

add:IP 地址,即设置网络设备地址; netmask add:子网掩码。

例如:ifconfig

显示网络配置,下图中红色方框中是 IP 地址,在后面会用到。

新建文件夹

语法:mkdir [文件夹名]

功能:新建一个目录

主要参数:

-p 如果给出的路径父目录不存在,则同时创建父目录

例如:mkdir iTop

删除命令

语法:rm [选项] [文件以及文件夹]

功能:删除档案及目录

主要参数:

-i 删除前逐一询问确认;

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认;

-r 将目录及以下之档案亦逐一删除

例如:rm -rf iTop

压缩和解压命令

语法:tar [选项] [文件目录列表]

功能:对文件目录进行打包备份

主要参数:

-c 建立新的归档文件

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

可以这样记忆,创建新的文件是 c,追加在原有文件上用 r,从文件中解压出用 x

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作 ---似乎一直都要用 f,不然的话,可能会不显示

-z 调用 gzip 来压缩归档文件,与-x 联用时调用 gzip 完成解压缩

-Z 调用 compress 来压缩归档文件,与-x 联用时调用 compress 完成解压缩

例如:tar -vcf iTop.tar.gz iTop

tar -vxf iTop.tar.gz

拷贝命令

语法:cp [选项] 源文件或目录 目标文件或目录

功能:拷贝文件

主要参数:

-a 该选项保留链接、文件属性,并递归地拷贝目录,其作用等于 dpR 选项的组合。

-d 拷贝时保留链接。

-f 删除已经存在的目标文件而不提示。

-i 与 f 命令相反,在覆盖目标文件之前将给出提示要求用户确认。回答 y 时目标文件将被覆盖,是交互式拷贝。

-p 此时 cp 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

-r 若给出的源文件是一目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

-l 不作拷贝,只是链接文件。

例如:先新建一个文件夹 iToptest,然后拷贝cp -r iToptest iTop

帮助命令

语法:man

功能:阅读参考手册例如:man -ls

输入"Q"可以退出阅读模式 大写命令的输入方法为按键"Shift+字母"

这里需要注意一下,man 命令是很重要的,这个命令学会了,所有的其他命令都不是问题。在 man 命令中,都是英文解释,包括很多帮助和说明文档都是英文,这也是为什么会给大家强调,学习 Linux 的时候,开发软件尽量用英文的原因。

另外,Linux 基本命令就只能讲到这里了,更多的基本命令,在需要使用的时候再去利用网络去学习对应的命令。

5.3 Ubuntu中启用root用户

Ubuntu 中的 root 用户,在初装系统时,是被禁用的。

在安装过程中,提示创建的用户是被分到 admin 组的,使用 admin 组的用户,可以启用并设置 root 帐户的密码。前面提到的用户 topeet 就是属于 admin 组的用户。

如果用户使用的是"搭建好的镜像",则不需要启动 root 用户;因为在搭建好的镜像中,已经启用了 root 用户。

下面给大家介绍启用 root 账号的方法。先打开 Ubuntu 终端。

在 Ubuntu 命令行中,输入命令: sudo passwd

接着根据提示,输入当前用户的密码接着输入超级用户的密码 2 次。

然后就会提示 root 账户密码启动成功。

然后如下图,在 Ubuntu 命令行中,输入登录命令: su root

xxx xxx 表示用户设置的 root 账户密码

如下图,输入"Ctrl"+"d",可以退出 root 用户,进入 admin 用户。

每次重新打开 Ubuntu,如果想要执行最高权限的命令,都需要先登录 root 用户。例如后面的小节要讲的下载命令等都需要 root 用户。

5.4 Ubuntu更改数据源

安装软件需要使用"apt-get"命令,在使用这个命令的时候,需要 Ubuntu 系统联网。在使用这个命令的时候,系统根据文件"sources.list"来下载和安装软件,文件"sources.list"包含了数据源的地址,数据源放在世界各地的服务器中,给大家推荐使用的数据源是国内的 163 源,更新速度比较快。另外,执行 apt-get 命令,需要 root 权限。

5.4.1 查看数据源文件

数据源文件" sources.list ",这个文件中存贮了下载源的地址,用户知道有这个文件就可以了,不用深入研究。

ls /etc/apt/

5.4.2 修改数据源地址

数据源的服务器分布在世界各地,默认安装的 Ubuntu 数据源应该是美国的地址,为了后面下载更新速度更快,需要修改一下数据源地址。

1)如下图,单击红色框中的"齿轮"按钮,然后单击椭圆框中的选项"Updates Available......"。

2)系统弹出如下图界面,需要注意的是,在下图的界面中,不要轻易完全更新,更新后Ubuntu 的图形界面,一般就不能直接使用了,需要重新装显卡驱动。这里单击红色矩形框中的按钮"Setting"。

3)如下图,选上"Ubuntu Software",然后单击椭圆框中的复选框。

4)如下图,单击"Other"。

5)如下图,在红色框中选择国内的服务器

6)如下图,选择 163 服务器,单击按钮"Choose Server"。

7)如下图,输入用户密码,单击"Authenticate",数据源地址修改完毕。

5.4.3 更新数据源

修改了数据源的地址后,然后需要使用命令"apt-get update"用来更新数据源列表, 数据源会不定期的更新,用户需要及时更新,不然部分软件可能无法安装,如下图,在Ubuntu 命令行中,输入命令"apt-get update"

如下图,更新完毕。

5.5 Ubuntu安装基本软件

"apt-get install"命令是安装和更新软件的命令。如果用户自己安装的 Ubuntu 系统,那么就有几个基本软件需要安装。

如下图,安装 vim 编辑器。在 Ubuntu 命令行中,输入命令"apt-get install vim"。

如上图,在使用命令" apt-get install "安装和更新软件过程中,可能需要用户选择一下, 常见的选择包括如下图"Y/n",回车按键"Enter"等,用户在使用" apt-get install "中, 直接选择确定就可以了。如下图,更新完成。

如下图,安装 SSH 软件。在 Ubuntu 命令行中,输入命令"apt- get install ssh"。

如下图,安装完成。

安装工具"uboot-mkimage"。在 Ubuntu 命令行中,输入命令"apt-get install uboot-mkimage",

如下图,更新完成。

5.6 vim编辑器

虚拟机联网后,使用命令"apt-get install"安装。

在 root 用户下,在 Ubuntu 命令行中,输入命令"apt-get install vim"。

5.6.1 打开文件以及新建文件

Vim 打开一个不存在的文件,就可以创建文件该文件,如下图,在 Ubuntu 命令行中, 输入命令

vim test 新建一个名为 test 的文件

如下图,因为本来不存在这个文件,所以新建了一个空的文件。

如果要退出文件。首先按键盘的"shift+冒号",然后在文件的底行可以输入命令,如果在文件的最底行输入"q+!+回车",则不保存文件退出;如果保存文件则输入"wq+回车"。保存后退出, 可以看到文件夹下面有一个新建的文件"test";不保存退出,则没有"test"文件。

Vim 打开文件的命令还有:

vim +n filename 打开文件,将光标置于第 n 行首。

如下图,输入帮助命令会有 vim 命令组合的详细说明"vim --help"。

5.6.2 三种模式的切换

学习 Vim 编辑器,首先要掌握它的三种模式。这三种模式分别是:指令模式,输入模式,底行模式。Vim 编辑器有大量的命令,不同的命令只能在相对应的模式下使用。

如下图,用户新建一个文件"vim test",进入文件之后就是指令模式,注意因为这个文件是空的,所以很多操作无效。在了解后面输入模式之后,向文件里面添加了部分内容之后, 再进行指令操作

指令模式可以切换到底行模式,按键盘"shift+冒号",进入底行模式,如下图,底行模式可以输入查找命令,退出等。

然后退出底行模式,切换到指令模式,按键盘"Esc"。

切换到指令模式后,再切换到输入模式,按键盘"Insert",如下图,在文件的最下面一行出现"Insert",高亮光标出现在第一行第一列。

在输入模式中,才可以给文件添加内容,如下图,输入模式中的基本操作比较容易掌握。例如:回车代表换行,方向键代表上下翻动文本等。

如下图,在文件中,输入"iTop-4412","回车","helloworld!","回车"。

在输入模式中,按键盘"Esc",切换到命令模式,然后按键盘"shift+冒号",进入底行模式。在底行模式中,才输入退出编辑器的命令。这里需要注意的是,如果仅仅输入"q" 是无法退出的,在修改了文件之后,如果不保存退出,必须输入"q!",如果要保存退出则输入"wq"。

5.6.3 vim编辑器常用基本命令

这里给大家介绍三种模式中最基本的,最常用的几个命令。如果用户以前没有接触过 Vim 编辑器,下面给大家介绍的命令可以都敲一敲,掌握了下面几个命令,一般的操作都没有问题了。

命令行模式

四个方向按键 移动高亮显示的光标

G 光标置于文本最后一行,最后一列。大写输入为按键"Shift+g"

gg 光标置于文本第一行,第一类。

dd 删除光标所处行的所有内容。连按两次按键"d"

按键 delete 删除光标高亮显示的字符。键盘"Delete"

输入模式

四个方向按键 移动高亮显示的光标

按键 delete 删除光标高亮显示的字符。按键盘"Delete"

按键 Backspace 删除光标高亮显示字符的前一个字符。按键盘"Backspace"

底行模式

q 文档没有修改,退出不保存

q! 文档修改过,退出不保存w 保存文档

wq 保存退出

按键"/"+"字符" 查找"字符"

底行模式中,输入的命令可以通过方向按键上翻下翻命令

在这里只能做简单的入门介绍。用户只要入门了,跨过了最基本的一步,就可以自行研究和学习了。在网盘中,有关于 Vim 编辑器命令的文档"iTOP-4412 开发板视频教程及其相关\01-迅为电子开发板入门视频\视频 06_03Vim 编辑器常用基本命令\linux 下 vim 使用详解.pdf",如果用户以前没有接触过,学习了本章节的内容后,可以参照文档练习一下。

5.7 grep和find

本节介绍极其重要和强大的 find 以及 grep 命令。

这里需要注意的是,grep 和 find 命令是在用户逐渐使用的过程中学习和理解,在后面调试程序的过程中会大量用到的,非常实用。

5.7.1 find命令

Linux 下 find 命令在目录结构中搜索文件,并执行指定的操作。Linux 下 find 命令提供了相当多的查找条件,功能很强大。由于 find 具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。 在运行一个非常消耗资源的 find 命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。后台运行只需要在命令中添加空格+&字符即可。

命令格式

find pathname -options [-print -exec -ok ...]

命令功能:

用于在文件树中查找文件,并作出相应的处理。

find 命令的参数以及选项,用户可以通过网络或者 man 命令来学习,这方面的资料非常多,man 命令如下图所示。

find 命令举例。

如下图所示,在 Ubuntu 中将内核源码解压之后,进入该目录。

假如想查找 led 的驱动,用户最好将内核先编译,因为编译之后会生成.o 文件,那么我们搜索的时候就可以将.o 作为关键字。如下图所示,使用命令"find ./ -name *led*.o",命令中的*表示缺省,可以为任意字符。这里就可以非常快的搜索出 led 的驱动文件以及所在的目录。

5.7.2 grep命令

Linux 系统中 grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep 全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

grep 命令格式:

grep [options]

grep 命令的参数可以使用 man 命令或者网络来学习。

结合前面介绍的 find 命令,我们先进入 led 驱动所在的目录,然后使用 grep 命令,如下图所示。

在应用中,在系统编程中,我们会调用 ioctl 函数来控制 led 的亮灭,这里我们想搜索"ioctl"关键字。如下图所示,使用命令"grep 'ioctl' -rn *"。

如上图所示,这里搜索出来的太多,所以还需要限定范围。使用命令"grep 'ioctl' -rn *led*",这个命令表示,在当前目录下,文件名称中包含"led"的文件中搜索并打印出"ioctl"的行,如下图所示。

grep 命令还有很多其他用法,例如可以将 grep 和 find 命令结合使用,可以添加输出重定向的命令(不在控制台打印,而保存为文本格式),这里只是抛砖引玉,更多的用法需要用户去自行学习。

5.8 Linux补丁命令patch和diff介绍

linux 系统针对代码有生成补丁的命令 diff 和打补丁的命令 patch。diff 和 patch 命令, 参数非常多,但是大多数情况下,只需要学会生成补丁文件、打补丁和能够看懂补丁文件就成。

5.8.1 生成补丁

例如:有 hello1.c 和 hello2.c 两个文件,两个文件中的内容如下图所示。这里假设, hello1.c 为低版本文件,hello2.c 为高版本文件。

如上图所示,如果想生成将 hello1.c 升级为 hello2.c 的补丁文件,则使用命令"diff hello1.c hello2.c > test.patch",如下图所示,可以看到生成了"test.patch"补丁文件,一般情况补丁文件后缀名使用 patch。

diff 命令后面跟的第一个参数为低版本文件;第二个参数是高版本文件;">"符号后是要生成的补丁文件名称。

5.8.2 patch文件介绍

如果要将前一小节的 hello1.c 升级为 hello2.c,则需要将 hello1.c 文件第二行替换为"hello2",增加第三行"hello2"。

打开上一小节生成的补丁文件,如下图所示。

如上图所示,补丁文件第一行"2c2,3",c 的前面表示低版本文件要开始修改的行数;c 的后面表示要修改的行数区间。

"<"后面紧跟要删除的内容,"< hello1"结合补丁文件第一行"2c2,3",意思是,低版本文件要删除第二行"hello1"

">"后面紧跟要增加的内容,"> hello2 \ >hello2"结合补丁文件第一行"2c2,3",意思是,低版本文件要在第二行和第三行增加"hello2"和"hello2"。

当然,补丁文件还有稍微复杂点的内容,其中会有不改动文件内容的描述,但是总体说来是很简单的。用户可以自己写长一点的文件,做几次测试很快就能理解复杂一些的补丁文件。

5.8.3 patch命令介绍

打补丁命令是"patch",如下图所示,使用命令"patch -p0 hello1.c < test.patch", 可以将 hello1.c 中的内容升级为 hello2.c。"-p0 表示执行 patch 所在的路径就是制作 patch 所在的路径;接着跟要打补丁的文件;"<"符号后跟着补丁文件。

反向补丁,如下图所示,hello1.c 升级之后,想恢复成低版本,则可以使用命令"patch -Rp0 hello1.c < test.patch"。

相关推荐
少一倍的优雅29 分钟前
hi3863(ws63)智能小车 (三)PWM驱动马达
单片机·嵌入式硬件·hi3863
无泪无花月隐星沉31 分钟前
uos server 1070e lvm格式磁盘扩容分区
linux·运维·uos
食咗未1 小时前
Linux USB HOST EXTERNAL STORAGE
linux·驱动开发
食咗未1 小时前
Linux USB HOST HID
linux·驱动开发·人机交互
Xの哲學1 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
齐鲁大虾2 小时前
UOS(统信操作系统)如何更新CUPS(通用Unix打印系统)
linux·服务器·chrome·unix
就是蠢啊3 小时前
51单片机——TFTLCD显示器(一)
嵌入式硬件·计算机外设·51单片机
qq_448011163 小时前
嵌入式中IO、GPIO、专用IO
单片机·嵌入式硬件
虾..3 小时前
Linux 简单日志程序
linux·运维·算法
xingzhemengyou14 小时前
STM32 Boot0 与 Boot1 [当 Flash 被误操作锁死或 SWD/JTAG 无法连接时,很有用]
stm32·单片机·嵌入式硬件