您的位置:首页 > 其它

find命令总结与实战

2016-05-26 12:28 267 查看
文件的三种时间: (1)atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间; (2)ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等; (3)mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;find :查找目录和文件 find 路径 -命令参数 [输出形式]
参数说明:
路径:告诉find在哪儿去找你要的东西,.表示当前目录,/表示根目录
命令参数:-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项
相似,所以我们在这里只介绍-mtime选项。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-maxdepth 查找最大目录层数 如 1,即只查找一层目录
-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件
/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount 在查找文件时不跨越文件系统mount点。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。 输出形式:输出形式很多,-print,-printf,-print0,-exec,-ok,-ls -print 将查找到的文件输出到标准输出 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
查看系统过去24小时变更过的内容:
find / -mtime 0 查找/etc底下的档案,如果比/etc/passwd新就列出: 查找该目录过去24小时变更的内容:搜寻/home下属于funs的档案:find /home -user funs找出名为code的文档:找出/var目录下文件类型为socket类型的文件:搜索文档中含有SGID或SUID或SBIT属性的文件:
将上个命令用ls列出来:找出/etc下大于1000k的文件:
查找当前目录下的目录:
查找/home下以a开头的文件:
find /var -name ap*查到的文件写到file1中:查找/var下以ap开头或m开头的文件:找出/var下以ap开头并且类型为目录的文件:查找find /home/funs/learn/test目录下一天内被存取过的文件:
查找/home/funs/learn60分钟前改动过的文件查找在系统中属于 funs的文件:find / -group funs

本文出自 “fun” 博客,请务必保留此出处http://10725723.blog.51cto.com/10715723/1775469
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: