Linuxシステムで作業している間、ファイルとディレクトリのコピーは毎日実行される重要なタスクです。すべてのユーザーは、すべてのファイルとディレクトリをコピーできるシンプルで簡単なユーティリティを必要としています。この目的のために、最も一般的なcpコマンドラインユーティリティがUNIXおよびLinuxシステムで使用されます。
この記事では、いくつかの例を使用してcpコマンドについて説明します。
cpコマンドの基本構文
cpコマンドを使用するには、以下の構文に従います。
$cp [フラグ] [ソースファイル] [宛先ファイル]
ソースファイルには、上記の構文で複数のファイルとディレクトリを含めることができ、宛先ファイルには、単一のファイルまたはディレクトリのみを含めることができます。
重要な注意:ユーザーは、ファイルとディレクトリをコピーするときにソースファイルに対する読み取り権限を持っている必要があり、宛先ファイルまたはディレクトリに対する書き込み権限を持っている必要があります。それ以外の場合は、「許可が拒否されました」というエラーが表示されます。
cpコマンドの使用
「cpコマンド」の次の使用法があります。これをいくつかの例で説明します。
ファイルを現在の作業ディレクトリにコピーします
ファイルを現在のディレクトリにコピーするには、ターミナルで次のコマンドを実行します。
例
たとえば、以下のコマンドを実行すると、test_file.txtをbackup_file.txtにコピーできます。
$cptest_file.txt backup_file.txtファイルを別のディレクトリにコピーします
ファイルを別のディレクトリにコピーするには、宛先の絶対または相対ディレクトリパスを定義します。
例
たとえば、test_file.txtを/ lookupディレクトリにコピーするには、次のコマンドを使用します。
$cptest_file.txt/調べる上記のコマンドでは、ファイルは同じ元のファイル名でコピーされます。別の名前でファイルをコピーする場合は、以下のコマンドを使用します。
$cptest_file.txt/調べる/newtest_file.txt上記のコマンドは、新しい名前「newtest_file.txt」のファイルを指定された宛先にコピーします。
ディレクトリを別のディレクトリにコピーする
オプション「-R」または「-r」を使用すると、サブディレクトリを含むすべてのファイルを別のディレクトリにコピーできます。
例
次の例では、personal_directoryをofficial_directoryにコピーしています。
$cp -NSpersonal_directoryofficial_directoryソースディレクトリではなく、ファイルとすべてのサブディレクトリのみをコピーする場合は、オプション「-RT」を指定して次のコマンドを使用します。
$cp -RTpersonal_directoryofficial_directory上記のコマンドは、ディレクトリ自体ではなく、すべての隠しファイルを含むディレクトリのコンテンツをコピーします。
異なるディレクトリにある複数のファイルをコピーする
次のコマンドを使用して、複数のファイルを異なるディレクトリにコピーできます。
$cptest_file.txt personal_directory test_file1.txtofficial_directoryオプション付きのLinuxcpコマンド
cpコマンドで使用できる次のオプションを使用して、ファイルを別の方法でコピーできます。
宛先ファイルが存在する場合、ファイルはデフォルトで上書きされます。 cpコマンドで「-n」フラグを使用すると、既存のファイルを上書きしないように指示されます。
オプション「i」を使用して、確認のプロンプトを強制的に生成します。
$cp -私test_file.txt test_file1.txt宛先にファイルをコピーするだけで、ファイルがまだ存在しない場合は、オプション「-u」を指定して次のコマンドを使用します。
$cp -utest_file.txt test_file1.txtファイルの所有権とタイムスタンプを保持するには、オプション「-v」を指定して次のコマンドを使用します。
$cp -utest_file.txt test_file1.txt結論
この記事のさまざまな例を使用して、cpコマンドについて説明しました。さらに、cpコマンドでさまざまなオプションを使用して目的の結果を得る方法についても説明しました。したがって、cpコマンドで上記のすべてのオプションを使用して、さまざまな場所にあるファイルとディレクトリをLinuxシステムにコピーします。これで、cpコマンドとその使用法について十分な知識が得られたと思います。