美文网首页程序员
Linux关于磁盘空间相关命令

Linux关于磁盘空间相关命令

作者: 不知名的程序员 | 来源:发表于2018-12-13 08:27 被阅读7次

    Linux主机需要定时清理日志文件腾出空间,但有时候清理完日志文件后发现硬盘空间还是爆满,这个时候就需要手动查找出无用大文件进行清理。这里记录下常用的查看磁盘大小的命令以及一些问题。

    du:用于列出每个文件或文件夹的大小

    du是我们平常使用最多的查看磁盘容量的命令,常用的几个用法如下

    du -sch,查询当前目录总占用空间,后面也可以跟指定文件

    具体后面的参数含义,可以使用 man du 进行查看,这里不列举了。

    df:显示目前系统上文件磁盘的使用情况

    这个命令一般用于查看整个系统的磁盘使用情况,常用的有

    df -h  目录路径,查看指定目录所在磁盘使用空间

    菜鸟教程上的图。

    具体参数含义使用 man命令查看一下就好,这里的-h代表已可读的方式显示。上面每列的具体含义都有相应的英文,就不一个个说了。

    du和df命令的区别:

    既然二者都是列出系统容量,那么二者的区别在哪里呢?

    du:通过搜索文件来计算每个文件的大小然后累加

    df:通过文件系统获取空间大小

    若用户删除了一个正在运行的应用程序所打开的文件,那么du返回的值为减去了该文件后的大小,df返回的则是不减去该文件的大小,因为文件句柄还在使用,直到应用程序释放句柄df才不会将其统计在内。

    注意

    为了防止使用不同命令出现不同的结果,我们删除日志文件的时候避免直接使用 rm- rf xxx,可以采用将该文件清空的方式,比如 echo “” > xxx.log,配合shell脚本定时执行效果更佳。

    然而假如不小心使用了rm,我们需要定位出哪些文件的句柄没有被释放,即已经被删除且正在被使用的文件。使用“lsof | grep deleted” 命令找出处于删除状态下的文件,若其所在进程暂时没用,可以使用 “kill -9 pid”直接杀掉。

    参考:58沈剑老师的一篇文章--具体啥名忘记了。。。

    相关文章

      网友评论

        本文标题:Linux关于磁盘空间相关命令

        本文链接:https://www.haomeiwen.com/subject/llyncqtx.html