Linux新手学习资料(5)

2019-02-15 12:09

-rw-r--r-- 1 root root 0 Jan 1 16:41 file1 -rw-r--r-- 1 root root 0 Jan 1 16:41 file2 $ rm file1 file2 $ ls -l file1 file2

ls: file1: No such file or directory ls: file2: No such file or directory rmdir

要删除目录,您有两种选择。您可以删除目录中所有的对象,然后使用 rmdir 来删除目录本身: $ mkdir mydir $ touch mydir/file1 $ rm mydir/file1 $ rmdir mydir rm 和目录

或者,您可以使用 rm 命令的 recursive force选项来告诉rm删除您指定的目录以及目录中包含的所有对象: $ rm -rf mydir

一般情况下,rm -rf 是删除目录树的首选方法。在使用 rm -rf 时要十分小心,因为它的功能可以被很好地利用,也可能会因使用不当造成恶果。

介绍通配符

在您日常的 Linux 使用中,有很多时候您可能需要一次对多个文件系统对象执行单一操作(比如 rm)。在这些情况下,在命令行中输入许多文件通常让人感到厌烦,为了解决这个问题,您可以利用 Linux 内置的通配符支持。这种支持也叫做“globbing”(由于历史原因),允许您通过使用通配符模式一次指定多个文件。

Bash 和其它 Linux 命令将通过在磁盘上查找并找到任何与之匹配的文件来解释这种模式。因此,如果在当前工作目录中,您有从 file1 到 file8 的文件,那么您可以输入下面的命令来删除这些文件: $ rm file[1-8]

或者,如果您只想要删除文件名以 file 开头的所有文件,您可以输入:

$ rm file* 理解不匹配

或者,如果您想要列出 /etc 中以 g 开头的所有文件系统对象,您可以输入:

$ ls -d /etc/g*

/etc/gconf /etc/ggi /etc/gimp /etc/gnome /etc/gnome-vfs-mime-magic /etc/gpm /etc/group /etc/group-

现在,如果您指定了没有任何文件系统对象与之匹配的模式,会怎么样呢?在下面的示例中,我们试图列出 /usr/bin 中以 asdf 开头并且以 jkl 结尾的所有文件:

$ ls -d /usr/bin/asdf*jkl ls: /usr/bin/asdf*jkl: No such file or directory

这里是对所发生情况的说明。通常,当我们指定一种模式时,该模式与底层系统上的一个或多个文件匹配,bash 以空格隔开的所有匹配对象的列表来替换该模式。

但是,当模式不能找到匹配对象时,bash 将不理会参数、通配符等等,保留原样。因此,当“ls”不能找到文件 /usr/bin/asdf*jkl 时,它会报错。此处的有效的规则是:glob 模式只在与文件系统中的对象匹配时才可以进行扩展。


Linux新手学习资料(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:我国企业的绿色营销现状及发展对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: