GNU/Linux >> Linux の 問題 >  >> Linux

Linuxコマンドラインでディレクトリをコピーする方法[初心者向けのヒント]

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でディレクトリをコピーする方法を知るには、これだけの情報で十分です。ご質問やご提案がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxコマンドラインでファイルとディレクトリを削除する方法[初心者向けチュートリアル]

  2. Linuxcpコマンド

  3. Linux:特定のディレクトリでコマンドを実行する方法

  1. コマンドラインを使用してLinuxを再起動する方法

  2. Linuxシェルでcpコマンドを使用して、ディレクトリ全体を別のディレクトリにコピーするにはどうすればよいですか?

  3. Linux コマンドラインからフォルダーをコピーするにはどうすればよいですか?

  1. Linuxでディレクトリの名前を変更する方法

  2. Linuxでディレクトリを削除する方法

  3. LinuxのDuコマンド