Linux命令学习:find

1. 想查看当前文件夹及子文件夹里有没有文件名为“abc”的文件

# find . -name abc

. :表示当前目录

-name:表示要根据名称查找

2. 想查看当前文件夹及子文件夹里有没有”xyz”目录

# find . -type d -name xyz

-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)

3. 想找出当前文件夹及子文件夹里所有后缀是”.txt”的文件

# find . -name “*.txt”

4. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些

# find . -user roc

-user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称

5. 想查找当前文件夹及子文件夹里权限设定为755的所有文件

# find . -perm 755

-perm:用于设定权限

6. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术

# find . -regex ‘.*b.*3′

-regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。

7. 如果想全部输出用find命令查找出的”*.abc”文件的内容

# find . -type f -name “*.abc” -exec cat {} \;

-exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数

可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)

命令最后的{} \; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。

8. 查找当前目录下在5分钟内被访问过的文件

# find . -amin -5

访问过用amin,修改过用mmin,文件状态改变过用cmin

精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

在5分钟之内的用-5,在5分钟以上的用+5

9. 想查找当前目录及子目录下文件大小大于10M的所有文件

# find . -size +10000000c

-size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。

10. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:

# find . -maxdepth 1 -name “*.c”

11.将查找结构输入到文件filename (-fprint filename):

#find . -name "*.cpp" -fprint temp.txt;

find命令默认将查找的结果输出到屏幕(等同-print效果),使用fprint可以将结果转存到其他文件,方便分析

12.使用混合方式查找:(-and(-a) -or(-o))

#find ~ -size +10000000c -a -size -20000000c -exec ls -l {} \;

在用户目录下查找大小在10M-20M之间的文件,并列出详细信息,注意:-exec 最后的{}和\间有空格,固定格式

#find . -name "*.h" -o -name "*.cpp";

13.配合xargs使用:

#find . -name "*.tmp" | xargs echo " " > "temp.txt"

上面的例子类似于-fprint,有些系统对-print,-fpint,-exec的命令有长度限制,在执行时通常会出现参数列溢出的错误,这时xargs就派上用场了;

xrags将前面命令的每一行输出作为后面命令的参数

前面部分转自:http://roclinux.cn/?page_id=3759

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值