正在加载...

find使用范例

[ 2009/09/06 16:23 | by selboo ]

找出空目录
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"
最后编辑: selboo 编辑于2009/12/29 13:07
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]