rmdir dir は「ディレクトリではありません」というエラーを表示します。

rmdir dir は「ディレクトリではありません」というエラーを表示します。

dir2一度別のディレクトリから移動してバックアップしdir1、新しいディレクトリを作成したディレクトリのように見えるディレクトリがありますdir1

もうふとそれを見直し、それが必要ではないことに気づき、それをしてrm -r -f dir2、私の新しいものdir1も空であることを発見します。

ファイルをもう一度見つけましたが(コードストアなので、いくつかの変更が失われて残念です)、まだこの重複リンクなどを削除したいと思いますdir2

それを試みたときrmdir(すべてを削除したことに気づく前に)エラーが発生しましたNot a directory。それは何であり、どのように削除しますか? OSX端末でbashを使用してください。

修正する:次の提案によると:

ls -ld dir2出力drwxr-xr-x. 19 asaf users 4096 Mar 8 13:09 dir2/

file dir2/出力dir2/: directory

file dir2出力dir2: symbolic link to ...'

答え1

現在は証拠物が削除された状況なので何が起こったのかわかりません。dir2症状の説明が一致します。シンボリックリンクディレクトリに。シンボリックリンクは、「実際のファイルが実際にそこにある」ことを意味する特別な種類のファイルです。シンボリックリンク自体はディレクトリではないので、rmdir何もできません。ただし、シンボリックリンクコンテンツ(ディレクトリを指すシンボリックリンクのディレクトリ内のファイル、通常のファイルを指すシンボリックリンクのファイルコンテンツ)へのアクセスはリンク先に透過的に移動するため、ディレクトリ内のファイルを使用または編集するcd dir2とわかります。ありません。何もない。

これが真であれば(合理的に見えますが、まったくわかりません!)コマンドはrm -r -f dir2シンボリックリンクのみを削除し、変更を含むディレクトリはまだどこかにあります。リンクを削除したため、場所を見つけるのは難しいかもしれませんが、次のコマンドを使用してそのディレクトリ内のファイル名を見つけることができます。locateコマンドまたはそれに対応するGUI(Spotlight?)。

未来、走る

ls -ld dir2

これにより、そのファイルがどのタイプであるかがわかりますdir2。行がで始まるdディレクトリです。行がで始まる場合、lこれはシンボリックリンクであり、出力はその行が指す位置(次の部分->)を表します。

答え2

これを実行すると、ls -ld dir2状況について多くの情報を取得できます。

シンボリックリンクでも、奇妙な種類のファイルでもかまいません。この時点では、それがディレクトリであると仮定しますが、他のオプションもあります。自動マウント共有がない可能性があります。

また実行してみてくださいfile dir2。実際のディレクトリではない場合は、が表示されることがありますrmdir

関連情報