Linuxでディレクトリとそのコンテンツをコピーする方法

「cp」コマンドを使用して、ディレクトリ全体をある場所から別の場所にコピーして貼り付けます

実行しているオペレーティングシステムに関係なく、あるファイルまたはフォルダをある場所から別の場所にコピーすることは、毎日実行する最も基本的なタスクです。仕事で忙しい日、学校でのプロジェクトの割り当て中、またはプロジェクトの進行中の開発中は、場所Aから場所Bにファイルをコピーすることは避けられません。

ファイルまたはフォルダのコピーは通常、GUIを使用して行われます。 Linuxは、ある場所から別の場所にファイルまたはフォルダーをコピーできるコマンドラインユーティリティを提供することにより、端末での作業の習慣を処理します。を使用して cp さまざまなオプションを備えたコマンドを使用すると、ファイルやフォルダを複数の方法で自由にコピーできます。

この記事を見ていきましょう。 cp コマンドとそのコンテンツとともにディレクトリをコピーする方法。

で利用可能なオプション cp 指図

これらは、で使用される最も一般的なオプションです。 cp ディレクトリとそのすべてのコンテンツをコピーするコンテキストでのコマンド。

オプション説明
-v詳細モード(進行状況を表示)
-r / Rディレクトリを再帰的にコピーする
-n既存のファイルまたはフォルダを上書きしないでください
-私上書きする前にプロンプ​​トを表示

ある場所から別の場所にディレクトリをコピーする

の最も基本的な使用法から始めましょう cp 指図。このコマンドをオプションとともに使用します -r.

を使用して -r オプションを使用すると、コピーするディレクトリ内のサブフォルダとファイルも確実にコピーされます。

構文:

cp -r [source_location] [target_location]

例:

現在の作業ディレクトリ内に「project」と「workspace」という2つのディレクトリがあります。

この例では、 cp -r ディレクトリ「project」とそのすべてのコンテンツを新しい場所、つまり「/ home / gaurav / workspace」にコピーするコマンド。これは単に、「project」という名前のディレクトリを「workspace」という名前のディレクトリにコピーしていることを意味します。

これらは、ディレクトリ「プロジェクト」の内容です。を使用して ls その内容を表示するコマンド。

gaurav @ ubuntu:〜/ project $ ls -al total 288 drwxr-xr-x 6 gaurav gaurav 4096 Sep 1718:26。 drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem1、drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem2 drwxr-xr -x 2 gaurav gaurav 4096 Sep 17 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:26 temp.c gaurav @ ubuntu:〜/ project $

今、を使用して cp -r コマンド「プロジェクト」ディレクトリを任意の場所にコピーできます。

gaurav @ ubuntu:〜$ cp -r / home / gaurav / project / home / gaurav / worksheet gaurav @ ubuntu:〜$

出力:

gaurav @ ubuntu:〜/ worksheet $ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 Sep 1718:27。 drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 2018年3月22日.metadatadrwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 project -rw-r--r --1 gaurav gaurav 15359月16日17:13source.c gaurav @ ubuntu:〜/ worksheet $ 

上記の出力では、ディレクトリ「project」が元の場所からこの新しい場所「/ home / gaurav / workspace」にコピーされていることがわかります。次に、ディレクトリ「project」を開いて、その中のすべてのコンテンツもコピーされているかどうかを確認します。

gaurav @ ubuntu:〜$ cd ./workspace/project gaurav @ ubuntu:〜/ worksheet / project $

ノート: 利用した ./ 完全なパスを入力する代わりに、ここに。これは単に、それが私のホームディレクトリパスであり、ワークスペースが私のホームまたは現在の作業ディレクトリにあることを意味します。これについての詳細は、この記事をご覧ください。

出力:

gaurav @ ubuntu:〜/ worksheet / project $ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 1718:27。 drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem1、drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem2 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:27 temp.c gaurav @ ubuntu: 〜/ワークスペース/プロジェクト$ 

この出力から、ディレクトリ「project」のすべてのコンテンツも新しい場所に移動されたと結論付けることができます。

ある場所から別の場所に複数のディレクトリをコピーする

複数のディレクトリをコピーするには、 cp コマンドは上記と同じように使用できます。ここでの唯一の変更は、コピーする複数のディレクトリの複数のソースパスを入力する必要があることです。

構文:

cp -r [source_path_1] [source_path_n] [destination_path]

