在搜索占用空间最多的目录时如何排除某个目录?

在搜索占用空间最多的目录时如何排除某个目录?

我使用的是 Ubuntu 14.04。我想找出哪些目录占用了最多的空间,所以我运行这个命令

sudo du -a / | sort -n -r | head -n 100

问题是,返回的大多数目录属于单独的分区,

1048580 /mnt/volume-nyc1-01/postgresql/9.5/main/base/16419/57411.6

如何/mnt/volume-nyc1-01/从列表中排除该分区?

答案1

来自man du(注意:这适用于 GNU du,它应该适用于您的情况):

--exclude=PATTERN
       exclude files that match PATTERN

例如

sudo du -a --exclude='/mnt/volume-nyc1-01/*' / | sort -n -r | head -n 100

然而在这种情况下,更好的选择可能是使用

   -x, --one-file-system
          skip directories on different file systems

选项例如

sudo du -ax / | sort -n -r | head -n 100

(管道中的其他sudo命令不是必需的)。

相关内容