android find 命令详解,Find 命令常用功能详解

find 命令常见用法

介绍

用来在指定目录中查找文件,如果直接用 find+文件名 表示把当前目录以及子目录找到的文件全部显示出来。

用法

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [path...] [expression]

选项

-H 表示只跟随命令行中指定的符号连接

-L 表示跟随所有的符号连接

-P 是默认的选项,表示不跟随符号连接

-D debugoptions. 打印诊断信息

-Olevel Enables query optimisation. 允许查询优化

上面这些选项并不常用,所以用法可以简化成

find [ path... ] [ expression ]

参数

时间相关参数

参数

说明

-newer file

# 找出比file文件内容新的文件,比较的是mtime

-mtime -n +n

# n是数字,表示n天之前一天内的时间

-atime -n +n

# +n,表示n天前不包含n天本身的时间

-ctime -n +n

# -n,表示n天之内包含n天的时间

# 范例:

find / -mtime 0 # 0表示当前时间,把现在时间之前的24小时内的文件列出来

find . -ctime 3 # 表示把当前目录3天前的24小时内,权限被修改过的文件列出来

find / -mtime -3 # 表示3天内的所有时间,从现在往前数3个24小时的时间

find . -atime +3 # 表示3天以前不包含第3天,也就是现在数3+1个24小时之前的所有时间

说明:(0 表示现在的时间)

单纯的数字之表示24小时的时间,比如 0 表示 24-0 之内的时间,1 表示 48-24 之内的时间

有 - 符号时间,比如 -2 表示 48-0 的时间,-3 表示 72-0 的时间,

有 + 符号时间,比如 +2 表示

用户名和组名相关参数

参数

说明

-uid n

数字 n 表示 /etc/passwd 里面名称对应的数字id

-gid n

数字 n 表示 /etc/group 里面对应的组id

-user name

name 为用户名称

-group name

name 为组名

-nouser

寻找文件的 所有者在 passwd文件中不存的文件

-nogroup

寻找文件的 组在 group 文件中不存在的文件

# 范例:

find /var -user root # 查找var目录的文件的拥有者是root的文件

find / -nouser # 查找系统中不属于任何人的文件,也就系统中没有这个用户

说明:

如果从网络下载文件会出现没有此用户或组,或者系统删除用户后这个用户遗留下来的文件

文件权限及名称相关的参数

参数

说明

-name filename

查找文件名filename的文件

-size [+-]SIZE

查找比SIZE 大+ 或者 小- 的文件

-type TYPE

查找文件类型是TYPE的文件,f b c d l s p(FIFO) 属性

-perm mode

查找文件权限正好等于这个mode的文件

-perm -mode

所查文件权限包含mode就会显示出来

-perm +mode

所查文件权限被mode包含就会显示出来

# 范例:

find / -name passwd # 查找文件名为 passwd 的文件

find / -type s # 查找文件类型是 socket 的文件

find . -size 10c # c=byte k=1024bytes

find . -size 10k # 查找 大小等于 10k

find . -size -10k # 查找 小于 10k

find . -size +10k # 查找 大于 10k

find . -size 10M # 10m=10000k 一般不用 M 或 G,容易出错

find /bin /sbin -perm +6000 # 查找两个目录下只要具有suid和sgid权限就列出来

说明:

-perm +660 列出不包含660以及数字小的,如 600 权限 (权限比660高的)

-perm 660 列出等于660权限的

-perm -660 列出等于660以及数字大于660权限的,如 666 权限(权限比660低的)

! -perm -660 相当于 -perm +660 (取反)

-perm +6000 这个有 + 的权限在ubuntu下会报 非法权限的错误

可以使用 find /bin /sbin ! -perm -6000 命令,!求反

-type

f 普通文件

d 目录文件

l 链接文件

b 块设备文件

c 字符设备文件

p 管道文件

s socket文件

更多高级参数

参数

说明

-print

默认操作,将结果打印到屏幕上

-exec command

将找到的结果用command命令处理

# 范例:

find . -size -4c -exec ls -l {} \; # 查找本目录小于4byte的结果用 ls -l 命令列出来

说明:

-exec 和 ; 之间是执行的命令,{} 是固定格式表示把结果放进去

; 需要用 \ 来转义,注意范例中的空格

-exec ls -l {} ; 其中 ls -l 不能简写,比如用 ll

# 更多范例:

find /etc -name '*httpd*' # 可一使用通配符,查找包含httpd的文件

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值