|
|
51CTO旗下网站
|
|
移动端

Linux上查找最大文件的 3 种方法

如何找到系统上这些大文件,然后进行一番磁盘空间清理呢,这篇文章就此介绍几种查找大文件的方法。

作者:CloudDeveloper来源:Linux云计算网络|2019-11-14 05:00

有时候我们在系统上安装了数十个应用程序,随着使用时间的推移,许多文件变得越来越大,从而导致磁盘空间越来越小。那么问题来了,如何找到系统上这些大文件,然后进行一番磁盘空间清理呢,这篇文章就此介绍几种查找大文件的方法。注意:仅限于Linux系统。

第一种:ls

最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。

比如,我要列出 /bin 目录中的 5 个最大文件,可以:

  1. ls -lSh /bin | head -5 

第二种:find

find 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。

比如,查找 / 目录下最大的一个文件:

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

如果要找前 10 个大文件呢,可以这样:

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

也可以使用 -size 选项来查找,以下命令将显示大于100MiB(注意不是100MB,MiB和MB的区别,emmm)的所有文件:

  1. find / -size +100M -ls 

也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件:

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

最后,下面这个命令也比较常用,查找某个目录最大的5个文件:

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

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

第三种:du

du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。

比如,查找 /home 下前 20 个最大的文件:

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

查找当前文件夹中最大的 10 个目录:

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

如果要显示可读的KB、MB、GB信息,可以加上 -h 参数:

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

查找最大目录/文件(包括子文件夹):

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

如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令:

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

OK,以上便是 3 种 Linux 系统上查找大文件的方法,希望大家都能掌握。

【编辑推荐】

  1. 如何快速以管理员权限运行Linux命令?
  2. Linux运维常见故障及处理的 32 个锦囊妙计
  3. 1分钟学会U盘启动安装Linux系统
  4. 确认了!微软Edge浏览器将发布Linux版
  5. Linux下4种实时监控日志文件的方法,总有一种适合你
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

376人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

136人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

282人订阅学习

读 书 +更多

Cisco CCNA 640-802题库

Cisco 640-802 Cisco Certified Network Associate (CCNA) Testinside CCNA 640-802 V14 最新题库与Testinside CCNA 640-802 Q&A 192 ...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微