本节对进行嵌入式Linux开发经常会用到的一些操作和相关命令,进一步加深对Linux的了解。命令是Linux最重要的人机交互界面之一,学习和掌握Linux命令是学习Linux不可逾越的阶段。在Shell下,一些命令加上一些参数,或者几个简单命令进行组合,可以完成在图形界面下需要经过复杂操作才能完成的功能。“简单就是美”在Linux的命令中得到了很好的体现。
Linux的命令通常会有很多选项和参数,但日常操作中用到的都不多,在这里也仅仅择取常用的进行介绍,更多或者完整的Linux命令请参考Linux命令手册或者其它资料。在接触具体的命令之前,先对Linux命令的特点做一个概括,也是使用Linux命令的一些注意事项:
打开Linux的虚拟终端后,一般都停在用户主目录下。当前目录下有什么?如何进入到其它目录?进入其它目录后,如何才能知道当前的确切位置?像这类操作通常称之为导航。Linux下,能帮助进行导航的命令有3个:ls、cd和pwd。
打开Linux虚拟终端后,查看当前目录下的内容,几乎是所有Linux使用者的习惯。查看当前目录下有什么文件和目录,然后再进行其它操作。查看当前目录下的内容的命令式ls,简单的输入ls就可以了,参考图 3.2
图3.2 ls命令结果
ls命令应该是学习Linux的第一个命令。ls命令支持选项,加上不同选项,可以按不同条件查看或者按不同方式排序结果。用法:
$ ls [选项]
下面给出一些常用选项和说明,如表 3.2所列。
说明:
(1)Linux区分大小写,在输入的时候需要特别注意;
(2)各参数可以任意组合,如ls -la;
(3)支持通配符*、?等。
使用范例,以详细列表查看当前目录下的全部内容,可使用ls -la命令,结果如图 3.3所示。
图3.3 ls -la命令结果
ls -la结果中,以点号(.)开始的是隐藏文件。
在 Linux下,隐藏一个文件只需将文件改名为点号(.)开始的文件名即可,而Windows下,通常需要修改文件属性。
得知所处目录下的内容后,可以根据需求进行操作。如果想进入到更深的目录中去,或者进入到系统其它目录中去,又该如何操作?这就要用到cd命令。cd命令是change directory的缩写,用于改变工作目录,与MS-DOS的cd命令类似。用法:
$cd 目标路径
Linux下路径的表示方法,详见表 3.3。
说明:
(1)Linux下目录、计算机名和域名之间都是用斜线(/)分开,而非反斜线(/);
(2)Linux下切换目录,可用相对路径,亦可用绝对路径。
假定当前在用户主目录(~)下,先进入目录“/etc/network”目录,然后切换到“/etc/network/if-down.d”目录,接下来在“/etc/network/if-post-down.d”和“/etc/network/if-down.d”目录间切换,操作过程的命令如下:
vmuser@Linux-host:~$ cd /etc/network/ vmuser@Linux-host:/etc/network$ cd if-down.d/ vmuser@Linux-host:/etc/network/if-down.d$ cd ../if-down.d/ vmuser@Linux-host:/etc/network/if-down.d$ cd -
实际操作结果如图 3.4所示。
图3.4 cd命令操作示例
掌握了前面介绍的ls和cd两条命令后,几乎可以走遍整个Linux文件系统中所允许访问的目录。但是如果将Linux的命令提示设置为只提示当前目录名而不会显示完整的路径,在Shell下如果进入的目录较深,有时候可能不清楚当前所在路径而“迷路”。pwd命令是一个导航辅助命令,功能是打印当前所在路径,告知用户当前所处位置。用法很简单,在Shell终端中输入pwd即可:
vmuser@Linux-host: drivers$ pwd
如图 3.5所示是一个简单范例。
图3.5 pwd命令结果