如何在 Linux 中查找最大的 10 个文件 | Linux 中国

2018 年 3 月 31 日 Linux中国 译者jessie-pang
当系统的磁盘空间不足时,您可能会使用 df、du 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。
-- Magesh Maruthamuthu

致谢
编译自 | https://www.2daygeek.com/how-to-find-search-check-print-top-10-largest-biggest-files-in-linux/ 
 作者 | Magesh Maruthamuthu
 译者 | jessie-pang 🌟 🌟 共计翻译:9 篇 贡献时间:68 天

当系统的磁盘空间不足时,您可能会使用 dfdu 或 ncdu 命令进行检查,但这些命令只会显示当前目录的文件,并不会显示整个系统范围的文件。

您得花费大量的时间才能用上述命令获取系统中最大的文件,因为要进入到每个目录重复运行上述命令。

这种方法比较麻烦,也并不恰当。

如果是这样,那么该如何在 Linux 中找到最大的 10 个文件呢?

我在谷歌上搜索了很久,却没发现类似的文章,我反而看到了很多关于列出当前目录中最大的 10 个文件的文章。所以,我希望这篇文章对那些有类似需求的人有所帮助。

本教程中,我们将教您如何使用以下四种方法在 Linux 系统中查找最大的前 10 个文件。

方法 1

在 Linux 中没有特定的命令可以直接执行此操作,因此我们需要将多个命令结合使用。

   
     
     
     
  1. # find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

  2. 1.4G    /swapfile

  3. 1.1G    /home/magi/ubuntu-17.04-desktop-amd64.iso

  4. 564M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA

  5. 378M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8

  6. 377M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU

  7. 100M    /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0

  8. 93M /usr/lib/firefox/libxul.so

  9. 84M /var/lib/snapd/snaps/core_3604.snap

  10. 84M /var/lib/snapd/snaps/core_3440.snap

  11. 84M /var/lib/snapd/snaps/core_3247.snap

详解:

◈  find:在目录结构中搜索文件的命令
◈  /:在整个系统(从根目录开始)中查找
◈  -type:指定文件类型
◈  f:普通文件
◈  -print0:在标准输出显示完整的文件名,其后跟一个空字符(null)
◈  |:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
◈  xargs:将标准输入转换成命令行参数的命令
◈  -0:以空字符(null)而不是空白字符(LCTT 译者注:即空格、制表符和换行)来分割记录
◈  du -h:以可读格式计算磁盘空间使用情况的命令
◈  sort:对文本文件进行排序的命令
◈  -r:反转结果
◈  -h:用可读格式打印输出
◈  head:输出文件开头部分的命令
◈  n -10:打印前 10 个文件

方法 2

这是查找 Linux 系统中最大的前 10 个文件的另一种方法。我们依然使用多个命令共同完成这个任务。

   
     
     
     
  1. # find / -type f -exec du -Sh {} + | sort -rh | head -n 10

  2. 1.4G    /swapfile

  3. 1.1G    /home/magi/ubuntu-17.04-desktop-amd64.iso

  4. 564M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA

  5. 378M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8

  6. 377M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU

  7. 100M    /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0

  8. 93M /usr/lib/firefox/libxul.so

  9. 84M /var/lib/snapd/snaps/core_3604.snap

  10. 84M /var/lib/snapd/snaps/core_3440.snap

  11. 84M /var/lib/snapd/snaps/core_3247.snap

详解:

◈  find:在目录结构中搜索文件的命令
◈  /:在整个系统(从根目录开始)中查找
◈  -type:指定文件类型
◈  f:普通文件
◈  -exec:在所选文件上运行指定命令
◈  du:计算文件占用的磁盘空间的命令
◈  -S:不包含子目录的大小
◈  -h:以可读格式打印
◈  {}:递归地查找目录,统计每个文件占用的磁盘空间
◈  |:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
◈  sort:对文本文件进行按行排序的命令
◈  -r:反转结果
◈  -h:用可读格式打印输出
◈  head:输出文件开头部分的命令
◈  n -10:打印前 10 个文件

