【コマンドライン】ディレクトリ(フォルダ)・ファイルの複製 [ cp ]

【コマンドライン】ディレクトリ(フォルダ)・ファイルの複製 [ cp ]

コマンドラインでディレクトリやファイルを複製(コピー)するcpコマンドについて解説します。

検証環境

cpコマンド

cpコマンドは“ディレクトリやファイルを複製するコマンド”です。

基本書式

$ cp [オプション] [対象パス] [複製先パス]

オプション

主なオプションは次の通りです。

オプション 内容
-i 移動先に同名のファイルが存在する場合、上書きするか確認する
-n 移動先に同名のファイルが存在する場合、上書きせずに終了する
-r ディレクトリを複製する場合、再帰的に(サブディレクトリ含め)複製する

引数

対象パス

対象パスは複製するディレクトリやファイルのパスです。

複製先パス

複製先パスは複製先のパスです。

サンプル

ファイルの複製

$ ls
memo.txt
$ cat memo.txt 
Hello World!
___ih_hl_start
$ cp memo.txt tmp.txt
___ih_hl_end
$ ls
memo.txt tmp.txt
$ cat tmp.txt 
Hello World!

memo.txtからtmp.txtを複製しました。

なお、複製ファイル名が他のファイル名と重複する場合、既存ファイルが上書きされます。

$ cat memo.txt 
Hello World!
$ cat sample.txt 
Good Morning!
___ih_hl_start
$ cp memo.txt sample.txt 
___ih_hl_end
$ cat sample.txt 
Hello World!

このときの処理は-iオプションや-nオプションで制御可能です。

___ih_hl_start
$ cp -i memo.txt sample.txt 
___ih_hl_end
cp: `sample.txt' を上書きしますか? n
$

ディレクトリの複製

ディレクトリの複製は-rオプションを使用します。

$ ls
sample
$ ls
sample
$ ls sample
memo.txt
$ cat sample/memo.txt 
Hello World!
___ih_hl_start
$ cp -r sample test
___ih_hl_end
$ ls
sample  test
$ ls test
memo.txt
$ cat test/memo.txt 
Hello World!

マニュアル

コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。

利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。