挂载点下隐藏文件夹的大小

时间:2012-11-05 17:15:52

标签: linux storage local-storage mount

我试图猜测linux系统上使用的磁盘。问题是,使用像'du -kxa / | sort -g'这样的命令,我发现使用的空间比文件系统报告的空间少(来自19Gb分区的8Gb)。我怀疑在几个挂载点下有隐藏文件和文件夹。我无法卸载磁盘,因为它是一台生产机器,无法轻松停止。

问题是:

在linux上如何获取隐藏在挂载点下的文件夹和文件?有没有办法衡量这个空间?

Linux版本:Redhat enterprise linux server 5.3。

2 个答案:

答案 0 :(得分:13)

这不是一个真正的编程问题,所以可能有一个更好的论坛。但是,正如快速回答一样,这是绑定挂载有用的一件事。假设我有两个单独的文件系统/usr/usr/local,您可以执行此操作以查看/usr/local是否隐藏任何内容:

mkdir /tmp/usr
mount --bind /usr /tmp/usr
ls /tmp/usr/local
# clean up if necessary
umount /tmp/usr
rmdir /tmp/usr

答案 1 :(得分:-2)

隐藏文件(名称以点开头)仅存在于ls命令和shell文件扩展中。否则,它们只是名称以点开头的文件。

此外,如果文件系统没有更多名称,则文件系统仍然可以使用空间。对于某些进程仍然打开的文件,可能会发生这种情况,unlink(2) - 其姓氏。

您可以使用lsof找出哪些进程正在打开某些文件。您可以使用/proc/1234/fd来获取进程1234的打开文件。

要获取某个目录下的隐藏文件,可以使用

 find /some/dir -name '.*' -ls

此外,文件在磁盘上占用的空间超过其数据所需的空间。详细了解inode pointer structureinodesfile systemsext4fragmentation ...通常,非常小的文件(十几个字节)占用两个磁盘扇区(例如一千字节)。