排序只显示前5_Linux 文件大小统计与排序 du,df 和 sort!
不甩锅的码农
行胜于言,和锅锅一起成长。
01
du 与 df 作用与区别?
Linux 最有用最常用的统计文件大小命令是什么?无疑就是 du 和 df 了。
du(disk usage)
du 能看到的文件只是一些当前存在的,没有被删除的。
df(disk free)
当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失,而是暂时消失,当所有程序都不用时,才会根据 OS 的规则释放掉已经删除的文件,df 记录的是通过文件系统获取到的文件的大小,它比 du 强的地方就是能够看到已经删除的文件。
df 和 du 不一致情况就是是否可看到被删除的文件,这也是 df 统计可能比 du 统计大的原因。
02
du 常用命令示例
du -a # 显示当前目录下所有文件所占空间(含隐藏文件);
du -h # 显示当前目录下所有文件及目录(包含子目录下内容)大小,-h 会换算成 K、M、G 等人类易读结果;
du -s # 显示当前目录总大小;du -sh # 统计当前文件夹内容总大小,-s 参数显示总计;
du -sh [文件夹1] [文件1] # 统计当前目录下的文件夹或文件大小;
du -sh /usr/local # 显示指定目录大小;
du -sh * #显示当前目录下每个文件夹或文件的大小;
du -h --max-depth=1 [目录] # 只显示指定目录下第一层目录的大小;
du -h --max-depth=2 [目录] # 只显示指定目录第一、二层目录的大小;
03
sort 常用参数
(sort 作用是将文件内容排序,以行为单位)
-n # 依照数值的大小排序;
-r # 以相反的顺序来排序;
-o # 将排序后的结果存入制定的文件;
-b # 忽略每行前面开始出的空格字符;
-c # 检查文件是否已经按照顺序排序;
-f # 排序时,将小写字母视为大写字母;
-m # 将几个排序号的文件进行合并;
?以下几个参数与 -n 排序方式互斥:
-i # 排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-d # 排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-M # 将前面3个字母依照月份的缩写进行排序;
04
常用组合 du + sort + head
du -a /temp/logs | sort -nr # 按照文件大小从大到小排序(含隐藏文件);
du -h /temp/logs | sort -nr | head -n 10 # 按照文件大小从大到小排序,显示 Top10;
du -m --max-depth=1 /temp/logs | sort -nr | head -n 10 # 指定目录第一层,显示前 Top10,-m: 统计单位为MB,为什么不用-h?sort 大小排序只看数字,不看单位,可能会导致 2G 反而排序在 200M 之后;
du -m --max-depth=1 /temp/logs | sort -nr -o 'sort.txt' | head -n 10 # 使用sort -o 参数将排序结果存入指定文件sort.txt 中。
05
如何删除文件,如大的日志文件?
通常使用 rm 命令删除文件以释放空间。但是我们无法删除文件是非常常见的,因为应用程序此时正在使用该文件,直接删除它们会产生有害影响,例如挂起应用程序,应用程序崩溃等。
一:空字符串覆盖文件内容,是删除文件的一种优雅方式
echo "" > info.log
二:echo 不管用的特列情况,使用如下步骤
(1)du -sh * # 查看文件的使用情况;
(2)du -h --max-depth=1 [文件目录]| sort -nr # 查找占用磁盘的文件目录的大文件,删除日志(优雅使用 echo "" > xx.log),发现磁盘使用率仍未下降;
(3)lsof | grep delete # 发现有文件句柄并未释放的大文件,导致磁盘使用率未下降,文件已经 deleted 了,但是进程还未结束,所以直接kill;
(4)kill -9 [pid] # kill 这个进程(这个要根据线上实际情况来看是否可以被 kill,最好优雅关闭进程),最后查看 df -h 恢复正常。
06
小结
du 常用的组合命令是与sort、head一起使用,排序找出最大的那批文件。在遇到磁盘溢满问题的时,可以与 find 命令合用找出最大的那一批文件删掉。与 sort 排序统计时使用具体的-m、-k参数,而不是用-h,否则会导致统计不准确。因为sort -n是根据数字大小,而不是单位进行统计。还有生产环境删除大文件的一些操作套路。
1
END
1
「转载,请注明来源 "不甩锅的码农" 公众号」封面-斑头雁
微信公众号「留言」功能,腾讯官方在2018-03-12公告对新开通的公众号进行关闭,以响应国家政策。对交流造成不便,可直接对公众号发送信息进行留言!
「往期原创系列推荐」
Linux 文件与目录命令的必会姿势!
Linux 查看文件内容的5个命令姿势!
Linux 揭开神器 vim 面纱!
Linux 命令三剑客之-sed!
Linux 三剑客之-grep!
Linux 三剑客之-awk!
Linux 文件查找神器-find!
不甩锅的码农
行胜于言,和锅锅一起成长。
关注
你“在看”我吗?
排序只显示前5_Linux 文件大小统计与排序 du,df 和 sort!相关推荐
- 一张表按分类查询:只显示前2行
描述:按登录用户名称查询:登录用户有用很多.按登录用户进行筛选,并每个登录用户类只显示前2行 sql代码 select * from sys_user_login_log s where 2>( ...
- 网易云网页端歌单只显示前20首解决方法
网易云网页端歌单只显示前20首解决方法 现象说明 网易云网页端不给听完整的歌单了,只能听前20首,想听到歌单列表中的所有歌曲,怎么解决. 处理办法 用开发者工具将cookie的os改为pc即可解决. ...
- 009 Linux 文件大小统计与排序( du于df和sort)
01 du 与 df 作用与区别? du(disk usage) df(disk free) 02 du 常用命令示例 03 sort 常用参数 04 常用组合 du + sort + head 05 ...
- mysql只显示前几行_常见数据库SELECT结果只显示前几条记录方法汇总
为了查看数据表中的数据情况.经常会遇到想让查询结果只显示N行,比如只显示10行的情况.不同的数据库有不同的关键字和SELECT实现语法. 1.SQL Server数据库 select top 10 ...
- html 账号只显示前3位,只知道手机号码前三位还有名字能查到全部号码 – 手机爱问...
2018-04-01 新浪的地址是什么呢? 请注意:如果您的邮箱已经开始收费,退订成功后,从下个月起将不会从您的手机上再次扣费.退订后,您的收费邮箱到期后将不能使用,所以请您一定要做好备份. 退订请您 ...
- java 获取年 两位,java使用jxl读取日期年份只显示前两位的解决方法
上传的excel日期为"1988/9/1",java使用jxl包读取结果为"19-9-1",年份缺少了前面的两位. 解决方法是使用DateCell. 如下面的代 ...
- 将手机号,银行卡,身份证只显示前三位和后四位。为了保护用户的信息
/* * 隐藏中间位,首尾各保留3位 * @param map 传入Map集合 * @param key 传入需要加密value所对应map中的key数组 * ...
- elementUI table自定义表头弹框搜索,排序,显示tag标签
elementUI table自定义表头弹框搜索,排序,显示tag标签 允许一种排序,多种搜索条件 包括三种类别,添加了solt插槽,也可以自定义: 输入框[input] 多选[checkbox] 范 ...
- ##英语文本的单词统计 排序并输出前5%
## 英语文本的单词统计 排序并输出前5% /*统计英语文本英语个数及150%***************************************************** *//* /* ...
最新文章
- python多项式回归_Python 多项式回归 - 树懒学堂
- Android 个人学习笔记- 导入android项目,无法自动生成R文件的解决方法
- relu不可微为什么可用于深度学习
- 区块链软件公司:区块链使用程序如何成为战胜商场应战的垫脚石
- 跟我学 Java 8 新特性之 Stream 流(七)流与迭代器,流系列大结局
- Request/Response【学习笔记03】
- php 比java 快_php比java要快在哪里
- 操作系统(王道笔记第三章内存)
- 微软警告:Office 已遭IE RCE 新0day 攻击
- windows server 2008配置之AD域服务器 2
- win10计算机管理看不见蓝牙,如何解决Win10设备管理器找不到蓝牙?
- 环境配置之:pip 一步到位解决 pytorch-gpu 安装
- Word多级标题测试-去掉标题多级编号
- matlab程序求反应谱,MATLAB程序精确法求解反应谱
- 千方百剂创建账套服务器文件,千方百剂辅助工具使用手册(图解).doc
- 洛谷试炼场P1035 级数求和
- 计算机病毒是谁做的,第一个制造电脑病毒的人是谁?
- linux mod jk.so,linux - mod_jk无法连接Apache和tomcat - SO中文参考 - www.soinside.com
- 服务器遭到newinit.sh木马挖矿攻击记录
- 重构ElementUI解决DatePicker日期选择组件修改父组件placement参数问题[Vue.js项目实践: 新冠自检系统]