查看隐藏文件大小

# 说明

在linux运维中,经常会出现莫名的磁盘爆满,但通过du -sh * 发现文件占用不大,这个时候就要怀疑是不是隐藏的文件占用了较大空间。 注意 Linux 里的文件被删除后,空间没有被释放是因为在 Linux 系统中,通过 rm 或者文件管理器删除文件将会从文件系统的目录结构上解除链接 (unlink) 。然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。装态为 deleted 为标记被删除,其实该文件并没有从磁盘中删除,类似windows下的回收站状态。

# 方法

查看隐藏的文件大小方法:

du -sh .[!.]*
1

.[!.]*是正则式, 意思是第一位是点, 第二位是除了点以外的任何字符, 第三位是任意字符或者不存在

后面可以再加一个" *"来包括非隐藏文件,也就是:

du -sh .[!.]* *
1

后面还可以接 sort -h来对占用空间进行排序(sort 的 -k2 可以指明根据第二列来排序)

下面这条命令就是显示所有隐藏文件和非隐藏文件的大小并根据占用空间排序的语句

du -sh .[!.]* * |sort -hr
1