1.检查磁盘使用情况
#显示每个挂载点的磁盘使用量,以及可用空间和使用率
df -h
#显示当前目录的全部文件和目录(包括隐藏的),以MB显示
ll -h
2. du查看最大的目录或文件
#逐级检查某个目录下各个子目录的大小。从根目录开始,逐级深入,以找到占用最多空间的目录或文件。
du -lh --max-depth=1 /path/to/directory
du常用的选项:
-h:以人类可读的方式显示
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
-l :统计硬链接占用磁盘空间的大小
-L:统计符号链接所指向的文件占用的磁盘空间大小
3. find查找大文件
#查找大于 100MB 的文件。扫描整个文件系统,可根据需要调整大小阈值。
find / -type f -size +100M
#查看超过100M大小的文件及其相关信息
find / -type f -size +100M -print0 | xargs -0 ls -l
#查找超过100M大小文件,并显示查找出来文件的具体大小
find / -type f -size +100M -print0 | xargs -0 du -h
#查找超过100M大小文件并对查找结果按照文件大小做一个排序
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
4.清理不必要文件
检查 /var
目录下的文件,比如/var/log
目录下的日志文件
5.清理临时文件
检查 /tmp
目录下的临时文件
#命令删除一周前的临时文
find /tmp -type f -mtime +7 -exec rm {} \;
6. 查找被删除但仍然打开的文件
#命令来查找已被删除但仍然被进程占用的文件。这些文件不会释放磁盘空间,直到相关进程关闭。
lsof | grep deleted
#如果出现 no pwd entry for uid xxx 执行下列代码,只查看删除的
llsof -w | grep deleted
#mount 命令对文件夹进行了绑定需要释放,删除挂载
umount /dev/sdb1
7.清理软件包缓存
#清理软件包管理器的缓存
apt-get clean(Ubuntu/Debian)或 yum clean all(CentOS/RHEL)