次のコマンドを順番に実行すると:
mkdir dir
ln -s dir link
rm -r link/
私は次のような結果を得ます。
rm: cannot remove `link': Not a directory
rm -r link
単にを発行したり、より良い方法でを実行することができるので警告を受けましたrm link
。とにかく、コマンドは操作を実行しました(つまり、「という名前のファイルを削除しました。)協会")。
マウントされたボリュームでこれらのタスクを実行すると、状況は若干異なります。目次「似たものに置き換え」/メディア/mymoviesこの場合、前の例のようにシンボリックリンクだけでなくボリューム全体も消去されます。
なぜですか?これはコードのバグですかrm
、それとも予想されますか?なぜ一貫性がないのですか?
修正する:こんなことが起こったらめまいがするかもしれません。なぜなら今やってみるから」目次「コンテンツが削除されない限り削除されず、どちらの場合も(マウントされたディレクトリとローカルディレクトリ)です。私はLinuxを使用しています。2.6.32、私の考えでは2.6.37それから。
ベストアンサー1
マイシステム(Debian、Linux 2.6、rm --version
GNU coreutils 8.5 レポート)で、次のいずれかを実行します。目次マウントポイントです。以下から削除してください。文書、しかし目次または協会、表示されるのと同じエラーが発生します。
# mkdir dir && touch dir/file && ln -s dir link
# rm -r link/
rm: cannot remove `link': Not a directory
# ls
dir link
# ls -l dir
total 0
# mount .../scratch_filesystem dir
# touch dir/file
# rm -r link/
rm: cannot remove `link': Not a directory
# ls
dir link
# ls -l dir
total 0
私が正しく聞いた場合、rm -r link/
コマンドは削除されません文書、しない限り目次/マウントポイントです。それではバグを発見したようですrm
。マウントポイントの動作を変更する理由はありません。
rm
どのバージョンを使用しているかを知ることは興味深いでしょう。