如何找到Linux上的最大文件?

译文
系统 Linux
我们大多数人在系统上安装了数十个应用程序。久而久之,许多文件变得越来越大,磁盘空间将开始缩小。因此,了解哪些文件或目录在占用系统的磁盘空间很重要。好消息是,你可以在Ubuntu和类似的Linux发行版的特定目录中轻松找到最大文件。

【51CTO.com快译】我们大多数人在系统上安装了数十个应用程序。久而久之,许多文件变得越来越大,磁盘空间将开始缩小。因此,了解哪些文件或目录在占用系统的磁盘空间很重要。好消息是,你可以在Ubuntu和类似的Linux发行版的特定目录中轻松找到最大文件。本文将介绍找到系统中最大文件的几种不同方法:

命令1:find

find命令将开始在你指定的目录中搜索,进而搜索所有可访问的子目录。可以指定多个起始目录进行搜索。下面的命令将帮助我们查找大文件。

先打开你的终端并输入命令:

  1. sudo-i 

接下来,执行下列命令以查看最大文件,同时跳过计算机上的目录,键入这个命令:

 

  1. sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1  

  1. $ find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10 

可以使用其他的选项来查找大文件:-size选项。比如说,下一个命令将显示大于100MiB(不是100MB)的所有文件:

  1. find / -size +100M -ls 

然而,如果你想添加最小和最大尺寸的范围,可以按照以下命令进行操作,该命令会查找100MiB和200MiB之间的文件:

  1. find / -size +100M -size -200M -ls 

这似乎是find的完美应用。

最后,下列命令在这里也可能很适用:

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

这将查找文件夹$ DIRECTORY中执行ls –s操作的所有文件。然后,结果通过sort命令加以数值排序,最后显示最后五个条目。

总之,上述命令随后将显示$ DIRETORY文件夹中最大的5个文件。

关于find命令补充一点,你可以查找最近的文件:少于或等于n天(-ctime -n)的文件或属于特定用户(-user mrlinus)的文件。

命令2:du

代表磁盘使用(disk usage)的du命令估计文件的空间使用。实际上,它可以用来获取占用硬盘上过多空间的文件和文件夹。

先输入下列命令以切换到root:

  1. sudo-i 

然后执行以下命令:

  1. sudo du -a /home | sort -n -r | head -n 20 

du计算主目录中的文件大小,然后进行“sort”操作,最后,由于“head”参数只考虑前20个最大的文件,因此输出将受到限制。

为了显示当前工作文件夹中最庞大的目录,只需运行:

  1. sudo du -a | sort -n -r | head -n 10 

对上述命令作一番解释:

du命令:计算文件空间使用。

a:显示所有文件和目录。

sort命令:对文本文件的输入流进行排序(从管道的入口开始)。

-n:–numeric sort:字符串数值比较。

-r:–reverse:对比较结果进行反向处理。

head:读取所提供的列表,并准备用于标准输出。

-n:告诉返回多少行。(在我们的例子中,我们将显示限制在前10行)。

如果你想使用KB和GB,只需执行下列命令:

  1. du -hs * | sort -rh | head -n 10 

上述命令将显示占用过多磁盘空间的最大目录。如果你认为它们无用想释放一些空间,可以删除它们。

现在为了显示最大目录/文件(包括子文件夹),请运行:

  1. du -Sh | sort -rh | head -n 10 

下面对命令进行解释:

du:du命令

-h:大小将以人类可读的格式显示(比如3MB)。

-S:不包括子目录大小。

Sort:对文本文件的输入流进行排序(从管道的入口开始)。

-r:–reverse:对比较结果进行相反处理。

-h:启用人类可读格式的数字比较(比如2K、1G)。

head:读取所提供的列表,并准备用于标准输出。

-n:告诉返回多少行。(在我们的例子中,我们将显示限制在前10行)。

如果你想要排除类型“permission denied”的错误消息,只需添加teh参数:2> / dev / null:

  1. du -a /* 2>/dev/null | sort -nr | head -n 50 

比如为了查找大小在GB范围内的所有文件,可以同时使用du命令和grep命令:

  1. du -h -a /dir | grep “[0-9]G\b” 

命令3:ls

ls命令用于显示有关目录和文件的信息。

因此,要列出/ bin目录中的5个最大文件,执行以下命令:

  1. ls -lSh /bin | head -5 

使用Baobab(Disk Usage Analyzer)

Disk Usage Analyzer(以前称为Baobab)是一款用于分析磁盘使用的GNOME图形实用程序。就像资源管理器一样,Baobab提供了易于阅读的菜单驱动的图形界面,显示了磁盘驱动器的内容。用户可以扫描文件系统中选择的特定部分,无论是单个文件夹、整个文件系统,甚至是远程目录。

为了安装Baobab,执行以下命令:

  1. sudo apt install baobab 

然后只需调用baobab启动它。你会看到以下窗口:

现在,你可以选择要分析的文件系统。你可以在下面看到文件夹层次结构以及有关大小、修改日期等方面的信息。

在快照的右侧,你将看到一种反映树状信息的图表,可以用它来查看文件夹的大小及其内容。

原文标题:How to find the largest files on Linux ?,作者:amin nahdy

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2019-11-14 05:00:00

Linux文件磁盘空间

2021-11-06 23:19:39

Python电脑文件

2021-11-26 22:01:26

Linux传输网络

2013-03-22 14:42:01

OSS开放存储服务云计算

2019-04-25 13:30:14

Linux文件分身

2018-01-31 12:40:48

Linux命令文件搜索

2015-08-25 15:53:08

LinuxcURL

2021-02-03 10:43:54

Linux系统磁盘

2021-12-29 15:02:48

Linux清空文件

2021-06-10 09:05:43

Linux命令大文件切割

2018-10-17 09:20:31

Linux命令重复文件

2018-03-30 17:51:17

Linux命令查找文件

2019-06-10 08:15:52

Linux命令

2020-03-24 08:00:00

Linux日志文件

2018-08-21 09:20:15

Windows 10WindowsWindows.edb

2019-02-26 10:15:13

GitHub 开源代码

2020-02-24 11:37:56

Linux重定向管道

2023-12-20 22:04:17

Linux二进制文件

2020-12-28 06:44:45

FedoraLinux RPM文件

2019-05-09 08:00:14

Linux服务器安全僵尸网络
点赞
收藏

51CTO技术栈公众号