Linux文件管理—find命令

作用:递归地处理指定目录中的文件。如,递归地查看(打印) dist 目录中的所有文件:

$ find dist/ -print
dist/
dist/datasets
dist/datasets/blocks.json
...

find 命令支持诸多的选项,以指定对哪些文件进行处理、以及如何处理。

1. 根据名称进行搜索

  • -name pattern:匹配文件名(basename)部分(使用 shell 模式)。
  • -iname pattern:同 -name,但不区分大小写。
  • -regex pattern:匹配整个路径(使用正则表达式)。
  • -iregex pattern:同 -regex,但不区分大小写。
  • -path pattern:匹配整个路径(使用 shell 模式)。
  • -ipath pattern:同 -path,但不区分大小写。
$ find / -name 'ovs*' -print
/run/openvswitch/ovs-vswitchd.18732.ctl
/run/openvswitch/ovs-vswitchd.pid
/run/openvswitch/ovsdb-server.18660.ctl
...
$ find / -regex '.*ovs.*' -print | head -5
/run/openvswitch/ovs-vswitchd.18732.ctl
/run/openvswitch/ovs-vswitchd.pid
/run/openvswitch/ovsdb-server.18660.ctl
...
$ find / -path '*/src/*' -print
/root/simpler_glove-master/src/cooccur.c
/root/simpler_glove-master/src/glove.c
...

2. 根据属主或属组进行搜索

属主和属组可以使用 ID 或名称的方式指定:

  • -uid UID
  • -user UserName
  • -gid GID
  • -group GroupName
$ find / -uid 1000 -print
/home/openstack
/home/openstack/.mozilla
/home/openstack/.mozilla/extensions
...
$ find / -user root -print
/
/boot
/boot/efi
/boot/efi/EFI
...

3. 根据文件类型进行搜索

  • -type FileType:FileType 可以是 b, c, d, p, f, l, s,分别表示块设备文件、字符设备文件、目录、管道、普通文件、符号链接、套接字文件。
$ find / -type s -print
/dev/log
/run/openvswitch/ovs-vswitchd.18732.ctl
/run/openvswitch/ovsdb-server.18660.ctl
...

4. 根据文件大小进行搜索

  • -size Size:Size 可以为 n, +n, -n,分别表示刚好为 n、大于 n、小于 n;大小 n 的单位可以为 b, c, w, k, M, G,分别表示块(512字节)、字节、字、KB、MB、GB。
$ find . -size +100M -print
./as-skitter.txt
./weibo normal.jar
./weibo.jar
...

5. 逻辑操作

  • !:逻辑非;
  • -a:逻辑与;
  • -o:逻辑或。
$ find . ! -size +100M -print
.
./.bash_logout
./.bash_profile
...
$ find . \( -name '*.txt' -o -name '*.sh' \) -print
./.cache/tracker/db-version.txt
...
./rpmbuild/BUILD/openvswitch-2.11.0/boot.sh
...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值