「ls」が時々外部ドライブのルートディレクトリにのみ「.」を出力するのはなぜですか?

「ls」が時々外部ドライブのルートディレクトリにのみ「.」を出力するのはなぜですか?

私のUSBドライブのルートディレクトリからを実行すると、時々ls出力が正常で、ファイルが一覧表示されます。それ以外の場合、出力は1行だけです。

$ ls
.

これらのいずれかを試してみると、ls -la次のような結果が得られます。

$ ls -la
ls: .: Invalid argument

ls連続して複数回実行すると、デフォルトでは正常出力または異常出力がランダムに返されるようです。

ls他のディレクトリではうまくいくようです。ls $drivename親ディレクトリでもうまく機能しているようで、ls ..下位ディレクトリでもうまく機能しているようです。 (最初から動作が不確実だったので、「ただ動作する」と100%確信することはできませんが。)2つの異なる外部USBドライブを試してみましたが、同じ動作が現れました。

ここで何が起こっているのでしょうか?私はMac OS X 10.11.3を使用しています。

編集する:良い考えですが、エイリアスを使用しないようで、/bin/ls同じ結果を提供します。

ベストアンサー1

これは、OSの最新バージョンにあるFAT32ファイルシステムドライバのバグかもしれません。これは、作業ディレクトリがマウントされたドライブのルートにある場合にのみ発生します。サブディレクトリやシステムの他の場所にある場合は、すべてがうまく機能しているようです。

このスレッドには、システムトレースを含むいくつかの興味深い議論があります。 https://github.com/robbyrussell/oh-my-zsh/issues/4161

おすすめ記事