cp の使い方

コピー

書き方

cp [-r] [-p] コピー元... コピー先

-r でディレクトリごと、-p で権限や日時を保ちます。コピー先の SELinux ラベルは場所に応じた新しいものになります。

よく使うオプション

オプション意味
-rディレクトリを中身ごとコピーする
-p権限・所有者・更新日時を元のまま保つ
-a-r と -p をまとめたもの(リンクなども保つ。バックアップ向き)
-i上書きする前に確かめる
-vコピーしたものを 1 つずつ出す

例

$ cp httpd.conf httpd.conf.bak

設定ファイルを直す前に、控えを作っておきます。失敗しても控えから戻せます。

$ cp -r site /var/www/html/

site ディレクトリを中身ごと、/var/www/html の中へコピーします。

$ cp -a /etc/nginx /root/nginx-backup

権限や更新日時も保ったまま、まるごとバックアップを取ります。

$ cp -i report.txt docs/

docs に同じ名前のファイルがあると、上書きしてよいか聞いてくれます。

よくある間違い・注意

  • コピー先に同じ名前のファイルがあると、何も聞かずに上書きされます(-i を付けると聞いてくれます)。
  • ディレクトリを -r なしでコピーすると「omitting directory」となり、コピーされません。
  • cp で作ったファイルの SELinux ラベルはコピー先の場所に合ったものになります。元のラベルを保ちたいときは -a か --preserve=context を使います。

実際に打って練習する

Linux レベル1 コースの Lv11「宝を写す cp」で覚えます(第1章 シェルの洞窟)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る