find命令总结与实战

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find命令总结与实战相关的知识,希望对你有一定的参考价值。

文件的三种时间:

  1atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间;

  2ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmodchgrpmv等等;

  3mtime:修改时间(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

以上是关于find命令总结与实战的主要内容,如果未能解决你的问题,请参考以下文章

Linux查找命令find与文件三种时间

Linux查找命令Find与文件三种时间

Linux 下使用 shell 批量修改文件名的三种方法

linux修改文件名的三种方法

Linux中find三种删除方式,常用于crontab定时任务和shell脚本

命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):AccessModifyChange。这三种时间的区别将在下面的touch命令中详细详解: