使用find搜索硬盘上最大的目录或文件

您是否从未想过知道硬盘上最大的文件夹或文件?

命令 发现 很棒,它允许我们做很多事情(我们已经在这里讨论过其中的一些内容),在这里我为您带来了另一种用法。

以下命令将搜索整个硬盘,并告诉我们哪些是计算机上最大的10个文件或文件夹:

sudo find / -printf '%s %p\n'| sort -nr | head -10

如果您不仅想知道最大的10个,还想知道20个或类似的东西,只需将最后10个交换为所需的那个即可。

如我之前所说,如果您只想考虑 文件夹 将添加-type d(d =目录):

sudo find / -type d -printf '%s %p\n'| sort -nr | head -10

相反,只想看 记录 并且没有文件夹是-type f(f =文件):

sudo find / -type f -printf '%s %p\n'| sort -nr | head -10

如果要指定文件类型,即仅考虑.mp4,则只需添加-iname“ * .mp4”:

sudo find / -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10

就我而言,我拥有的最大文件是虚拟服务器的虚拟硬盘 KVM+ Qemu,然后是足球录像带(加雷斯·贝尔与皇家马德里的演讲)和其他内容。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   鲍里萨德里安

    我正是想知道我在根中占据了更多空间从而能够释放它的地方。

    谢谢。

  2.   爱德华多

    很好的文章,非常有用。 非常感谢您……顺便问一下,哈拉马德里! 呵呵呵

    1.    飞思康

      我在这里加入马德里小组
      一段时间前,我安装了centos 6.5 minimal,并遇到此错误,我通过编辑/ etc / hostname解决了该问题,因为apache无法识别在网卡配置中写入的主机名

  3.   3 日 3 日

    如果有什么我喜欢的 «Desde Linux» 是这些宝石总是出现在控制台上,让我们在零和一之间的生活变得更加舒适。太感谢了 KZKG ^ Gaara!

  4.   沃克斯

    我发誓我已经在此博客中阅读了其他方法,因为发现它后,我就不能没有它:

    南都

    它是默认情况下不提供的交互式命令(您必须从发行版软件包中安装它),但是它非常有用。 它按大小对文件排序,显示条形图或它们在分区上占据的空间的百分比。 这是从互联网上截取的屏幕截图 http://www.heitorlessa.com/wp-content/uploads/2013/04/NCDU-1.9-Disk-stats.png

  5.   维达格努

    也可以使用du命令来完成。
    这是找到文件夹

    $ du -Sh | 排序-rh | 头-n 15

    而这个找到最大的文件。

    $查找。 型f -exec du -Sh {} + | 排序-rh | 头-n 15

    $查找。 型f -exec du -Sh {} + | 排序-rh | 头-n 15

  6.   哈普80

    每个选项的解释是什么?

  7.   路易斯·加戈·卡萨斯

    非常好的文章对我有很大的帮助。
    非常感谢您的分享。

  8.   罗杰里奥·雷耶斯(Rogelio Reyes)

    有谁能够帮助我? 我需要一个在目录内查找所有大于0字节的.txt文件并将其移动到另一个目录的命令,到目前为止,我仅发现以下内容:

    找。 -type f -size + 1b -exec mv /home/oradev/new/*.txt / home / oradev / move \;

    但是移动所有文件,而不管其大小。

  9.   江淮汽车

    感谢您的命令!

    他曾在其他场合使用过它,但仅在“脚本小子”模式下使用过……因为匆忙而已。

    即使find是一个非常常用的命令(-name,-exec),我也无法很好地阅读整本手册。

    我已经意识到了这个宏伟的工具所具有的残酷力量……但是现在我更加仔细地看到了它,并且更加佩服了它。

    在这里,您可以使用西班牙语:
    http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/find.1.html

    令人ch舌的是,这些参数不是更直观……要么是因为您已经了解了它们,要么就知道了它们;或者在没有更多otas的情况下搜索inet或man。

    再次感谢,并一如既往地感谢GNU!

    一个问题...出于好奇:

    当您放置“ printf”参数来查找...
    find是否使用系统printf命令,还是在find中实现了printf?

    我之所以这样说,是因为printf是永远在系统中实现的命令,但是我个人从来没有必须至少直接使用...。

    您好!

    江淮

  10.   杜文

    你能告诉我如何执行 sudo find / -type f -printf '% s% p \ n' | 排序-nr | 头-10
    避开一些路线?

    我有例如:
    / 开发 / sda2 19G 16G 2.8G 85% /
    udev 10M 0 10M 0% / 开发
    tmpfs 3.2G 329M 2.9G 11%/运行
    tmpfs 7.9G 153M 7.8G 2% / dev / shm
    tmpfs 5.0M 0 5.0M 0%/运行/锁定
    tmpfs 7.9G 0 7.9G 0% / sys / fs / cgroup
    /dev/sda1 453M 37M 389M 9%/开机
    /dev/drbd3 477M 2.3M 445M 1%/var/lib/nfs
    /dev/drbd1 1.9T 821G 1005G 45%/nfs/home
    /dev/drbd2 2.9T 960G 1.8T 36%/nfs/homearchive
    /dev/drbd0 962G 426G 488G 47%/nfs/池

    并在运行时 find / -type f -printf '% s% p \ n' | 排序-nr | 头-10
    我从/nfs/获取文件
    我想忽略那个