手当たり次第に書くんだ

飽きっぽいのは本能

LPIC cp コマンド – ファイルとディレクトリをコピーする

LPIC 学習ノートへ戻る

この記事では、LPIC 学習向けに cp コマンドを整理します。cp はファイルやディレクトリをコピーする基本コマンドですが、上書き、属性保持、再帰コピーの違いを理解していないと事故につながります。

cp コマンドの基本

cp は copy の略で、ファイルやディレクトリを別の場所へ複製します。元のファイルは残り、コピー先に新しいファイルが作成されます。

cp source.txt dest.txt
cp source.txt /tmp/
cp file1.txt file2.txt /tmp/

ディレクトリをコピーする

ディレクトリをコピーするには -r または -a を使います。単なる再帰コピーなら -r、属性も含めてなるべく保持したい場合は -a が使われます。

cp -r dir1 dir2
cp -a dir1 dir2
オプション意味
-rディレクトリを再帰的にコピーする
-a属性をできるだけ保持してコピーする
-i上書き前に確認する
-vコピーしたファイルを表示する
-p所有者、時刻、権限などを保持する

上書き事故を避ける

cp はコピー先に同名ファイルがあると上書きする場合があります。重要なファイルでは -i や事前の ls 確認を使います。

ls -l /etc/example.conf
cp -i example.conf /etc/example.conf
cp -av /etc/example.conf /etc/example.conf.bak

よくある使い方

cp はコピー先の指定を間違えると、意図せず上書きしたり、ディレクトリ配下にコピーされたりします。コピー元、コピー先、ディレクトリ扱いを分けて確認することが大切です。

cp source.txt dest.txt
cp -i source.txt dest.txt
cp -a /etc/nginx /tmp/nginx.backup
cp -r dir1 dir2

注意点

オプション意味
-i上書き前に確認する
-a属性をできるだけ保持してコピーする
-rディレクトリを再帰的にコピーする
-p所有者、時刻、権限などを保持する

設定ファイルを触る前のバックアップでは、単に cp file file.bak とするだけでなく、時刻を含めると復旧時に分かりやすくなります。

cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +%Y%m%d%H%M%S)

まとめ

cp は簡単なコマンドですが、再帰コピー、属性保持、上書き確認を理解して使う必要があります。LPIC では、-r-a-p-i の違いを押さえておくと、実際の管理作業にもつながります。

関連する記事

参考書籍

参考
書籍
参考書籍
ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

LPIC cp コマンド – ファイルとディレクトリをコピーする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る