linux中,查找大文件及清除其内容的方法

猫哥
猫哥
猫哥
107
文章
4
评论
2015-01-0911:28:29
评论
1117字阅读3分43秒

linux操作系统中,经常会遇到磁盘空间满的问题。如下图1所示:

linux中,查找大文件及清除其内容的方法图1

遇到这样的问题,首先查下那个挂载点磁盘空间满。

方法一:然后cd到该挂载点下,本例中挂载点为"/",见图2:

linux中,查找大文件及清除其内容的方法

图2

磁盘空间满,很多情况下是由于大文文件引起的,若文件不大,则一定是文件过多引起的,至于引起这个更深一层的原因,先不探讨。

怎么查看大文件所在的路径,linux中有一个命令,叫du,先贴命令:du -m --max-depth=1或du -h --max-depth=1

du:用于统计linux中文件或目录所占磁盘空间的大小

du参数######

-m:以M为单位展示查询结果

-h:以K、M、G为单位展示查询结果,提高信息可读性

--max-depth=1:其中,数字“1”是指查询结果中最多显示的目录层数,这里指最多显示一层目录。

cd到挂载点后,执行du -m --max-depth=1或du -h --max-depth=1命令,示例如下:

linux中,查找大文件及清除其内容的方法

图3

作为对“du -m --max-depth=1”的一个优化,还可以使用“du -m --max-depth=1 |sort -nr”命令,这个命令的含义是统计目录所占磁盘空间的大小,并按数值的从大到小进行排序。

linux中,查找大文件及清除其内容的方法

图4
然后,利用此命令,cd到/opt目录,再次利用“du -m --max-depth=1或du -h --max-depth=1”找出/opt目录中占用磁盘较大的文件或目录,这样逐层(目录)深入就一定会查询到大文件所在目录,当然也有可能是目录中文件过多所致。

特别注意:

      以上方法只是对目录大小,进行判定,所以当确定某目录过大时,最好是cd到该目录,查看下有无大文件,然后再确定是否进入下一层目录。

当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容:

echo > /opt/log/big.log

此命令会把/var/log目录中的big.log文件内容清除,而又不删除big.log文件

cat > /opt/log/big.log

此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束

clear > /opt/log/big.log

此命令会把big.log文件内容清空,而不删除文件

同样的效果,用true、flase、“:”等也能实现清空文件内容,而不删除文件的效果

true > /opt/log/big.log
flase > /opt/log/big.log
: > /opt/log/big.log

若想删除文件,只需利用rm命令即可

rm -f  /opt/log/big.log

继续阅读
猫哥
  • 本文由 发表于 2015-01-0911:28:29
  • 转载请务必保留本文链接:https://www.juejinpai.com/2015/01/147.html
扩展 MBR 分区及文件系统(小于2TB) 网络技术

扩展 MBR 分区及文件系统(小于2TB)

操作场景 当您的云硬盘在已有 MBR 分区并已创建文件系统的情况下,已扩容至小于2TB。则请根据实际情况,通过以下两种方式扩展分区及文件系统: 将扩容部分的容量划分至原有 MBR 分区 将扩容部分的容...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: