Linux系统find命令详解

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 '{}' \;

 

相关推荐