Linux命令行跟我学(2)

Linux之家

小编:上周我和Tux已经给大家讲授了Linux命令的对比学习法以及一些变通的小技巧,不知道各位读者有什么感想啊?

宁宁:通过对照法,常见的基本命令的运用已经基本掌握了,不过我在使用中还是发现了些问题的。例如,我在练习ls命令的时候就经常出现目录的内容一滚而过无法全部看清的问题,DOS中有参数p来进行分屏显示,不知道在Linux的命令行模式中有什么命令有这个功效?

Tux:正好,这就涉及了今天首先要给大家讲的常用的命令组合的问题。

常用的命令组合

Tux:宁宁提到的分页显示的问题,其实除了列文件目录的时候需要这个功能,在显示文本文件等条件下也可以用到的。下面我们就分别来看看。

1.分页显示目录内容

当某个目录中文件比较多时,如果只用ls命令,所有内容都会一闪而过,根本无法观看。使用下面的命令组合便可以分页显示目录和文件夹,便于大家浏览。

注意,文本的分页效果最好不要使用less命令,虽然在分页方面要比more方便,但它会显示大量控制字符,会使显示变得十分凌乱。

[root@localhost root]#ls |more

2.分页显示文本文件

分页显示文本文件,如源代码包中的README、INSTALL等文件,这些文件对软件的编译和安装有着重要作用,但通常比较长,所以下面的命令就派上用场了。

[root@localhost root]#cat INSTALL|more(less)

提示:在DOS和Windows的命令行模式中具有同样的命令组合形式,如显示文本内容一样可以使用type|more的命令组合。

3.一次性切换显示目录

如果常常需要一次性地切换,显示目录,使用该命令组合就可以切换到某一目录后分页显示该目录中所有内容。

[root@localhost root]#cd directory |ls -lF |more(less)

提示:这些常用的命令组合也可以像命令的常用参数一样,设置别名保存在”~/.bashrc”中,方法和上期讲的定义命令参数的方法类似,大家参照设置即可。

如果想一次执行多个命令也很简单,只须依次输入要执行的命令,使用“;”分隔各个命令即可一次执行多个命令了。如复制文件到外设上,如软盘,优盘等外设上,复制后最好运行一下同步命令,这样可以保证数据万无一失,就可以运行如下命令组合:

[root@localhost root]#sync;sync;sync

连续运行三次同步命令,将磁盘缓存中的内容保存到软盘或优盘上。

小知识

在刚才的命令组合中大家看到了more等参数,那里这一类参数到底是怎么回事情呢?其实这些参数主要控制输入输出的管道和重定向。

管道

管道并不神秘,在上面的常用命令组合中使用到了管道,管道就是两个命令中间的那一竖杠,十分形象吧,那它有什么用呢?

它的主要作用就是将管道左边命令输出的结果作为管道右边命令的输入,这就是它的作用,例如:“cat INSTALL|more"就是使用cat命令显示INSTALL文件,有了管道,INSTALL文件的内容就作为分页显示命令的输入进行分页显示。

输入/输出重定向

输入/输出重定向就是将默认从键盘输入,从屏幕输出,重新定义为从文件输入或输出到文件,输入重定向的格式是“>"。

例如,要获得某个目录的文件列表可以使用“ls -lF>dirinfo.txt ",这个输出重定向就是将目录内容重新输出到dirinfo.txt这个文件中而不是屏幕,这样就获得了一份目录列表文件。输入重定向的格式是“<”。如:“mkdir

宁宁:那所有的命令有没有比较通用的格式呢?

Tux:当然有了,Linux的命令也有通用格式的。

Linux命令的通用格式

Linux提供了大量命令,虽然这些命令的功能不同,但它们的使用方式和规则基本上还是统一的。Linux命令的一般格式是:

[root@localhost root]#命令名 [选项] [参数1] [参数2][参数3]......

例如:

[root@localhost root]#clear //无参数

[root@localhost root]#rm -f /root/core //一个参数

[root@localhost root]#ls -lF /usr //两个参数

提示:需要注意的是Linux中的通配符和DOS十分相似,但含义是完全不同的,Linux中的“*”相当于DOS中的“*.*”,所以使用要谨慎,尤其是在删除文件时。

宁宁:恩,看来真是有规律可循的。不过练习了半天,我要是想知道我练习并掌握了哪些命令,该怎么做呢?

小编:其实这就涉及到命令的管理了,例如显示历史命令并编辑命令行。

命令的列表、编辑、复用

1.显示历史命令

对于使用过的命令,可以使用history命令来调用,如果history命令后不带任何参数,那么整个历史表的内容都会现示在屏幕上。在history命令后跟上参数n使历史表中最后n条命令被显示出来。例如history 20显示历史表中最后20条命令。

2.编辑命令行

和DOS不同,Linux的命令行是可以自由编辑的,可以使用光标左右移动,自由增删命令中的字母,使用快捷键“Ctrl+A” 、“Ctrl+E”可以迅速将光标定位到命令行的头和尾。

小技巧:复用命令

熟悉DOS的朋友都知道它有一个偷懒的技巧,那就是使用doskey命令,启用了该命令就可以使用方向键上、下来调用刚才使用的命令,这样使用起来就省事了许多。在Linux中根本不用这么麻烦,Linux的Shell本身就具有这样的功能,直接使用上下方向键就可轻松重复刚刚使用过的命令。