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
。