一.find命令
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 选项,常见 find 文件类型有:
- b 块设备文件
- c 字符设备文件
- d 目录
- f 普通文件
- l 符号链接
根据文件权限查找文件,使用-perm 选项。所有者使用-user 选项。
另外,find 命令可以通过逻辑操作符来创建更复杂的逻辑关系,例如 find 命令(一)中的例三就使用了操作符-or。find 命令的逻辑操作符见下表。
|
-a |
and && 与 |
两个都匹配 | |
|
-o |
or || 或 |
两个只匹配一个 | |
|
-not |
! 非 |
反向匹配 | |
|
! |
和-not作用一样 | ||
()一定要加反斜杠转义!!!!!!!!表达式与()要有空格,如( ! -name "*.txt" )
二.xargs命令
我们可以用管道将一个命令的 stdout(标准输出)重定向到另一个命令的 stdin(标准输入)。但有些命令只能以命令行参数的形式接收数据,而无法通过 stdin 接收数据流。在这种情况下,无法通过管道将数据重定向给这些命令。
这时 xargs 就可以发挥它的作用了,xargs 命令可以从标准输入接收输入,并把输入转换为一个特定的参数列表。
(1)命令格式
command | xargs [选项] [command]
xargs 命令应该紧跟在管道操作符之后,因为它以标准输入作为主要的源数据流。
(2)常用参数
| 参数 | 描述 |
|---|---|
| -n | 指定每行最大的参数数量 |
| -d | 指定分隔符 |
本文介绍了Linux下find命令的强大功能及其使用方法,包括按文件名、类型、权限等查找文件,并结合xargs命令实现对查找结果的进一步处理。
学习笔记&spm=1001.2101.3001.5002&articleId=81355731&d=1&t=3&u=c25fce6ca7a846b78c5b2f63202c565f)
656

被折叠的 条评论
为什么被折叠?



