如何用‘cd’(改变目录,change directory)最快地从您当前所在的 home 目录跳到‘/usr/src/linux/Documentation/isdn/’呢?
cd /u<TAB>sr<TAB>l<TAB>/D<TAB>is<TAB>
这称为‘命令行自动补齐’(automatic command line completion),这在平常应用中是不可缺少的。让我们仔细看看这个例子:
cd /u<TAB>
扩展成了 cd /usr/ ,很简单吧。下面的
cd /u<TAB>sr<TAB>
扩展为 cd /usr/src/ 。如果您只敲了cd /u<TAB>s<TAB>,‘/usr’下匹配的(‘cd /u*/s*’)三个子目录将列出供您选择:‘/usr/sbin’、‘/usr/share’和‘/usr/src’。
因此, <TAB> 键可以很方便地用于根据前几个字母,来查找匹配的文件或子目录。比如,ls /usr/bin/zip<TAB> 将列出所有‘/usr/bin’下面,以字符串‘zip’开头的文件或子目录。当然,完成这类任务还有更厉害的命令,但这个方法确实很管用。 另外,碰到长文件名时就显得特别方便。假设您要安装一个名为‘boomshakalakwhizbang-4.6.4.5-mdk586.rpm’的 RPM 包,您输入 rpm -i boom<TAB> ,如果目录下没有其他文件能够匹配,那 shell 就会自动帮忙补齐。
cd /u<TAB>sr<TAB>l<TAB>
将扩展成 cd /usr/src/linux ,并等待继续。‘/usr/src’中有两个匹配的目录:‘/usr/src/linux-[...]’、‘/usr/src/linux’。如何告诉 shell 您想要后面的那个呢?只要跟一个斜线(/ ,slash),就可以选择后面的那个了。 假如您不确定是‘/usr/src/linux/Documentation’还是‘/usr/src/linux/documentation’。而您知道,Linux 是区分大小写的。如果已经仔细读过前面部分的话,您想到可以用:
cd /u<TAB>sr<TAB>l<TAB>/d<TAB>
扩展成了‘/usr/src/linux/drivers/’,因此应该是‘Documentation’(大写的‘D’)。
这种补齐对命令也有效:
[tom@belbo tom]$ gre<TAB> grecord grefer grep [tom@belbo tom]$ gre
在这里 shell 将列出所有以字符串‘gre’开头的已知命令。 |