常用命令--find

语法

find path -option [   -print ]  [-exec -ok command ] {} \;
  • example
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
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

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

其他说明

  • mtime
    当文件的「内容数据」更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。

  • ctime
    当该文件的状态改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。

  • atime
    当“该文件的内容被读取”时,就会更新这个读取时间。我们使用cat去读取/etc/man.config,就会更新该文件atime.

常用例子

  • 列出当前目录下三层深度的文件
    find . -maxdepth 3  -type f
  • 查找/etc 下 rpm 目录
    find /etc/ -name rpm -type d
  • 在查找的结果中直接以命令操作
    find /tmp/ -mtime  +10 -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
  • 查找空目录并删除
    find . -type d -empty -exec rmdir {} \;
    find . -type d -empty |xargs rmdir

转载于:https://www.cnblogs.com/outsrkem/p/11206601.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值