私はcd
大量のファイル、まさに40,948個のファイルを含むディレクトリに入りました。コマンドを実行するとls
時間がかかり、コマンドが最終的に画面に結果を印刷する前に、一部のファイルに対して「ls:アクセスできません:そのファイルまたはディレクトリがありません」というメッセージが表示されます。
ファイル名が毎回同じではありません。 posix権限なしで一部のファイルを実行すると、ls -l
ファイル名の前に「????????」しか表示されません。
グループを変更したかったので、ディレクトリを試しましたが、chown -R
「chown:アクセスできません」または「chown:所有権を変更」+「:対応するファイルやディレクトリなし」が混在していますls
。
これは、Linuxにディレクトリがあるかどうかわからず、ディレクトリが破損している可能性があると考えたことを強調しました。しかし、結果が常に異なるという事実はそうではないことを示唆しています。
/etc/security/limits.confの「nofile」の問題かもしれませんか?
答え1
他のプロセスでよく使われているようです。
あなたが見る情報を収集することは必ずしも原子的ではありません。ファイル名のリストを取得し、ファイルに関する情報(長いリストまたは出力の色の指定)を見つけることができます。これら2つの操作の間でファイルを削除すると、説明したものと同様の出力が表示されます。
答え2
この長い中断は、出力をインポートする前にディレクトリ内の40,000を超えるファイルをソートするために発生しますls
。ls -lU | more
奇妙なファイル名に近づくために(並べ替えられていない)試してみてください。別のオプションはです--show-control-chars
。