ITEEDU

1.以交互方式使用bash

  • bash具有很好的交互特性,熟练掌握这些特性可以非常高效率地输入命令。之所以把这部分内容放在本节的开头,是因为它太重要了,然而又太容易被忽视了。很多人学Linux好几个月,仍然不懂得高效率地输入命令。浪费在敲命令上的时间不计其数。本小节只介绍几种最基本最常用的交互功能,读者可以自己探索其它的高级功能。

1.1 命令补全

在bash下敲命令时,Tab键可以补全已经敲了一部分的文件名和目录名。如果是Ubuntu系统,系统默认启用了bash completion,还可以补全命令的某些参数、Makefile目标等等。如果是Debian系统,可以用以下命令启用bash completion:

 $ source /etc/bash_completion

建议将这一行加入~/.bashrc启动脚本中。比如使用sudo后面接命令,如果没有bash completion则只有sudo可以补全,后面的命令不能补全。如果启用了bash completion,则后面的命令,包括命令的某些参数(比如aptitude命令的install)都可以补全了。
比如在主目录下要列出桌面目录的内容,输入(不回车)

 $ ls De

然后敲Tab键,如果以De开头的文件或文件夹只有Desktop一个,就自动补全为

 $ ls Desktop

否则,再敲一次Tab键,将会把所有以De开头的文件或文件夹列在下面供你选择(在这里我们手动创建另外一个以De开头的文件)

    $ touch Death
$ ls De
Death Desktop/

你可以再补敲一个s再Tab,这次Desktop就会补全到命令后面了。
有的人是从DOS时代过来的,留下一个很不好的习惯就是在找一个文件时反复地cd、ls、cd、ls。。。等找到了要找的文件时再想回到先前的目录,已经不记得先前是从哪个目录转到这里来的了。