find /usr -type f -mtime 2 -amin 5检索 /usr 下两天前被修改过且 5 分钟前又读取过的文件
-size选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……) 。
表示文件大小的单位由以下字符组成:
另外,还可以使用+或-符号表示 大于 或 小于 当前条件 。
find / -size +1G检索文件大小高于 1 GB 的文件
find 命令可以使用-perm选项以文件权限为依据进行搜索 。
如需要检索 /usr 目录下权限为rwxr-xr-x的文件,可以使用以下命令:
find /usr -perm u=rwx,g=rx,o=rx
搜索 /usr 目录下所有权限为r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:
find /usr -perm a=rx
很多时候 , 我们只想匹配文件权限的一个 子集。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么 。
上述的需求可以通过以下命令实现: find / -type f -perm /a=x
其中a=x前面的/符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置 。
-perm选项也支持数字形式的文件权限标记 。
find /usr -perm 644搜索 /usr 目录下权限为644 (即rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大 。可以使用-maxdepth限制 find 命令递归的层数 。
find / -maxdepth 3搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转。
实际上 find 命令支持“and”和“or”两种逻辑运算,对应的命令选项分别是-a和-o。通过这两个选项可以对搜索条件进行更复杂的组合 。
此外还可以使用 小括号 对搜索条件进行 分组。注意find命令中的小括号常需要用 单引号 包裹起来 。因小括号在 Shell 中有特殊的含义 。
如检索 /usr 下文件名以python开头且类型为目录的文件
find /usr -type d -name 'python*'
该命令等同于:
find /usr -type d -a -name 'python*'
更复杂的组合形式如:
find / '(' -mmin -5 -o -mtime +50 ')' -a -type f
-delete选项可以用来删除搜索到的文件和目录 。
如删除 home 目录下所有的空目录:
find ~ -type d -empty -delete
-exec选项可以对搜索到的结果执行特定的命令 。
如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是/media/MyDrive ),可使用下面的命令:
find ~ -type f -name '*.mp3' -exec cp {} /media/MyDrive ';'
其中的 大括号 ( {} )作为检索到的文件的占位符,而分号(; )作为命令结束的标志 。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来 。
每当 find 命令检索到一个符合条件的文件 , 会使用其完整路径取代命令中的{} , 然后执行-exec后面的命令一次 。
另一个很重要的用法是 , 在多个文件中检索某个指定的字符串 。
【linux入门命令详解 linux入门基础命令】如在用户主目录下的所有文件中检索字符串hello , 可以使用如下命令:
find ~ -type f -exec grep -l hello {} ';'
创建 Gzip 格式的压缩文件的命令为: tar -czvf filename.tar.gz list of files
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包music.tar.gz中,直观的感觉是,其命令应为如下形式:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'
实际情况是,这样得到的music.tar.gz其实只包含一个 MP3 文件 。
原因是 find 命令 每次 发现一个音频文件,都会再执行一次-exec选项后面的压缩命令 。导致先前生成的压缩包被覆盖 。
推荐阅读
- 闭关网络游戏的英文,闭关网络游戏的英文翻译
- 关于postgresqlsharding的信息
- thinkphps方法无效,thinkphp i方法
- 电脑没用的接口叫什么,电脑接口不够用
- linux查看安全性命令 linux系统的安全
- flutter编译器原理,flutter工作原理
- 拍摄照片什么档,拍照片什么风格的最好看
- 温州养成类游戏制作平台,温州游戏陪玩
- c语言函数怎么打印结果 c打印函数名