Linuxコマンドラインを初めて使用する場合は、おそらく次の質問に注意してください。ディレクトリとその中のファイルをLinuxコマンドラインの別のディレクトリにコピーするにはどうすればよいですか?
Linuxでディレクトリをコピーする方法は次のとおりです。
cp -r source_directory destination_directory
Linuxでcpコマンドを使用してファイルをコピーできることはすでにご存知でしょう。同じcpコマンドを使用してLinuxコマンドラインでフォルダーをコピーできることをご存知ですか?
はぁ!あなたはすでにそれを試しましたが、おそらくこのエラーが発生しました:
cp: -r not specified; omitting directory 'test_dir'
Linuxでのディレクトリのコピーについて1つか2つお見せしましょう。
Linuxコマンドラインでディレクトリをコピー
間違いなく同じcpコマンドを使用できますが、再帰オプション-rを使用して、コンテンツを含むフォルダーを別のフォルダーにコピーできます。上記のエラーは、-rオプションを見逃したことも示唆しています。
コマンドを次のように使用するだけです。
cp -r source_directory destination_directory
そして、宛先ディレクトリでlsコマンドを使用すると、ソースディレクトリ全体がその中に含まれるはずです。
-rオプションを使用すると、再帰オプションを使用できます。これは、独自のサブディレクトリを含むディレクトリのコンテンツ全体を意味し、ディレクトリ内のすべてが宛先にコピーされます。
Linuxでのディレクトリのコピーに関する注意事項
ここでは、フォルダのコピーに関する注意事項とヒントをいくつか紹介します。
宛先ディレクトリが存在しませんか?作成されます
宛先ディレクトリが存在しない場合(ただしパスは存在する場合)、1レベルまで作成されます(次のセクションで説明します)。ただし、ソースディレクトリ自体ではなく、ソースディレクトリの内容がコピーされるようになりました。
たとえば、これを行う場合:
cp -r source_directory non_existing_directory
non_existing_directoryは、source_directoryのコンテンツを使用して作成されますが、その中にsource_directoryは含まれません。 source_directoryのファイルだけがコピーされます。 non_existing_directoryがsource_directoryのレプリカになるようになります。
[email protected]:~$ ls
test_dir
[email protected]:~$ cp -r test_dir new_dir
[email protected]:~$ tree
.
├── new_dir
│ ├── c.xyz
│ ├── myzip1.zip
│ └── myzip2.zip
└── test_dir
├── c.xyz
├── myzip1.zip
└── myzip2.zip
2 directories, 6 files
上記のコマンドを使用して、ネストされたディレクトリ構造を作成することはできません。
たとえば、cp -r source_dir dir1 / dir2 / dir3を使用しようとしたが、dir2とdir3が存在しない場合、ネストされたディレクトリ構造は作成されず、コマンドは失敗します。
物事を短くするための最後のヒント。 -aオプションを-rオプションと一緒に使用すると、ファイルのアクセス許可やファイルのタイムスタンプなどの元のファイル情報が保持されます。ディレクトリを新しく作成するのではなく、新しい場所にアーカイブします。
それだけです
Linuxでディレクトリをコピーする方法を知るには、これだけの情報で十分です。ご質問やご提案がございましたら、お気軽にコメントをお寄せください。