以下のコマンドでシンボリックリンクを作ってみました
ln -s ../test5
今すぐ削除したいのですが、RMが失敗してしまいます
$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory
$ls -l
0 lrwxrwxrwx 1 peter peter 8 Jul 20 15:30 test5 -> ../test5/
シンボリックリンクを削除する方法を教えてください。(Ubuntu 8.10、bash)
105 None 2009-07-20
最後のスラッシュを削除します
With prompt:
$ rm test5
Without prompt:
$ rm -f test5
129 Swanand 2009-07-20
rm test5
を試してみてください(訓練用のスラッシュがない)
スラッシュは ‘test5’ がディレクトリであることを示し、実際にはディレクトリにリンクするファイルであることを示しています
22 pelms 2009-07-20
最後のスラッシュを削除して実行することができます
$ rm test5
これでファイル(つまりシンボリックリンク)が削除されます
あるいは、アンリンクを使用することもできます
$ unlink test5
シンボリックリンクを解除しようとしているのはディレクトリではないので、最後のスラッシュを省略しなければなりません
15 Callum 2009-07-20
オートコンプリートを使用して削除したいリンクの名前を指定すると、末尾のスラッシュが表示されないことがありますが、「半分はそこにある」と表示され、そのリンクを削除しようとしたときに見えないスラッシュが削除エラーになることがあります
だから、その場合には文字ごとに文字を入力して、例えば “test5 “として削除するリンクをrm test5
0 user872812 2018-02-14
OPの問題は末尾の/
なので、test5/
はエラーを出しますが、test5
は動作します
私はrm
よりもunlink
を使う方が意図がはっきりしているし、リンクではなく実際のディレクトリを誤って削除してしまう可能性がないからです。ディレクトリ名の後に /
がないことを確認してください
unlink test5
0 isapir 2019-05-02
聞くのがバカみたいですが、rm -r
は試してみましたか?シンボリックリンクなので、ターゲットは削除されないはずです
編集:ちょうどそれを試してみて、それは正しいです
編集 2: rmdir はマニュアルページの最初の行で空のディレクトリを削除すると言っています。リンクなので、ファイルのプロパティでディレクトリビットがチェックされていると思うのですが、rmdir はそれを疑っていないのでエラーを吐いています。rm -r を使ってください
-1 bobby 2009-07-20