Linux学习之find命令

Find命令简介:

find命令是linux查找命令之一,相对于whereis和which来说查找性能可能不是那么优秀,但是find命令任然有着自己的优势,当whereis和which命令无法精准查找到我们需要的文件的时,这是find命令可以很好的解决你的问题,下面让我来简单的介绍下find的几个常用方法。

find命令介绍:

语法:find path -option [ -print] [ -exec/-ok -command] {}\;
参数说明:
path 路径,所查找的目录,.代表当前目录,默认也是当前目录。
-option 选项/条件,按什么选项/条件查询。 例: -name 是安名称查询。
-print 打印/输出,把查找到的文件输出ll、ls也是。
-exec 执行, 对查询到的文件进行其他操作。
-ok-exec 命令一样,-ok 表示为一种更加安全的方式来执行这些命令,在执行这些命令的时候回提示用户是否执行。
-command 指令,使用-ok-exec命令后的具体命令,如rm删除命令。
-exec/-ok -command {}\; 连用

1.-option参数使用

1.1 -name按照文件名查找

find /test -name test   ##在test目录下查找名为test的文件
find . -name "*.txt"   ##在当前目录,包括其子目录下查找后缀名为 .txt 的文件
find . -name "tes*"    ##在当前目录下查找文件名带有tes的文件

1.2 -perm 按文件权限查询

find . -perm 755 -print    ##在当前目录下查询权限有755的文件

1.3 -prune 指定不被查找的目录

find /user -prune "/user/test" -name "*.txt"    ##在当前user目录下但是忽略test子目录,查找后缀名.txt的文件

1.4 按文件属性来查找-user用户名、-group组名、-uidUID、-gidGID、-nouser不属于用户、-nogroup不属于组

find /user -user root -print   ##在user目录下查找所有属于root用户的文件
find /user -group user -print    ##在user目录下查找所有属于user组的文件
find /user -uid 123 -print    ##在user目录下查找所有uid等于123的文件
find /user -nouser root -print    ##在user目录下查找所有不属于用户root的文件

1.5 -mtime -n/+n 按文件更改时间查找

find /user -mtime -5 -print    ##在user目录下查找修改时间在5天以内的文件
find /user -mtime +5 -print    ##在user目录下查找修改时间在5天以前的文件
'-n表示文件修改时间距现在N天以内,+n文件修改时间在距现在N天以前'

1.6 -newer file1 ! file2 比较查询

find /user -newer user.txt ! userOld.txt -print    ##在user目录下查找比user.txt文件新但是比userOld.txt文件旧的文件

1.7 -type 按某一类型查找文件,文件类型有:b块设备文件、d目录文件、c字符设备文件、p管道文件、l符号链接文件、f普通文件

find /user -type f -print     ##在user目录下查找普通文件

本人萌新程序猿一枚,资历尚浅,如有不对请在评论区指正,或者加本人qq1871362951,后期我会努力更新的!

BUG咕咕咕─=≡Σ(((つ•̀ω•́)つ

你可能感兴趣的:(Linux学习之find命令)