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
组名、-uid
UID、-gid
GID、-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,后期我会努力更新的!
网友评论