【北京迅为】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"。

相关推荐
davenian1 小时前
<OS 有关> ubuntu 24 不同版本介绍 安装 Vmware tools
linux·ubuntu·vmware
Simulink_2 小时前
ROS学习笔记15——Xacro
linux·笔记·学习·机器人·ros
南暮思鸢3 小时前
应急响应靶机——linux2
linux·网络安全·wireshark·write up·应急响应靶机系列·宝塔面板利用·webshell流量分析
sun0077003 小时前
ubuntu增加swap交换空间
linux·运维·服务器
LinuxST4 小时前
27、基于Firefly-rk3399中断休眠唤醒实验(按键中断)
linux·开发语言·stm32·嵌入式硬件
Diamond技术流4 小时前
从0开始学习Linux——环境变量详解
linux·服务器·学习·centos·软件安装·环境变量
疯狂吧小飞牛4 小时前
openssl创建自签名证书
linux·服务器·ssl
qhd吴飞5 小时前
在linux下用二进制方式安装mysql8
linux·运维·服务器
水饺编程5 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-32
linux·嵌入式硬件·fpga开发·硬件架构