FreeBSD find命令详解

FreeBSD find命令详解

find命令是功能最强的命令之一,但同时也是命令行结构最难以掌握的命令之一。
# find / -print | wc -l 显示系统中所有文件和目录的数目。
# find / -user $LOGNAME -print 显示系统中该用户所有文件和目录。
# find / -size 100 -print 显示文件大小为100 blocks。
# find / -size -100 -print 显示文件大小小于100 blocks 。
# find / -size +100 -print 显示文件大小大于100 blocks 。
# find / -name core -exec rm {} \;查找并删除core文件。
# find . -exec chown $LOGNAME {} \; 修改一个目录下的所有文件的用户所属。
# find .-type d -exec chmod 770 {} \;修改一个目录下的所有目录的权限。

find :(以下均在hp-unix下操作的)
find ./dir -mtime +10 -exec rm -rf {}\; 在dir目录下找到10天之前的文件,然后删除。 exec选项后面跟随着所要执行的命令,然后是一对儿{ },一个空格和一个\,最后是一个分号。
find ./dir -mtime +20 | xargs rm 在dir目录找到20天之前的文件并删除。 xargs 比直接带-exec选项的效率和性能都好
find ./dir -mtime -2 在dir目录下查找两天之内的文件
find ./dir -mtime +3 在dir目录下查找三天之前的文件
find ./dir -user fly 在dir目录下查找属于fly用户的文件
find ./dir -group user 在dir目录下查找属于user组的文件
find ./dir -type d 在dir目录下查找文件类型为目录的文件
find ./dir -name "*.sh" -depth  在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做

找unix机器中所有包含“jdbc/WapDataSource”字符串的文件

find / grep "jdbc/WapDataSource"

find / -name httpd.conf
find / -name access_log 2>/dev/null
find /etc -name ‘*srm*’
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -cmin -5 # 查找在系统中最后5分钟里被改变状态的文件
find / -ctime -1 #查找在系统中最后24小时里被改变状态的文件
find / -user reda #查找在系统中属于fred这个用户的文件
find / -not -user reda #查找在系统中不属于FRED这个用户的文件
find / -group redagrp # 查找在系统中属于redagrp组的文件
find / -gid 501 #查找系统中属于组id为501的文件
find / -user fred -a -group redagrp
find / -user reda -o -user tracy
find / -nouser #查找在系统中属于作废用户的文件
find / -empty # 查找在系统中为空的文件或者为空的文件夹
find / -false #查找系统中总是错误的文件
find / -size +5k #查找系统中大于5k字节的文件
find / -size +5c #查找系统中大于5字节的文件
find / -perm +6000
find / -type b
文件类型:
b 块(缓冲)设备.
c 字符设备.
d 目录.
p 有名管道(FIFO).
f 规则文件.
l 符号链结.
s 插座.
find / -maxdepth 2 -name fred
find /tmp -size +10000000c -and -mtime +2
find / -user reda -or -user tracy
find /tmp ! -user reda
find / -name ‘httpd.conf’ -ls
find / -user reda -exec ls -l {} \;
find / -user reda -ok #确认后执行
find / -user reda | xargs ls –l

原文链接:http://www.majormoves.net/post/188/

发表评论

电子邮件地址不会被公开。 必填项已用*标注