Linux cp コマンド
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コマンドで、より多くのオプションと使用法を確認できます。
注意事項
ターゲットパスがディレクトリの場合、
cpソースファイルまたはディレクトリをそのディレクトリ内へコピーします。ターゲットパスがファイル名の場合、
cpソースファイルをコピーしてターゲットファイル名に名前を変更します。ディレクトリをコピーする場合、必ず
-r或-Rオプションを使用する必要があります。そうしないとエラーが発生します。ターゲットファイルが既に存在する場合、デフォルトでは
cp上書きします(使用しない限り-iオプション)。
Linux コマンド大全