移動コマンドの使用に問題があります。 Cat
という2つのディレクトリを作成しました およびDog
。 Cat
の下 puppies
というファイルを作成しました 。
子犬
を動かそうとすると Cat
から Dog
へ そのようなファイルやディレクトリはありません
。ただし、戻って cd Cat
を実行すると およびls-a
、子犬
が表示されます 。次に、ホームディレクトリに戻り、 ls -a
、および Cat
およびDog
リストされています。
それで、私は何を間違っているのですか?
承認された回答:
ファイルを操作するときに知っておくと便利なこと:
- Linuxは大文字と小文字を区別します (つまり、
dog
、Dog
およびDOG
すべて異なるファイルです) - コマンドがどのように機能するかは、どこにいるかによって異なります ファイルシステム内
- 現在の場所に基づいて、相対を使用できます または絶対 パス名
したがって、 Cat
の親ディレクトリにいる場合 およびDog
次のように相対パス名を使用できます:
mv Cat/puppies Dog
簡単な間違いは、 /
で始まるパス名を入力することです。
mv /Cat/puppies /Dog
これにより、そのようなファイルやディレクトリはありません
エラー、 /
ルートディレクトリであり、 Cat
はありません およびDog
/
の下のディレクトリ 。ご覧ください:
ls /
この混乱の理由の1つは、システムがユーザーのホームディレクトリに役立つショートカットを使用しているため、 / home / username / somefile
の代わりに 〜/ somefile
と入力できます somefile
の絶対パス名として ユーザーのホームディレクトリにあるので、 Cat
およびDog
ユーザーのホームディレクトリの一番上にある場合は、子犬
を移動できます Cat
から Dog
へ ファイルシステムのどこからでも
mv ~/Cat/puppies ~/Dog
相対パス名を使用したいくつかの例
Cat
ディレクトリにいる場合 、子犬
を移動できます このように
mv puppies ../Dog
..
現在の作業ディレクトリの親ディレクトリを指定します
Dog
ディレクトリにいる場合 このように子犬を動かすことができます
mv ../Cat/puppies .
。コード> 現在の作業ディレクトリを指定します
あなたがどこにいるかを知るために、あなたは通常あなたのプロンプトを見ることができます、しかし念のために、あなたはいつでも pwd
でチェックすることができます これは「印刷作業ディレクトリ」の略です