find 命令

find 命令 :在给定目录下查找符合给定条件的文件
find [ OPTIONS ] [ 查找起始路径 ] [ 查找文件] [ 处理动作]
一、参数
在这里插入图片描述
二、查找条件

1)根据名称查找
-name " 名称 "

   find . -name "*.jpg"

在这里插入图片描述
2)根据从属关系查找

-user USERNAME:查找属主指定用户的所有文件;
-group GRPNAME:查找属组指定组的所有文件;
-uid UID:查找属主指定的UID的所有文件;
-gid GID:查找属组指定的GID的所有文件;
-nouser:查找没有属主的文件;
-nogroup:查找没有属组的文件;

例子:查找/usr 目录下不属于 root, alice或 jack 的所有文件或目录;
用两种方法;

~]# find /usr -not -user root -a -not -user alice -a -not -user
jack

~]# find /usr -not \( -user root -o -user alice -o -user jack \)
-ls

在这里插入图片描述
3)根据文件的类型查找

-type

 find . -type d

.在这里插入图片描述在这里插入图片描述
4) 根据文件的大小查找

-size : K,M,G

例子:查找/etc 目录下大于 1M 且类型为普通文件的所有文件;

~]# find /etc -size +1M -type f -exec ls -lh {} \;

在这里插入图片描述
5)根据时间戳查找
在这里插入图片描述
在这里插入图片描述
例子、查找当前系统上没有属或属组,且最近一周内曾被访问过的文件
或目录;

~]# find / \( -nouser -o -nogroup \) -atime -7 -ls

在这里插入图片描述
6)根据权限查找

  • perm 匹配权限(mode 为完全匹配,-mode 为包含即可)
    (1) 精确查找 匹配权限值完全相等
find   .   -perm  644

(2)/mode 匹配权限(mode 为完全匹配,-mode 为包含即可)

通俗说:就是属主拥有给定属主权限的某一个,或者数组拥有给定权限的某一个,或者其他用户拥有给定权限的某一个即可。

例子:查找/etc 目录下所有用户都没有写权限的文件;

~]# find /etc -not -perm /222 -type f -ls

(3)–mode。并且的关系。

通俗说:就是给定的属主权限必须拥有。并且给定的数组权限必须拥有。并且给定的其他用户权限必须拥有。

例子:查找/etc 目录至少有一类用户没有执行权限的文件;

~]# find /etc -not -perm -111 -type f -ls

(4)处理动作:
    -print:输出至标准输出;默认的动作;
    -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
    -delete:删除查找到的文件;
    -fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
    -ok COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
    -exec COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;
    -xargs
    
三、补充

1、查找/home目录下,最近三天修改的文件,并显示文件大小

find  /home  -ctime  3  |  xargs  du -sh 

在这里插入图片描述
2、查找/var 目录下,第三级目录下 pl 类型的文件。

find /var -type p -o -type l -mindepth 3 -maxdepth 3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值