语法

find path -option [ -print ] [-exec -ok command ] {} \;

find . -maxdepth 1 -type f -exec mv {} /tmp \;

  --> -maxdepth 1                    - 表示查找深度为1。
  --> -exec mv {} /tmp \;    - 运行mv命令。
  --> {}                                         - 字符 '{}' 代表find到的所有内容。
  --> /tmp                                     - 表示移动到/tmp目录
  --> \;                                     - 结束 /bin/mv 命令。

参数说明

-mount,  -xdev   只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n          在过去 n 分钟内被读取过
-anewer file     比文件 file 更晚被读取过的文件
-atime n         在过去n天内被读取过的文件
-cmin n          在过去 n 分钟内被修改过
-cnewer file     比文件 file 更新的文件
-ctime n         在过去n天内被修改过的文件
-empty           空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-path p          路径名称符合 p 的文件,ipath 会忽略大小写
-name name       文件名称符合 name 的文件。iname 会忽略大小写
-size n          文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

-type 的类型

  d 目录文件, c 字型装置文件, f  一般文件,s socket
  p 具名贮列, b 区块装置文件, l  符号连结

其他说明

mtime      当文件的「内容数据」更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。
ctime 当该文件的状态改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。
atime 当“该文件的内容被读取”时,就会更新这个读取时间。我们使用cat去读取/etc/man.config,就会更新该文件atime.

常用例子

列出当前目录下三层深度的文件
find . -maxdepth -type f
查找 /etc 下 rpm 目录
find /etc/ -name rpm -type d
在查找的结果中直接以命令操作
find /tmp/ -mtime + -exec rm -rf {} \;
在/etc 目录中查找 passwd 文件,并以长格式显示
find /etc/ -name "passwd" |xargs ls -l
在 etc 目录下查找大于 1k 并且小于 10k 的文件
find /etc -size +1k -a -size -10k
查找3天内的未修改的文件
find /var/log -type f -mtime -3
查找10天以上没动过的文件
find /var/log -type f -mtime + -a -atime + -a -ctime +
查找空目录并删除
find . -type d -empty -exec rmdir {} \;
find . -type d -empty |xargs rmdir
修改文件和目录权限
find ./ -type d |xargs -i chmod {}
find ./ -type f |xargs -i chmod {}
查找大文件
find . -type f -exec stat -c "%s %n" {} \; | sort -nr | head -
注 : sort [] 文件名 -r 反向排序 -n 以数值型进行排序,默认使用字符串类型,head [] 显示文件头 默认显示前 行,-n 文件名 显示前 行

最新文章

  1. Androidstudio预览时出现错误java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
  2. web工程关于500错误
  3. java中的集合和数组
  4. Could not load file or assembly Microsoft.Web.Infrastructure
  5. error at ::0 can't find referenced pointcut解决办法(转载)
  6. centos6.5 安装jdk7和tomcat7
  7. 【转】IOS 30多个iOS常用动画,带详细注释
  8. 如何通过ftell和fseek来获取文件大小
  9. Attempt to call getDuration without a valid mediaplayer
  10. hdu - 4975 - A simple Gaussian elimination problem.(最大流量)
  11. 微信小程序教程(第一篇)
  12. IE无法获得cookie,ie不支持cookie的解决办法,火狐支持
  13. Redis “瘦身”指南
  14. Java_数据交换_fastJSON_01_用法入门
  15. mac升级到php7
  16. Go调试工具—— Delve
  17. Python全栈之路----三元运算
  18. python技巧 计算字符串中字母出现的次数并取出最大
  19. 每天一个linux命令(3):ls命令
  20. Redis相关技巧

热门文章

  1. webstorm2018
  2. Kvm --05 密码保护:Kvm管理之WebVirtMgr
  3. 五、Angular定义字段、绑定字段、获取数据、对象获取数据、*ngFor循环获取数据,自定义方法、*ngIf条件判断、双向数据绑定
  4. 【LeetCode】分治法 divide and conquer (共17题)
  5. Sass函数:数字函数-percentage()
  6. Sass--传多个参数
  7. jmeter 参数化4_Function Helper中的函数
  8. 09.事务管理、整合jpa、整合mybatis
  9. Linux批量新建文件夹(大括号表达式的应用)
  10. service-web