find范例

简介:

找出空目录
find /path -depth -type d -empty

找字节为0的文件
find /path -depth -type f -empty

找出具体文件名的文件
find /path -name name_of_file

找出特定扩展名的文件
find /path -name "*.given_extension"

根据权限及指定扩展名寻找文件
find /path -name '*.txt' -perm 644

找出指定权限的文件
find /path -perm -permision_bits(权限位)

找出指定文件名(任意扩展名的文件)
find /path -name 'given_name.*'

find根据时间寻找
用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
各参数说明
-amin n
查找系统中最后N分钟访问的文件
-atime n
查找系统中最后n*24小时访问的文件
-cmin n
查找系统中最后N分钟被改变文件状态的文件
-ctime n
查找系统中最后n*24小时被改变文件状态的文件
-mmin n
查找系统中最后N分钟被改变文件数据的文件
-mtime n
查找系统中最后n*24小时被改变文件数据的文件
更改时间在5日以内的文件
find /path -mtime -5

找出并删除文件
find /path -name "core.*" -type f -print | xargs /bin/rm -f
====================================================
find pathname -options [-print -exec -ok]

pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。
相应命令的形式为'command'{} \;,注意{}和\;之间的空格。
-ok和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行

文件状态判断:

-mtime: 指定时间文件内容被修改过
-ctime: 指定时间文件权限被修改过
-atime: 指定时间文件被读取过

找出3天“以前”被修改过的文档
# find /var/log/ -mtime +3 -type f -print

找出3天“内”被修改过的文档
# find /var/log/ -mtime -3 -type f -print

找出第3天被修改过的文档.
# find /var/log/ -mtime 3 -type f -print
或这样写:
#find /var/log/ -mtime +2 -mtime -4 -type f -print

注:
访问过用amin,修改过用mmin,文件状态改变过用cmin
精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

找出指定扩展名后修改扩展名
find /path -type f | xargs rename .baksh ".sh"



本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/456558

相关文章
|
3月前
|
Unix Shell Linux
如何使用find查找命令
如何使用find查找命令
|
Shell Linux
我终于知道为啥"find /home -name .bashrc > list 2>list"是错误的啦
在《鸟哥的Linux私房菜》第三版的329-330,鸟哥介绍了数据流的重定向,里面提到一点,如何你想把正确与错误数据都写到一个文件中,这个时候用下面第一行代码是错误的,而使用第二行和第三行代码才是正确的 find /home -name .
1038 0
|
安全 Shell