方法 3

这里介绍另一种在 Linux 系统中搜索最大的前 10 个文件的方法。

   
     
     
     
  1. # find / -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

  2. 84M /var/lib/snapd/snaps/core_3247.snap

  3. 84M /var/lib/snapd/snaps/core_3440.snap

  4. 84M /var/lib/snapd/snaps/core_3604.snap

  5. 93M /usr/lib/firefox/libxul.so

  6. 100M    /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0

  7. 377M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU

  8. 378M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8

  9. 564M    /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA

  10. 1.1G    /home/magi/ubuntu-17.04-desktop-amd64.iso

  11. 1.4G    /swapfile

详解:

◈  find:在目录结构中搜索文件的命令
◈  /:在整个系统(从根目录开始)中查找
◈  -type:指定文件类型
◈  f:普通文件
◈  -print0:输出完整的文件名,其后跟一个空字符(null)
◈  |:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
◈  xargs:将标准输入转换成命令行参数的命令
◈  -0:以空字符(null)而不是空白字符来分割记录
◈  du:计算文件占用的磁盘空间的命令
◈  sort:对文本文件进行按行排序的命令
◈  -n:根据数字大小进行比较
◈  tail -10:输出文件结尾部分的命令(最后 10 个文件)
◈  cut:从每行删除特定部分的命令
◈  -f2:只选择特定字段值
◈  -I{}:将初始参数中出现的每个替换字符串都替换为从标准输入读取的名称
◈  -s:仅显示每个参数的总和
◈  -h:用可读格式打印输出
◈  {}:递归地查找目录,统计每个文件占用的磁盘空间

方法 4

还有一种在 Linux 系统中查找最大的前 10 个文件的方法。

   
     
     
     
  1. # find / -type f -ls | sort -k 7 -r -n | head -10 | column -t | awk '{print $7,$11}'

  2. 1494845440 /swapfile

  3. 1085984380 /home/magi/ubuntu-17.04-desktop-amd64.iso

  4. 591003648 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA

  5. 395770383 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8

  6. 394891761 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU

  7. 103999072 /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0

  8. 97356256 /usr/lib/firefox/libxul.so

  9. 87896064 /var/lib/snapd/snaps/core_3604.snap

  10. 87793664 /var/lib/snapd/snaps/core_3440.snap

  11. 87089152 /var/lib/snapd/snaps/core_3247.snap

详解:

◈  find:在目录结构中搜索文件的命令
◈  /:在整个系统(从根目录开始)中查找
◈  -type:指定文件类型
◈  f:普通文件
◈  -ls:在标准输出中以  ls -dils 的格式列出当前文件
◈  |:控制操作符,将一条命令的输出传递给下一个命令以供进一步处理
◈  sort:对文本文件进行按行排序的命令
◈  -k:按指定列进行排序
◈  -r:反转结果
◈  -n:根据数字大小进行比较
◈  head:输出文件开头部分的命令
◈  -10:打印前 10 个文件
◈  column:将其输入格式化为多列的命令
◈  -t:确定输入包含的列数并创建一个表
◈  awk:模式扫描和处理语言
◈  '{print $7,$11}':只打印指定的列

via: https://www.2daygeek.com/how-to-find-search-check-print-top-10-largest-biggest-files-in-linux/

作者:Magesh Maruthamuthu[2] 译者:jessie-pang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
166+阅读 · 2020年3月27日
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
Arxiv
4+阅读 · 2019年4月17日
QuAC : Question Answering in Context
Arxiv
4+阅读 · 2018年8月21日
Arxiv
6+阅读 · 2018年3月31日
VIP会员
相关VIP内容
相关资讯
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
如何编写完美的 Python 命令行程序?
CSDN
5+阅读 · 2019年1月19日
Python用法速查网站
Python程序员
17+阅读 · 2018年12月16日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python3爬虫之入门和正则表达式
全球人工智能
7+阅读 · 2017年10月9日
Top
微信扫码咨询专知VIP会员