Linux磁盘空间满清理
1.查看空间情况
df -lh
如显示空间已满
通过下面的命令,我们可以查看当前目录下文件夹的大小
du -h --max-depth=1,其中--max-depth是指文件夹的层级,例如1就是指当前目录下的文件夹,如果我们想对输出结果排序,可以使用下面的命令:
du -h --max-depth=1 | sort -nr,
如果我们想对上面的结果只输出前n个结果,可以使用下面的命令:
du -h --max-depth=1 | sort -nr | head -n
2.如df -lh显示空间还有,但是显示空间占满。则df -i,查看inode情况
df -i
如inode满,则删除无用的临时文件,释放inode。
通过以下脚本进行检查,查看到底哪个目录下面的文件最多:
for i in /*; do echo $i; find $i | wc -l; done(如果确定是某个目录下面,则/转换为该目录绝对路径,如/var/spool,则使用for i in /var/spool/*; do echo $i; find $i | wc -l; done)
或者
ls -lt /tmp | wc -l
同时,0字节的文件也会占用inode,应该也释放。
find /home -type f -size 0
3.如inode也显示空间没有满,则查看df -h与df -i是不是差异很大。
如果差异很大,那么则可能是rm删除文件时,文件被占用,那么进程在读取该文件,磁盘被一致占用,没有被释放
运行命令:
lsof |grep delete
kill 掉进程