linux指令find指令详解


find
查找 ,搜索
具有即时性的特点,不需要数据库,相对会比较慢一些
1、从指定路径下递归向下搜索文件
2、支持按照各种条件方式搜索
3、支持对搜索得到的文件进一步用指令

语法: # find [路径] [参数] [表达式]

常用参数
-user 根据文件拥有者来查找文件

# find /root -user root 在root目录下查找拥有者是root的文件

-group 根据文件的所属组查找文件

# find /root -group root 在/root文件夹下查找所属组为root的文件

-nouser 查找没有文件拥有者的文件,例如有些木马,但要注意有些linux系统文件本来就没有用户

# find /etc -nouser

-nogroup 查找没有群组的文件,原理同-nouser

# find /etc -nogroup

-name 根据文件名字来查找

# find /ect -name services 在etc下查找名字为service的文件

-size 根据文件的大小来查找文件

# find /etc -size +1000k 查找大于1M的文件

-type 根据文件的类型来查找文件。一般的文件用f,字符c,块文件b,目录d,链接l

# find /root -type f 查找文件类型为一般文件

-atime +n 访问或执行时间大于n天的文件

-ctime +n 写入、更改inode属性(更改所有者、权限或者连接等)时间大于n天的文件

-mtime +n 写入时间大于n天的文件

-exec 将find查找的结果输出给后面的指令作为输入。比如。
# find ./ -mtime +10 -exec rm -rf {} \; 查找当前目录中创建时间大于10天的文件并删除

这个命令中也是把{}作为前面find出来的文件的替代符,后面的”\”为”;”的脱意符,不然shell会把分号作为该行命令的结尾

-perm 根据文件的权限来查找文件

# find /home -perm 600 查找权限为600的文件,还会显示隐藏文件

相关内容