ファイルをコピーします。オプションを指定することでディレクトリのコピーも可能です。デフォルトでは、コピーしたファイルのアクセス権限等は「umask」コマンドで設定したものとなります。
cp [オプション ・・・] ファイル名 パス cp [オプション ・・・] ファイル名1 [ファイル名2 ・・・] ディレクトリ名
オプション名 | 説明 |
-a, --archive | ディレクトリ構造以外の全ての属性、構成を保持してコピーします。シンボリックリンクを指定した場合はシンボリックリンク自体をコピーします。指定した属性を保持してコピーを行い、umaskの設定を無視します。 |
-b, --backup[=作成方法] | コピー時に上書きを行う場合、コピー先に存在するファイルのバックアップを作成します。バックアップファイルのファイル名の作成方法を指定します。指定する値を以下に示します。
|
-d, --no-dereference | ファイル名でシンボリックリンク(ディレクトリ・ファイルに別の名を設定し、その名前でアクセスできる仕組み)を指定した場合、指定されたシンボリックリンク自体をコピーします。 |
-f, --force | 強制的に上書きをします。 |
-H | ファイル名で指定されたシンボリックリンクを全て辿ります。 |
-i, --interactive | コピーされるファイルがすでにある時、確認のために入力要求をします。 |
-l, --link | コピーを行わ代わりにハードリンク(ディレクトリ・ファイルに別の名を設定し、その名前でアクセスできる仕組みです。シンボリックリンクと異なり、ファイルシステムに存在する実際のデータに結び付けられているためリンク先に指定したファイルを削除してもハードリンクを使用してリンク先に指定していたファイルのデータにアクセスできます。)の作成を行います。 |
-L, --dereference | ファイル名でシンボリックリンクを指定した場合、指定されたシンボリックリンク自体のコピーではなくシンボリックリンクが指し示しているファイル・ディレクトリのコピーを行います。 |
-p, --preserve | 指定された属性を維持します。umaskを無視します。 |
-P, --parents | コピー元に指定したファイル名のパスにあわせてコピー先にディレクトリを作成し、作成されたディレクトリ内にコピーします。 |
-r | ディレクトリを再帰的にコピーします。 |
--remove-destination | コピー先に同一名称のファイルが存在した場合、既存のファイルを削除した後にコピーを行います。 |
-R, --recursive | ディレクトリを再帰的にコピーします。 |
--sparse=コピー方法 | スパースファイル(固定長のファイルを使用する際にファイルの大部分が未使用でデータが書き込まれていない場合、書き込まれた部分の大きさだけの領域をファイル上で確保します。このような状態のファイルをスパースファイルといいます。)のコピー方法を指定します。指定する値を以下に示します。
|
--strip-trailing-slashes | 指定されたファイル名、パス、ディレクトリ名の末尾に「/」が存在した場合「/」を削除した名前で指定されるものをコピーします。 |
-s, --symbolic-link | コピーを行わ代わりにシンボリックリンクの作成を行います。 |
-S SUFFIX, --suffix=添え字 | バックアップファイルを元のファイル名の末尾に指定した添え字を付加したファイル名で作成します。 |
--target-directory=ディレクトリ | コピー先を指定します。 |
-u, --update | コピー先に同一名称のファイルが存在した場合、既存のファイルがコピー元のファイルより古かった場合のみ上書きでコピーします。 |
-v, --verbose | 指定された全てのファイル・ディレクトリの処理内容を表示します。 |
-x, --one-file-system | コピーを始めたファイルシステムと異なるファイルシステム上のサブディレクトリをコピーしません。 |
--help | 使用方法を表示します。 |
--version | バージョン情報を表示します。 |
-- | オプションの記述の終了を宣言します。これ以降に-で始まる文字列があっても、オプションとして解釈されません。このオプションを使用することにより「-SampleDir01」等の「-」で始まるファイルのコピーを行うことが出来ます。 |
ファイル(「SampleText02.txt」が存在するものとします。)を同じディレクトリにファイル名(SampleText02.txt.bak)を変更してコピーします。
$ cp SampleText02.txt SampleText02.txt.bak [Enter] $ ls SampleText02.txt.bak [Enter] SampleText02.txt.bak