Linux的find命令

find  查找命令

  -name   查找某个文件,文件名为name

例如: find /etc/ -name passwd       查找/etc/目录下名为passwd的文件并输出

find /etc -name *.conf              查找/etc/目录下所有以.conf结尾的文件


  -user  name   查找某个文件所有人为user的文件
  -group  name  查找某个文件所有组为group的文件
  -user name1 -group name2,查找文件所有人为name1且所有组为name2的文件
  -not -user name 查找文件所有人不为name的文件 (-not表示反的意思)
  -not -user student -o -group root 查找文件所有人不为student或者文件所有组为root的文件   -o表示或者

测试:首先,我在/mnt/目录下创建几个文件,赋予他们不同的组和用户名,配合监控命令:watch -n 1 ls -lR /mnt/验证以上命令


find /etc -maxdepth 1 -name passwd   查找此目录最多下一级目录的文件passwd
find /etc -maxdepth 2 -mindepth 2 -name *.conf查找/etc下最多两级且最少两极的目录的以.conf结尾的文件

测试:

find /mnt -size 20K     查找20K的文件
find /mnt -size -20K    查找小于20K的文件
find /mnt -size +20K    查找大于20K的文件

测试:在/mnt/下给file1 file2 file3写入不同大小,然后测试以上命令

dd if=/dev/zero of=/mnt/file1 bs=1 count=10240
dd if=/dev/zero of=/mnt/file2 bs=1 count=20480
dd if=/dev/zero of=/mnt/file3 bs=1 count=40960

截图操作如下:

-type  查找文件类型
find /mnt -type d    查找目录
find /mnt -type f    查找文件

截图操作:


find /mnt -cmin 10   查找整10分钟前操作的文件
find /mnt -cmin -10  查找10分钟内操作的文件
find /mnt -cmin +10  查找10分钟前操作的文件

-perm
测试:touch /mnt/file{1..5}
 chmod 000 *
 chmod 404 file1
 chmod 444 file2
 chmod 644 file3
 chmod 640 file4
 find /mnt/ -perm 444  查找/mnt下权限为444的文件,所以查找到的文件是file2
 find /mnt/ -perm -444 查找/mnt下权限包括444的文件,因为444是r--r--r--,644是rw-r--r--,所以644包含444,所以查找到的文件是file2和file3.
 find /mnt/ -perm /444 查找/mnt下 o权限包括r或g权限包括r或o权限包括r的文件,即只要包含r即可,所以查找到的文件是file1 file2 file3 file4。

-exec command {}  {}表示查找到的文件

例如:find /mnt -perm 444 -exec rm -rf {} \;整体这个命令的意思是,删除/mnt下权限为444的文件

find /etc -name *.conf -exec cp -rp {} /mnt \;递归复制/etc下以.conf结尾的文件到/mnt下

 

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值