Linux cpコマンド完全ガイド:オプション・実例まとめ

この記事は約3分で読めます。
スポンサーリンク

Linuxのcpコマンドは、ファイルやディレクトリをコピーするための基本かつ非常に多機能なコマンドです。オプションを理解し適切に使い分けることで、日々の作業効率や安全性が飛躍的に向上します。

cpコマンドとは

cpは「copy」の略で、ファイルやディレクトリをコピーするためのLinuxコマンドです。バックアップやファイルの複製、システム管理作業などに幅広く使われます。

基本構文と使い方

tcp [オプション] コピー元 コピー先
  • 複数のコピー元を指定して、一つのディレクトリに一括でコピーすることも可能です。
  • ディレクトリ全体をコピーする際は「-r」または「-R」オプション(再帰的コピー)を使います。

主なオプション一覧・解説

オプション概要
-a, –archive属性・所有者情報なども丸ごと再帰的にコピー(-dR –preserve=allと同等)
-r, -R, –recursiveディレクトリごと再帰的にコピー
-i, –interactive上書き時に確認メッセージを表示
-f, –force上書き確認せず強制的にコピー
-u, –updateコピー元が新しい時・コピー先が無い時だけコピー
-n, –no-clobberコピー先がすでに存在する場合は上書きしない
-p, –preserve属性(パーミッションやタイムスタンプなど)を保持
-v, –verboseコピー進捗や詳細を表示
-b, –backup上書き発生時にバックアップファイルを作成
–suffix=SUFFIXバックアップファイルの拡張子を指定
-l, –linkハードリンクを作成
-s, –symbolic-linkシンボリックリンクを作成
-d, –no-dereferenceシンボリックリンク本体ではなくリンクそのものをコピー
-t, –target-directory=DIRコピー先ディレクトリを明示的に指定

よく使うコマンド例

・ファイルをコピー

cp ファイル1.txt ディレクトリ名/

・複数ファイルをまとめてコピー

cp file1.txt file2.txt dir/

・ディレクトリを丸ごとコピー(-r)

cp -r srcdir destdir

・属性保持してコピー(-p)

cp -p src.txt dst.txt

・上書き時に確認(-i)

cp -i file.txt dir/

・強制的に上書きコピー(-f)

cp -f file.txt dir/

・コピーの進捗を詳細出力(-v)

cp -v file1.txt dir/

・バックアップファイルを生成しつつコピー(-b, –suffix)

cp -b --suffix=.bak file.txt dir/

ワイルドカード・メタキャラ応用

・全.txtファイルをコピー

cp *.txt dir/

・カレントディレクトリ配下すべてをコピー

cp ./* dir/

上級テクニックと注意点

  • ハードリンク・シンボリックリンク
    ハードリンク: cp -l file linkdir/
    シンボリックリンク: cp -s file linkdir/
  • -aオプション
    ディレクトリ・ファイル構成や属性、シンボリックリンク参照先も含めて丸ごと再現する場合には-a(アーカイブ)がおすすめです。
  • コピー元や先がディレクトリなら-r必須。
  • コピー先に同名ファイルがあると上書きされるため、バックアップや-iによる確認も活用しましょう。

まとめ

cpコマンドはシンプルながら多機能で、作業の安全性や効率化に欠かせません。実際の用途に合わせてオプションを使い分けてください。

コメント

タイトルとURLをコピーしました