find 命令用法记录
Posted on 2016-4-25 in Linux
find 命令在 Linux 中是一个经常使用的命令,被用于在目录层次结构中搜索文件。
它最简单的使用是,搜索一个或多个目录。比如说,输出家目录及子目录的列表:
$ find ~
常见用法
-
查找当前文件夹及子文件夹里有文件名为“aaa”的文件
$ find . -name "abc"
-name
:表示要根据名称查找,我们也可以指定 “*.py” 来表示要查找所有的 Python 脚本文件。 -
查找当前文件夹及子文件夹里有没有“bbb”目录
$ find . -type d -name bbb
-type
:表示设定查找类型,d
表示文件夹,f
表示普通文件,l
表示链接文件。 -
查找当前文件夹及子文件夹中属于用户“tntc4stl3”的文件
$ find . -user tntc4stl3
-user
:设定所属用户的名称,还可以指定-group
,来表示所属用户组的名称。 -
查找当前文件夹及子文件夹中权限设定为755的所有文件
$ find . -perm 755
-perm
:用于设定权限 -
查找当前文件夹及子文件夹里同时含有b字符和3字符的文件(使用正则表达式)
$ find . -regex '.b.3' -
查找并输出所有“*.py”文件的内容
$ find . -type f -name "*.py" -exec cat {} \;
-exec
:表示 find 找出的匹配项会作为 “-exec后面设定的命令”的参数 命令最后的{} \;
:{}表示用 find 查找到的结果中的每一个查找项。 -
查找当前文件夹及子文件夹中5分钟内被访问过的文件
$ find . -amin -5
-amin
:访问过
-mmin
:修改过
-cmin
:文件状态改变过
对应天,使用atime
,mtime
以及ctime
5分钟内使用-5
,5分钟外使用+5
-
查找当前文件夹及子文件夹下文件大小大于10M的所有文件
$ find . -size +10M
-size
:表示文件大小,+
表示大于,-
表示小于,对应的单位有b
,c
,w
,k
,M
和G
。 -
只查找当前文件夹,不查找子文件夹
$ find . -maxdepth 1 -name "*.py"