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

你可能感兴趣的:(find 基本用法)