find命令

用途:用于查找文件或目录

格式:find  [查找范围]  [查找条件]

常用查找条件

-name:按文件名称查找

-size:按文件大小查找

-user:按文件属主查找

-type:按文件类型查找

-print:以\n为换行符打印出文件(路径)

 

高级查找条件

-perm:按权限查找

-ctime-cmin):按文件创建时间(天为单位)查找

-atime-amin):按访问时间查找

-mtime-mmin):修改时间查找

-newer:查找比指定文件更新的文件

-delete:删除满足查找条件的文件

!:取反操作

-exec:查找后再执行操作

操作实战:

查找/tmp目录下名为core的文件并删除。
core文件是某些应用程序产生的临时文件,时间长了会很消耗存储空间,
另外别有用心的***可能会利用这个文件对系统造成破坏。命令如下:
find /tmp -name core -type f -print |xargs /bin/rm -f

在系统中有这样一些命令,普通用户在运行时身份会替换为root,
应该对该类命令进行有效管理防止***给某些危险命令增加此类命令。
我们的做法是,找出这些命令并保存到/root/suid.txt文件中,并定期的检查。
命令如下:
find / \( -perm -4000 -fprintf /root/suid.txt '%#m %u %p\n' \)

在整个系统中查找大于100M的文件并保存到/root/big.txt文件中。
命令如下:
find / \( -size +100M -fprintf /root/big.txt '$-10s %p\n' \)

在当前目录下查找用户及其组有写权限的文件,命令如下:
find . -perm -g+w,u+w

查找整个系统中用户及组有写权限的目录并将目录的名称、用户、权限保存到wdir文件中。
命令如下:
find / \( -perm -u+w,g+w  -type d -fprintf /root/wdir '%m %u %p\n' \)

查找整个系统中任何人可写的目录,并将目录的名称、用户、权限以换行的方式保存到wdir文件中。命令如下:
find / \( -perm -o+w  -type d -fprintf /root/wdir '%m %u %p\n' \)

查找当前目录下所有读写权限但没有执行权限的文件及目录。命令如下:
find . -perm -a+r -perm /a+w ! -perm /a+x

find支持变量,查找$HOME变量目录下,24小时内修改过的文件。命令如下:
find $HOME -mtime 0

查找当前目录下的文件并查看其文件类型。命令如下:
find . -type f -exec file '{}' \;