请关注本头条号,每晚坚持更新原创干货技术文章。
如需学习视频,请在陌陌搜索公众号“智传网优”直接开始自助视频学习
1.序言
经过一段时间使用后,我们会发觉Linux的可用c盘空间越来越少,这时我们就须要确切地定位什么文件或则什么目录占用了空间,而且有按大小排序文件或目录的需求。
这么,怎么使用Linux命令对系统文件中的目录或则文件进行统计linux压缩命令,并查找出Linux系统上最大的文件呢?
一般我们有必要须要晓得什么文件或则目录正在吞噬着c盘空间。更进一步来说,就是须要在文件系统中的特定目录如/tmp,/var或则/home下查找。这篇文章将帮助我们在文件系统中查找最大的文件或目录。
linux查找最大文件15个实用案例
2.linux按硬碟空间占用的大小查找文件或则目录相关的命令
这儿没有简单的命令让我们在Linux/UNIX/BSD文件系统中找到最大的文件/目录。但我们可以通过如下的四个命令组合使用来实现:
3.linux查找最大文件和目录(文件夹)实用案例
在控制台输入如下命令找出/var/mysql目录下最大的10个文件和目录:
[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10
假如须要更佳的可读性,可以执行以下命令:
[root@zcwyou ~]# cd /path/to/some/where [root@zcwyou ~]# du -hsx * | sort -rh | head -10
linux查找最大文件和目录(文件夹)实用案例
参数解释:du-h:以人可读的格式显示(eg.1K,234M,2G)
du-s:显示每位参数的总量。(summary)
du-x:排除目录
sort-r:倒序(reverse)
sort-h:humanreadable
head-10或则head-n10:显示前10条。
用如下的命令找出/usr/share/zcwyou目录和其子目录下最大的文件:
[root@zcwyou ~]# find /usr/share/zcwyou -printf '%s %pn'| sort -nr | head -10
找出当前目录和其子目录下最大的文件:
[root@zcwyou ~]# find . -printf '%s %pn'| sort -nr | head -10
我们可以跳过个别特定目录,仅显示文件,输入:
[root@zcwyou ~]# find /path/to/search/ -type f -printf '%s %pn'| sort -nr | head -10
或则
[root@zcwyou ~]# find /path/to/search/ -type f -iname "*.mp4" -printf '%s %pn'| sort -nr | head -10
或则构建一个命令别称,用命令abc取代du-cks*|sort-rn|head
采用alias
alias abc='du -cks * | sort -rn | head'
运行如下命令来获取最大的10个文件或目录:
[root@zcwyou ~]# abc
4.linux查找最大文件和目录(文件夹)常见应用场景
du命令的常用使用场景
使用句型
du-sh[dirname|filename]
统计并显示当前目录占用的c盘空间大小
[root@zcwyou ~]# du -sh .
当前目录下个文件或目录的大小:
[root@zcwyou ~]# du -sh *
显示前10个占用空间最大的文件或目录:
[root@zcwyou ~]# du -s * | sort -nr | head
选项-h
以人类易读的格式显示指定目录或文件的大小
选项-s
选项指定对于目录不详尽显示每位子目录或文件的大小
找到Linuxc盘或目录中最大的n个文件
du加上了-a选项,可以看见所有的目录和文件大小,根据大小排序,就可以得到最大的n个文件了:
在目录/var/zcwyou中统计文件和目录大小,使用du命令,du-k选项表示文件大小显示为KB,然后根据大小排序linux搜索文件所在目录linux命令行和shell脚本编程宝典,显示前n行,这儿n=10:
[root@zcwyou ~]# du -ak /var/zcwyou | sort -nrk 1 | head -n 10
里面的命令不但显示文件,并且显示目录,假如不想显示目录,可以先用find命令找出所有的文件,再执行前面的命令:
[root@zcwyou ~]# find /var/zcwyou -type f -exec du -k '{}' ; | sort -nrk 1 | head -n 10
下边的命令同样可以实现类似的疗效:
[root@zcwyou ~]# find /var/zcwyou -type f -exec ls -l '{}' ; | awk '{print $5,$NF}' | sort -nrk 1 | head -n 10
里面的命令查找的都是目录及子目录下的文件,假如不找子目录,那就简单了,由于ls有个选项,可以根据文件大小排序linux搜索文件所在目录,执行以下命令
[root@zcwyou ~]# ls -lhS /home/zcwyou | head -n 11
linux查找最大文件和目录(文件夹)常见应用场景
5.Linux查找最大的文件夹
运维的时侯常常遇见df-hc盘空间快满了的情况,通常来说是因为循环日志过大造成。
使用下边的命令,能更快地定位问题所在。
案例:查找根目录下的最大文件夹:
[root@zcwyou ~]# cd / [root@zcwyou ~]# du -sh ./* sort
Linux查找最大的文件夹
6.结合`find`命令找到Linux文件系统里最大的10个文件
使用方式如下:
[root@zcwyou ~]# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10
7.linux查找最大文件或目录相关的命令应用
命令作用find搜索文件命令/在整个/目录搜索-type指定文件类型f类型为普通文件-print0标准输出完整文件名,后跟空字符(null)|管线符,前的命令给后的命令处理xargs把标准输出转换为命令行参数-0以空字符(null)来分割记录du-h查看c盘使用情况(可读格式估算)sort文本排序-r反转结果-h复印输出(可读格式)head开头n-10复印前十
8.总结
在Linux系统里灵活结合各类命令工具,可以十分高效地按照各类条件找到相关的文件。
本文已同步至博客站,尊重原创,转载时请在正文中附送以下链接: