【51CTO.com快译】我们大多数人在系统上安装了数十个应用程序。久而久之,许多文件变得越来越大,磁盘空间将开始缩小。因此,了解哪些文件或目录在占用系统的磁盘空间很重要。好消息是,你可以在Ubuntu和类似的Linux发行版的特定目录中轻松找到最大文件。本文将介绍找到系统中最大文件的几种不同方法:
命令1:find
find命令将开始在你指定的目录中搜索,进而搜索所有可访问的子目录。可以指定多个起始目录进行搜索。下面的命令将帮助我们查找大文件。
先打开你的终端并输入命令:
- sudo-i
接下来,执行下列命令以查看最大文件,同时跳过计算机上的目录,键入这个命令:
- sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1
- $ find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10
可以使用其他的选项来查找大文件:-size选项。比如说,下一个命令将显示大于100MiB(不是100MB)的所有文件:
- find / -size +100M -ls
然而,如果你想添加最小和最大尺寸的范围,可以按照以下命令进行操作,该命令会查找100MiB和200MiB之间的文件:
- find / -size +100M -size -200M -ls
这似乎是find的完美应用。
最后,下列命令在这里也可能很适用:
- 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:
- sudo-i
然后执行以下命令:
- sudo du -a /home | sort -n -r | head -n 20
du计算主目录中的文件大小,然后进行“sort”操作,最后,由于“head”参数只考虑前20个最大的文件,因此输出将受到限制。
为了显示当前工作文件夹中最庞大的目录,只需运行:
- sudo du -a | sort -n -r | head -n 10
对上述命令作一番解释:
du命令:计算文件空间使用。
a:显示所有文件和目录。
sort命令:对文本文件的输入流进行排序(从管道的入口开始)。
-n:–numeric sort:字符串数值比较。
-r:–reverse:对比较结果进行反向处理。
head:读取所提供的列表,并准备用于标准输出。
-n:告诉返回多少行。(在我们的例子中,我们将显示限制在前10行)。
如果你想使用KB和GB,只需执行下列命令:
- du -hs * | sort -rh | head -n 10
上述命令将显示占用过多磁盘空间的最大目录。如果你认为它们无用想释放一些空间,可以删除它们。
现在为了显示最大目录/文件(包括子文件夹),请运行:
- 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:
- du -a /* 2>/dev/null | sort -nr | head -n 50
比如为了查找大小在GB范围内的所有文件,可以同时使用du命令和grep命令:
- du -h -a /dir | grep “[0-9]G\b”
命令3:ls
ls命令用于显示有关目录和文件的信息。
因此,要列出/ bin目录中的5个最大文件,执行以下命令:
- ls -lSh /bin | head -5
使用Baobab(Disk Usage Analyzer)
Disk Usage Analyzer(以前称为Baobab)是一款用于分析磁盘使用的GNOME图形实用程序。就像资源管理器一样,Baobab提供了易于阅读的菜单驱动的图形界面,显示了磁盘驱动器的内容。用户可以扫描文件系统中选择的特定部分,无论是单个文件夹、整个文件系统,甚至是远程目录。
为了安装Baobab,执行以下命令:
- sudo apt install baobab
然后只需调用baobab启动它。你会看到以下窗口:
现在,你可以选择要分析的文件系统。你可以在下面看到文件夹层次结构以及有关大小、修改日期等方面的信息。
在快照的右侧,你将看到一种反映树状信息的图表,可以用它来查看文件夹的大小及其内容。
原文标题:How to find the largest files on Linux ?,作者:amin nahdy
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】