別のディレクトリから現在のディレクトリにファイルをコピーするにはどうすればいいですか?

別のディレクトリから現在のディレクトリにファイルをコピーするにはどうすればいいですか?

学校の課題の一部として、次のような問題があります。

スクリーンショット

注記:上の画像が読みにくい場合は、ディレクトリ ツリーを次に示します。

$ tree
.
`-- sample_dir1
    `-- sample_dir
        |-- admin
        |-- cambridge
        |   |-- cafeteria
        |   |-- library
        |   `-- security
        |       |-- annex
        |       |-- building
        |       `-- parking
        |-- faculty
        |-- history.exe
        |-- markham
        |   |-- annex
        |   |-- building1
        |   `-- parking
        |-- oxford
        |   |-- outline.doc
        |   |-- programming
        |   |   `-- report.pdf
        |   `-- security
        `-- stenton
            |-- gen_ed
            `-- lib_arts
                |-- english.txt
                `-- match.doc

15 directories, 11 files

次のコマンドを実行してみました:

$ cp ../cambridge/security/parking ./parking2

...しかし、うまくいきません。上の画像の質問では、現在のディレクトリが であり、という名前のファイルのコピーを(ディレクトリから) 作成し、新しいファイルに という名前を付けて、相対パス名を使用して現在のディレクトリ に配置するstenton必要があると述べられています。parkingsecurityparking2stenton

何が間違っているのでしょうか?cpコマンドは正しいようです。

答え1

あなたが遭遇している問題は、宿題プログラムにあるようです。

他の回答に対するコメントから、次のことを試しました:

cp ../cambridge/security/parking ./parking2

これは通常のシェルでは完全に有効なコマンドです。ただし、問題はテスト プログラムが の を必要としないことである可能性があり./ます./parking2

ファイルへのパスを指定する場合 ( だけでなく、事実上すべてのプログラムで)、パスのcp先頭に がない場合は暗黙的に になります。したがって、コマンドを次のように変更すれば問題ありません。/./

cp ../cambridge/security/parking parking2

答え2

これは非常に基本的な質問です。この件についてはマニュアルページを読んでみてください。とはいえ、答えは次のとおりです。

cp <SOURCE> .

例えば:

このディレクトリにファイルがあります:/home/rkah/sample1 ファイルの名前は次のとおりです:sample

たとえば、次のホーム ディレクトリに移動してに/home/rkah/コピーしたい場合は、次のコマンドを実行します。sample/home/rkah/

cp ~/sample/sample .シンボル.は、現在の作業ディレクトリまたは現在いるディレクトリを表します。

関連情報