3

Linux システムで使用されているディスクを推測しようとしています。問題は、「du -kxa / |sort -g」などのコマンドを使用すると、ファイルシステムが報告するよりも使用されているスペースが少ないことがわかります (19Gb のパーティションから 8Gb)。いくつかのマウント ポイントの下に隠しファイルとフォルダがあると思われます。は本番マシンであり、簡単に停止できないため、ディスクをアンマウントできません。

質問は:

Linux で、マウント ポイントの下に隠したフォルダとファイルを取得するにはどうすればよいですか? このスペースを測定する方法はありますか?

Linux バージョン: Redhat エンタープライズ Linux サーバー 5.3。

4

2 に答える 2

13

これは実際にはプログラミングに関する質問ではないため、おそらくもっと適切なフォーラムがあります。ただし、簡単な回答として、これはバインド マウントが役立つことの 1 つです。と の 2 つの別個のファイル システムがあると仮定する/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
于 2012-11-05T17:27:08.023 に答える
-2

隠しファイル (名前がドットで始まるファイル) は、lsコマンドとシェル ファイル展開用にのみ存在します。それ以外の場合は、名前のみがドットで始まるファイルです。

また、ファイルに名前がなくなった場合でも、ファイルはファイルシステム内のスペースを使用できます。これは、いくつかのプロセスによってまだ開かれているファイルで発生する可能性があり、そのプロセスはその姓をunlink(2)しました。

lsofどのプロセスがいくつかのファイルを開いているかを調べるために使用できます。/proc/1234/fdプロセス 1234 の開いているファイルを取得するために使用できます。

一部のディレクトリの下にある隠しファイルを取得するには、次を使用できます

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

また、ファイルは、そのデータに必要な容量よりも多くのディスク領域を使用します。inode ポインタ構造inodeファイル システムext4フラグメンテーションの詳細を参照してください。通常、非常に小さなファイル (12 バイト) は 2 つのディスク セクタ (たとえば 1 キロバイト) を消費します。

于 2012-11-05T17:29:18.267 に答える