设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

妈咪,我找到了! -- 15个实用的Linux find命令示例

2013-9-27 10:20| 发布者: 红黑魂| 查看: 2222| 评论: 0|来自: 开源中国编译

摘要: 除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易。本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令。首先,在你的home目录下面创建下 ...

8. 找到home目录及子目录下所有的空文件(0字节文件)

下面命令的输出文件绝大多数都是锁定文件盒其他程序创建的place hoders

1find ~ -empty

只列出你home目录里的空文件。

1find . -maxdepth 1 -empty


 只列出当年目录下的非隐藏空文件。

1find . -maxdepth 1 -empty -not -name ".*"

9. 查找5个最大的文件

下面的命令列出当前目录及子目录下的5个最大的文件。这会需要一点时间,取决于命令需要处理的文件数量。

1find . -type f -exec ls -s {} \; | sort -n -r | head -5

10. 查找5个最小的文件

方法同查找5个最大的文件类似,区别只是sort的顺序是降序。

1find . -type f -exec ls -s {} \; | sort -n  | head -5

上面的命令中,很可能你看到的只是空文件(0字节文件)。如此,你可以使用下面的命令列出最小的文件,而不是

0字节文件。

1find . -not -empty -type f -exec ls -s {} \; | sort -n  | head -5

11. 使用-type查找指定文件类型的文件

只查找socket文件

1find . -type s

查找所有的目录

1find . -type d

查找所有的一般文件

1find . -type f

查找所有的隐藏文件

1find . -type f -name ".*"

查找所有的隐藏目录

1find -type d -name ".*"

12. 通过和其他文件比较修改时间查找文件

显示在指定文件之后做出修改的文件。下面的find命令将显示所有的在ordinary_file之后创建修改的文件。

01ls -lrt
02total 0
03-rw-r----- 1 root root 0 2009-02-19 20:27 others_can_also_read
04----r----- 1 root root 0 2009-02-19 20:27 others_can_only_read
05-rw------- 1 root root 0 2009-02-19 20:29 ordinary_file
06-rw-r--r-- 1 root root 0 2009-02-19 20:30 everybody_read
07-rwxrwxrwx 1 root root 0 2009-02-19 20:31 all_for_all
08---------- 1 root root 0 2009-02-19 20:31 no_for_all
09 
10# find -newer ordinary_file
11.
12./everybody_read
13./all_for_all
14./no_for_all

13. 通过文件大小查找文件

使用-size选项可以通过文件大小查找文件。

查找比指定文件大的文件

1find ~ -size +100M

查找比指定文件小的文件

1find ~ -size -100M

查找符合给定大小的文件

1find ~ -size 100M

注意: – 指比给定尺寸小,+ 指比给定尺寸大。没有符号代表和给定尺寸完全一样大。

14. 给常用find操作取别名

若你发现有些东西很有用,你可以给他取别名。并且在任何你希望的地方执行。

常用的删除a.out文件。

1alias rmao="find . -iname a.out -exec rm {} \;"
2# rmao

删除c程序产生的core文件。

1alias rmc="find . -iname core -exec rm {} \;"
2# rmc

15. 用find命令删除大型打包文件

下面的命令删除大于100M的*.zip文件。

1find / -type f -name *.zip -size +100M -exec rm -i {} \;"

用别名rm100m删除所有大雨100M的*.tar文件。使用同样的思想可以创建rm1g,rm2g,rm5g的一类别名来

删除所有大于1G,2G,5G的文件。

1alias rm100m="find / -type f -name *.tar -size +100M -exec rm -i {} \;"
2# alias rm1g="find / -type f -name *.tar -size +1G -exec rm -i {} \;"
3# alias rm2g="find / -type f -name *.tar -size +2G -exec rm -i {} \;"
4# alias rm5g="find / -type f -name *.tar -size +5G -exec rm -i {} \;"
5 
6# rm100m
7# rm1g
8# rm2g
9# rm5g

Find命令示例(第二部分)

若你喜欢这篇关于find命令的Mommy文章,别忘了看看第二部分的关于find命令的Daddy文章。

爹地,我找到了!, 15个极好的Linux find命令示例


英文原文:Mommy, I found it! — 15 Practical Linux Find Command Examples


参与翻译(1人)

酷毙
1

雷人

鲜花
1

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部