linux命令行自动补齐

2013-04-22

如何用'cd'(改变目录,change directory)最快地从您当前所在的 home 目录跳到'/usr/src/redhat/'呢?

1、自动补齐实例
cd /u【TAB】s【TAB】r【TAB】

这称为'命令行自动补齐'(automatic command line completion),这在平常应用中是不可缺少的。

让我们仔细看看这个例子:
cd /u【TAB】扩展成了 cd /usr/ ,很简单吧。下面的

cd /u【TAB】sr【TAB】扩展为 cd /usr/src/ 。

如果您只敲了cd /us,'/usr'下匹配的('cd /u*/s*')三个子目录将列出供您选择:'/usr/sbin'、'/usr/share'和'/usr/src'。

因此, 键可以很方便地用于根据前几个字母,来查找匹配的文件或子目录。比如,ls /usr/bin/zip 将列出所有'/usr/bin'下面,以字符串'zip'开头的文件或子目录。当然,完成这类任务还有更厉害的命令,但这个方法确实很管用。

2、另外,碰到长文件名时就显得特别方便。假设您要安装一个名为'boomshakalakwhizbang-4.6.4.5-i586.rpm'的 RPM 包,您输入 rpm -i boom ,如果目录下没有其他文件能够匹配,那 shell 就会自动帮忙补齐。

3、cd /usrl

将扩展成 cd /usr/src/linux ,并等待继续。'/usr/src'中有两个匹配的目录:'/usr/src/linux-[...]'、'/usr/src/linux'。如何告诉 shell 您想要后面的那个呢?只要跟一个斜线(/ ,slash),就可以选择后面的那个了。

假如您不确定是'/usr/src/linux/Documentation'还是'/usr/src/linux/documentation'。而您知道,Linux 是区分大小写的。如果已经仔细读过前面部分的话,您想到可以用:

cd /usrl/d

扩展成了'/usr/src/linux/drivers/',因此应该是'Documentation'(大写的'D')。

4、这种补齐对命令也有效:

[tom@belbo tom]$ gre【TAB】

grecord grefer grep

[tom@belbo tom]$ gre

在这里 shell 将列出所有以字符串'gre'开头的已知命令。

5、自动补全 补全对象

文件名补全 文件和目录
命令 包括路径名
变量补全 变量
用户标识补全 系统上的用户标识
主机名补全 局域网上的计算机

6、*通配符
cd *1将进入1结尾的目录,如果存在多个1结尾的目录,会进入按字母顺序排列的第一个。
rm *1
rpm net*

分类:Linux | 标签: |

相关日志

评论被关闭!