find 命令(一)
find 命令主要作用是沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。Linux 下 find 命令提供了相当多的查找条件,功能很强大,对应的学习难度也比较大。
(1)命令格式
find [选项] [搜索路径] [表达式]
默认路径是当前目录,默认表达式为-print。
表达式可能由下列成份组成:操作符、选项、测试表达式以及动作。
(2)常用参数
参数 | 描述 |
---|---|
find 命令将匹配的文件输出到标准输出 | |
-exec | find 命令对匹配的文件执行该参数所给出的 shell 命令 |
-name | 按照文件名查找文件 |
-type | 查找某一类型的文件 |
-prune | 使用这一选项可以使 find 命令不在当前指定的目录中查找,如果同 时使用-depth 选项,那么-prune 将被 find 命令忽略 |
-user | 按照文件属主来查找文件 |
-group | 按照文件所属的组来查找文件 |
-mtime -n +n | 按照文件的更改时间来查找文件,-n 表示文件更改时间距现在小于 n天,+n 表示文件更改时间距现在大于 n 天,find 命令还有-atime 和 -ctime 选项 |
find 命令(二)
下面将介绍如何根据文件类型、权限、所有者及操作符来查找匹配文件。
根据文件类型来查找文件,使用-type 选项。
根据文件权限查找文件,使用-perm 选项。所有者使用-user 选项。
另外,find 命令可以通过逻辑操作符来创建更复杂的逻辑关系,例如 find 命令(一)中的例三就使用了操作符-or。
xargs 命令
我们可以用管道将一个命令的 stdout(标准输出)重定向到另一个命令的 stdin(标准输入)。但有些命令只能以命令行参数的形式接收数据,而无法通过 stdin 接收数据流。在这种情况下,无法通过管道将数据重定向给这些命令。
这时 xargs 就可以发挥它的作用了,xargs 命令可以从标准输入接收输入,并把输入转换为一个特定的参数列表。
(1)命令格式
command | xargs [选项] [command]
xargs 命令应该紧跟在管道操作符之后,因为它以标准输入作为主要的源数据流。
(2)常用参数
参数 | 描述 |
---|---|
-n | 指定每行最大的参数数量 |
-d | 指定分隔符 |