Linux find查找命令详解

find主要用于文件查找,参数丰富,基本够用,支持简单的正则。

通过文件名查找

#查找当前目录下面以.txt结尾的文件,.也可以省略
find . -name "*.txt" 
#简单的正则,匹配0-9开头的文件
find . -name "[0-9]*"
#查找etc目录下面的nginx.conf这个配置文件
find /etc -name nginx.conf

通过权限查找

#通过权限查找,查找权限为755的文件,这个命令通常用来查找有执行权限的文件,目录默认的权限就是755
find /etc -perm 755
#在上述搜索的结果中找出文件
find /etc -perm 755  -type f
#将查询结果输出到linux文件中cat
find /etc -perm 755  -type f > linux
#查看linux文件中的行数
cat linux |wc -l

通过用户查找

#添加用户user1
useradd user1
#设置user1的密码
passwd user1 
#查找user1创建的文件
find / -user user1

通过访问时间查找

#查看index.html的最近访问情况
stat /var/www/index.html
#查看var下面更改时间在最近5天之内的文件
find /var -mtime -5 
#查看var下面更改时间在最近3天之前的文件
find /var -mtime +3 

插播,linux查看文件目录大小

#查看文件大小,单位为k
du -sh autoload.php
#查看文件夹大小,单位为k
du -sh vendor
#查看当前文件夹下面各个文件大小,通过大小升序排列
du -sh * | sort -n

通过文件类型查找

#查看var下面类型为链接文件的文件
find /var -type l
#查看var下面类型为文件的文件
find /var -type f
#查看var下面类型为文件夹的文件
find /var -type d

通过文件大小限制查找

#查看var下面大于1M的文件
find /var -size +1000000c

文件查找后再次操作

#查找wwwww目录下面user开头的文件并删除
find /var/wwwww/ -name 'user*' | xargs rm -rf
#查找www目录下面user开头并显示详情
find /var/www/ -name 'user*' | xargs ls -l

查找包含指定字符串的文件

#查找当前目录下面包含my test的文件
find .| xargs grep -ri "my test"

你可能感兴趣的:(Linux,Shell编程)