
作業を完了するために、マシンに SSH 接続しています。ホーム ディレクトリには、以前はサブディレクトリがありました。これを と呼びましょう。このサブディレクトリには、他のディレクトリと同じように (つまり)を使用して、ディレクトリmyDirectory
内から移動できます。home
cd
cd ./myDirectory
ここで、コマンドを実行すると、次のエラーが発生します。
「myDirectory はディレクトリではありません」
ls
を実行すると、myDirectory
他のディレクトリとは色分けされ、以前とは異なっています。できるただし、 を実行しmv someFile ./myDirectory
、最近、この方法でいくつかのファイル (現在アクセスする必要があるファイル) を移動しました。
つまり、myDirectory
明らかにディレクトリを指していますが、~/myDirectory
もう指していません。問題は理解していると思いますが、ディレクトリにアクセスするためにどのコマンドを使用すればよいかわかりません。このディレクトリにアクセスしたり、新しい場所を特定したりするにはどうすればよいでしょうか?
このコマンドを実行します:
ls -ld myDirectory
生産:
-rw-rw-r-- 1 myUsername myUsername 15029 Nov 2 17:57 myDirectory
答え1
-
の出力の最初のものはls -ld myDirectory
、myDirectory
通常ファイルディレクトリではありません。
これがどのように起こったのかは推測することしかできません。 1 つの可能性は、あなた (または誰か/何か) が元のディレクトリ の名前を変更/移動/削除したためmyDirectory
、 という名前のエントリがmyDirectory
そこに存在せず、その後、何らかの通常のファイルの名前someFile
を に変更したことですmyDirectory
。
mv someFile ./myDirectory
someFile
に名前が変更されますmyDirectory
。 という名前の古い通常ファイルmyDirectory
(存在する場合) は失われます。つまり、この方法で複数のファイルの名前を変更した場合、簡単に復元できるのは最後のファイルだけです。そのファイルは という名前になっていますmyDirectory
。
このような事故を避けるには、ディレクトリと思われるものを参照するときに末尾にスラッシュを追加します。
mv someFile ./myDirectory/
./myDirectory
ディレクトリではなかった場合、ツールは何も移動せずにエラーを出力します。
ここまでは、someFile
通常のファイルであると想定していました。ディレクトリタイプ(これもファイルです)その後(何をしたいかによって異なります)さらに追加すると良いかもしれません/.
の代わりに/
。