rm my-symlink と rm my-symlink/ の違い

rm my-symlink と rm my-symlink/ の違い

これを使用すると、なぜrm -rf my-symlinkシンボリックリンクのみが削除され、リンクされたディレクトリ内のrm -rf my-symlink/ファイルが削除され、シンボリックリンクが維持されるのか疑問に思います。

ベストアンサー1

stat my-symlinkとの出力を比較すると、違いを確認できますstat my-symlink/my-symlinkスラッシュのないシンボリックリンク自体はmy-symlink/シンボリックリンクが指すディレクトリであり、シンボリックリンクが指すディレクトリのmy-symlink/inodeとinodeを比較して独立して確認できます。

この情報を使用すると、表示される動作はで説明されているものと一致します。rm仕様:シンボリックリンクを処理するときにrmリンクがディレクトリを指している場合は、「下へ」移動せずにリンクを削除します。ディレクトリを処理するとき(オプションを使用-r)、その内容を再帰的に削除します。このmy-symlink/場合、rm「ディレクトリ」を削除しようとしますが、ディレクトリではなくシンボリックリンクなので失敗します。ただし、-fフラグによってエラーは発生しません。

おすすめ記事