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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。