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

猫哥 网络技术评论字数 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-09 11:28:29
  • 转载请务必保留本文链接:https://www.588693.com/147.html
ShanaEncoder压制H.265(HEVC)参数分享 网络技术

ShanaEncoder压制H.265(HEVC)参数分享

整体的思路是,其他参数尽可能拉满画质,然后尽量仅通过控制码率来控制视频的画质与体积。 编解码器:推荐HEVC(QSV)硬解,兼顾速度与画质,也可选HEVC(NVENC)硬解,时间非常充裕选HEVC纯C...
安卓通过shell命令启动APP怎么操作 程序代码

安卓通过shell命令启动APP怎么操作

要启动Android应用程序,可以使用adb shell命令,语法如下:adb shell am start -n /。其中,是应用程序的包名,是应用程序的入口Activity名称。 相关问题 and...
匿名

发表评论

匿名网友 填写信息

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

确定