このコマンドを例を挙げて確認してみましょう。

例:

gaurav @ ubuntu:〜/ worksheet $ cp -r ./snap ./project / home / gaurav / tomcat

ここでは、2つのディレクトリ「snap」と「project」を現在の作業ディレクトリから新しい場所「/ home / gaurav / tomcat」にコピーしました。

次に、ディレクトリがコンテンツとともに新しい場所にコピーされているかどうかを確認します。

gaurav @ ubuntu:〜/ tomcat $ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 Sep 1912:16。 drwxr-xr-x 88 gaurav gaurav 266240 Sep 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 Sep 1912:16プロジェクトdrwxr-xr-x7 gaurav gaurav 4096 Sep 1912:16スナップ

これらのディレクトリの内容もコピーされているかどうかを確認します。

gaurav @ ubuntu:〜/ tomcat / snap $ ls couchdb eclipse htop pycharm-community vim-editor gaurav @ ubuntu:〜/ tomcat / snap $ 
gaurav @ ubuntu:〜/ tomcat / project $ ls dem1、dem2 dem3 dem4 temp.c gaurav @ ubuntu:〜/ tomcat / project $

使用する cp 詳細モードのコマンド

を使用して cp オプション付きのコマンド -v 詳細モードを有効にします。この機能は、コピーされている端末上のファイルを表示します。コピー中のファイルまたはフォルダの名前が端末に表示されます。

構文:

cp -vr [source_directory] ​​[target_location_path]

例:

gaurav @ ubuntu:〜$ cp -vr ./workspace/apache ./space

この例では、ディレクトリ「apache」が新しいフォルダ「space」にコピーされます。私は使用しました -v オプション付き -r、apacheディレクトリのすべての内容もコピーされるようにします。

出力:

'./workspace/apache'->'./space/apache''./workspace/apache/apache-tomcat-8.0.52.tar.gz'->'./space/apache/apache-tomcat-8.0。 52.tar.gz'gaurav @ ubuntu:〜$

出力には、コピーされているディレクトリが表示されます。複数のファイルをコピーする場合も同じプロセスを実行できます。

使用時に上書きしないでください cp 指図

時々使用中に cp 複数のファイルまたはフォルダをコピーするコマンドを使用すると、新しい場所にすでにコピーされているファイルが上書きされる可能性があります。これを回避するには、を使用することをお勧めします -私 オプションと cp 指図。これにより、ファイルまたはフォルダを上書きする前にプロンプ​​トが表示されます。

構文:

cp -ri [source_directory_path] [target_location_path]

ノート: ここで、私が使用した構文では -r オプションも。これにより、ディレクトリの内容もコピーされます。また、ディレクトリ内のこれらのサブフォルダとファイルのいずれかが上書きされていないかどうかを確認します。

例:

gaurav @ ubuntu:〜$ cp -ri ./workspace/snap ./tomcat cp:overwrite './ tomcat / snap / pycharm-community / current'?

ここでは、「snap」という名前のディレクトリを新しい場所にコピーしようとしました。ただし、ディレクトリ名「snap」は新しい場所にすでに存在します。したがって、既存のスナップディレクトリを上書きする前に、ターミナルからプロンプトが表示されます。

「」と入力できますはい' また '番号このプロンプトへの応答として ‘。

使用しない場合は -私 オプションの場合、既存のディレクトリは新しいディレクトリによって上書きされます。

でファイルとディレクトリの上書きをスキップします cp 指図

使用できます -n 使用中に類似のファイルやディレクトリを上書きせず、単にスキップするように端末に直接指示するオプション cp 指図。

構文:

cp -nr [source_directory_path] [target_location_path]

このコマンドを使用すると、ファイルとフォルダーが上書きされないようにすることができます。

例:

gaurav @ ubuntu:〜$ cp -ri ./workspace/snap ./tomcat gaurav @ ubuntu:〜$

ここで、ディレクトリ「snap」はすでにターゲットの場所に存在します。したがって、 -n オプションは、このディレクトリを上書きしないようにします。

ようではない -私 オプション、ここでは上書きについてプロンプトは表示されません。

結論

を使用して cp Linuxでディレクトリとそのコンテンツをコピーするコマンドは簡単なプロセスです。詳細については、 cp 他の利用可能なオプションを指定してコマンドを実行すると、次のように入力してマニュアルページを確認できます。 man cp Linuxターミナルで。