首页 理论教育 命令的补齐与命令历史

命令的补齐与命令历史

时间:2023-11-18 理论教育 版权反馈
【摘要】:运行echo命令时,假如输入ech后,忘了后边的字母o,这时,按一下〈Tab〉键,echo命令被自动补齐了。如果一边输入,一边多按按〈Tab〉键,多使用系统的自动补齐功能,则可以大大提高输入效率。运行Bash的内置命令history,可以看到历史命令。

命令的补齐与命令历史

运行echo命令时,假如输入ech后,忘了后边的字母o,这时,按一下〈Tab〉键,echo命令被自动补齐了。再假如,本想运行pwd命令,但是输入pw后,忘了后边的字母d,这时,按一下〈Tab〉键,系统没有将它自动补齐,这是因为以pw开头的命令有多个,再按一下〈Tab〉键,即,一共按两下〈Tab〉键,系统将所有以pw开头的命令列了出来供用户选择,例如:

上面的例子说明命令名本身可以自动补齐,其实命令的参数也是可以补齐的。假设要删除某个以lst开头的文件,如果当前目录下只有一个以lst开头的文件,那么输入rmlst,再按一下〈Tab〉键,文件名(rm命令的参数)就会自动补齐;如果当前目录下有多个文件名以lst开头的文件,那么输入rmlst,再按两下〈Tab〉键,系统会将所有以文件名lst开头的文件列出来供用户选择:

lst_name的后面有斜杠,说明它是一个目录,后面没有斜杠的为文件。

在第2章讲过,运行如下命令可以将文件a.txt复制到/tmp/doc目录下:

这条命令有两种可能的结果,当目录doc不存在时,a.txt被复制为/tmp目录下的文件doc;当目录doc存在时,a.txt被复制到/tmp/doc目录下。(www.xing528.com)

输入命令cpa.txt/tmp/doc后,按回车键之前,按〈Tab〉键,如果doc后面出现斜杠/(命令变为如下所示),说明目录/tmp/doc存在。

同样,对一个目录层数比较多、文件名字长的参数进行操作(复制或删除),例如,/home/maggie/test/script/project/log_scan/build_preparation.sh,全是键盘输入的话,容易出错且速度慢。如果一边输入,一边多按按〈Tab〉键,多使用系统的自动补齐功能,则可以大大提高输入效率

在工作中,刚刚执行过的命令有时需要再执行一次,特别是调试某个脚本和学习某条命令时,常常需要反复执行相同或者相近的命令。重新输入一次命令当然是可以的,但由于shell会把已经执行过的命令记录下来,所以只要按上、下方向键,就可以选择以前执行过的命令,而不必重新输入。

运行Bash的内置命令history,可以看到历史命令。用户想参考老命令,或者想执行某条老命令的话,可以先执行命令history。当然,并非所有的历史命令都一定被记录下来,这受到某些Bash的内置变量的控制,在4.14节会讲到。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