[博主公告]

“linux大棚”是一个以Linux技术专题为主的博客。
本博客为了保证读者的浏览体验,决定不刊登任何广告信息。

专题

文章发布时间日历

September 2010
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
27282930  
    <<返回主页

  • 06Sep

    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”

    over~

    我猜您对这些文章感兴趣:

    Posted by rocrocket @ 3:29 pm

    Tags: , , , ,

    4,128人阅读过了这篇文章。

    如果您还满意我的文章,请您订阅我的博客。点击“我要订阅”即可。谢谢:)

  • <<返回主页

9 Responses

WP_Cloudy
  • linux大棚 » Blog Archive Says:

    [...] 《find技巧》-“linux命令五分系列”之一 [...]

  • 沙漠风暴 Says:

    如果是在当前文件夹下面查找某些字符串呢? 我觉的这个也应该详解解说一些 呵呵

    回复

    rocrocket Reply:

    那就用grep就可以了。不需要find的。

    回复

    沙漠风暴 Reply:

    @rocrocket,
    怎么用法?请教!

    回复

    rocrocket Reply:

    用法就是:
    grep -r 要查找的文字 文件列表
    比如我要查当前文件夹下的文本文件中包含hello rocrocket的文件,就这样写:
    grep -r “hello rocrocket” *

    沙漠风暴 Reply:

    @沙漠风暴,
    貌似不行哟!
    find . -name \* -type f -print | xargs grep -n “xxxx”
    这样才可以。

    沙漠风暴 Reply:

    @rocrocket,
    站长给你发邮件,怎么没有回?---请教git的问题。

    回复

    rocrocket Reply:

    @沙漠风暴, 肯定可以的 最后的星号你打上了吧。 呵呵。 grep -r keywords *

    回复

    沙漠风暴 Reply:

    @rocrocket,
    加上星号就可以,不过感觉速度有些慢…估计是目录下的文件夹较多….

    回复

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.