您的位置:首页 > 其它

find 指令

2016-05-20 15:23 218 查看
find指令篇:(灰常重要)
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个很大的文件系统可能会花费很长时间。
<1>命令格式find pathname -options [-print -exec -ok…]<2>命令功能用于在文件中查找文件,并作出相应的处理(可能访问磁盘)<3>命令参数pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command ’ { } \; ,注意{ }和\;之间的空格。<4>命令选项-name 按照文件名查找文件
-perm 按照文件权限来查找文件-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user 按照文件属主来查找文件
-group 按照文件所属的组来查找文件。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/ etc/groups中不存在
-nouser 查找无有效属主的文件,即该文件的属主在/etc/ passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文 件file2旧的文件。
-type 查找某一类型的文件 诸如:b – 块设备文件 d – 目录 c – 字符设备文件p – 管道文件 l – 符号链接文件 f – 普通文件-size n: [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth: 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统有关文件系统的信息。-mount: 在查找文件时不跨越文件系统mount点。-follow: 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。-cpio: 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。与时间有关的选项:-atime , -ctime ,-mtime
-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n 天以前
-atime -n +n 按文件访问时间来查找文件,-n指n天以内,+n指n 天以前
-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n 天以前
例如:
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
-amin -n 查找系统中最后N分钟访问的文件
-atime -n 查找系统中最后n*24小时访问的文件
-cmin -n 查找系统中最后N分钟被改变文件状态的文件
-ctime -n 查找系统中最后n*24小时被改变文件状态的文件
-mmin -n 查找系统中最后N分钟被改变文件数据的文件
-mtime -n 查找系查找系统中最后n*24小时被改变文件数据的文件
总结:min是分钟,time是小时,a访问,c改变状态,m改变数据。示例:(1)查找当前目录下文件名为code的目录
find . -name code -print
./code

(2)在目录中查找更改时间在5日以前的文件并删除它们:
find -atime +5 -exec rm {} \;


(3)查找当前所有目录并排序
find / -type d |sort

(4)查找所有目录名称中按照”.log”结尾的目录
find / -type d -name "*.log"


(5)查找系统中最近5天访问的文件
find -atime -5


(6)查找系统中最近5分钟访问的目录
find -amin -5

(7) 查找当前目录下所有权限为755的文件,并设置成777
find . -perm 755 -exec chmod 777 {} \;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  指令 find