Linux cp コマンド

Linux 命令大全Linux コマンド大全

Linux cp(英語のフルスペル:copy file)コマンドは、主にファイルやディレクトリをコピーするために使用されます。

cp コマンドを使用すると、ユーザーはファイルやディレクトリをある場所から別の場所へコピーでき、同時に元のファイルの属性(権限、タイムスタンプなど)を保持するかどうかを選択できます。

構文

cp [options] source dest
或
cp [选项] 源文件 目标文件

ここで、source(ソースファイル)はコピーするファイルまたはディレクトリのパスを表し、dest(ターゲットファイル)はコピー後のファイルまたはディレクトリのパスを表します。

オプションの説明:

  • -r 或 -R:ディレクトリとその内容を再帰的にコピーします(ディレクトリのコピーに使用)。

  • -i:対話モード。上書きする前にユーザーに確認を求めます。

  • -f:強制コピー。確認なしでターゲットファイルを上書きします。

  • -v:詳細なコピー過程を表示します(verbose)。

  • -p:ファイルの元の属性(権限、タイムスタンプなど)を保持します。

  • -a:アーカイブモード。次と同等:-dpR、すべてのファイル属性を保持し、ディレクトリを再帰的にコピーします。

  • -u:ソースファイルがターゲットファイルより新しい場合にのみコピーします(更新モード)。

  • -l:ファイルをコピーするのではなく、ハードリンクを作成します。

  • -s:ファイルをコピーするのではなく、シンボリックリンク(ソフトリンク)を作成します。

例

1. ファイルをターゲットディレクトリにコピーする

cp file.txt /path/to/destination/

file.txt を /path/to/destination/ ディレクトリへコピーします。

2. ファイルをコピーして名前を変更する

cp file.txt /path/to/destination/newfile.txt

file.txt を /path/to/destination/ ディレクトリへコピーし、newfile.txt に名前を変更します。

3. ディレクトリを再帰的にコピーする

cp -r /path/to/source_dir /path/to/destination/

source_dir ディレクトリとその内容を destination ディレクトリへ再帰的にコピーします。

4. 対話モードでコピーする

cp -i file.txt /path/to/destination/

ターゲットの場所に同名のファイルが既に存在する場合、上書きするかどうかをユーザーに確認するプロンプトが表示されます。

5. ファイル属性を保持する

cp -p file.txt /path/to/destination/

ファイルをコピーし、元の属性(権限、タイムスタンプなど)を保持します。

6. 新しいファイルのみをコピーする

cp -u file.txt /path/to/destination/

file.txt がターゲットファイルより新しい場合にのみコピーします。

7. コピー過程を表示する

cp -v file.txt /path/to/destination/

コピーの詳細情報を表示します。

8. ハードリンクまたはシンボリックリンクを作成する

cp -l file.txt /path/to/destination/  # 创建硬链接
cp -s file.txt /path/to/destination/  # 创建符号链接

9. 複数のファイルをディレクトリにコピーする

cp file1.txt file2.txt /path/to/destination/

複数のファイルをターゲットディレクトリへコピーします。

10. ワイルドカードを使用してコピーする

cp *.txt /path/to/destination/

すべての .txt ファイルをターゲットディレクトリへコピーします。

11. find コマンドと組み合わせて特定のファイルをコピーする

find /path/to/source -name "*.log" -exec cp {} /path/to/destination/ \;

.log ファイルをすべて検索してターゲットディレクトリへコピーします。

以上は cp コマンドのよくある使い方の一部です。次を実行すると、man cpコマンドで、より多くのオプションと使用法を確認できます。

注意事項

  1. ターゲットパスがディレクトリの場合、cpソースファイルまたはディレクトリをそのディレクトリ内へコピーします。

  2. ターゲットパスがファイル名の場合、cpソースファイルをコピーしてターゲットファイル名に名前を変更します。

  3. ディレクトリをコピーする場合、必ず-r 或 -Rオプションを使用する必要があります。そうしないとエラーが発生します。

  4. ターゲットファイルが既に存在する場合、デフォルトではcp上書きします(使用しない限り-iオプション)。

Linux 命令大全Linux コマンド大全

その他の拡張