🎯 この記事で学べること
- 1`cp`コマンドの基本的な使い方をマスターできます
- 2ファイルやディレクトリを安全にコピーする方法がわかります
- 3よく使うオプション(-i、-r、-p、-v)の意味と使い方を理解できます
- 4上書きを防ぐための注意点と対策を学べます
- 5実務でよく使うコピーのテクニックが身につきます
読了時間: 約7分
cpコマンドとは
こんにちは!今回は、ファイル操作の基本中の基本、cp
コマンドについて学んでいきましょう。
cp
は「copy」の略で、ファイルやディレクトリをコピー(複製)するコマンドです。元のファイルはそのまま残るので、rm
コマンドと違って安心して練習できますね!データのバックアップを取ったり、テンプレートから新しいファイルを作ったりと、日常的によく使うコマンドです。
基本的な使い方
cp
コマンドの基本的な形は「cp コピー元 コピー先
」です。とてもシンプルですね!
ファイルツリー
上のPlaygroundで順番にコマンドを実行してみてください。original.txt
の内容がcopy.txt
にコピーされたことが確認できますね!
実行結果はこんな感じになります:
$ cp original.txt copy.txt
$ ls -la *.txt
-rw-r--r-- 1 user staff 14 Jan 10 10:00 copy.txt
-rw-r--r-- 1 user staff 14 Jan 10 10:00 original.txt
よく使うオプション
cp
コマンドには、より安全で便利にコピーを行うためのオプションがたくさんあります。よく使うものを見ていきましょう!
-i オプション(対話的コピー)
-i
オプションは「interactive(対話的)」の略で、コピー先に同名のファイルがある場合、上書きする前に確認してくれます。これはとても重要な安全装置です!
ファイルツリー
実行すると「overwrite file2.txt? (y/n [n])」と聞かれます。y
で上書き、n
でキャンセルできます。大切なファイルを守るために、このオプションを使う習慣をつけましょう!
-r オプション(ディレクトリコピー)
ディレクトリをまるごとコピーしたい場合は、-r
(recursive:再帰的)オプションを使います。
ファイルツリー
-r
オプションを使うと、ディレクトリの中身も含めて、構造をそのままコピーできます。プロジェクトのバックアップを取るときなどに便利ですね!
-p オプション(属性保持)
-p
オプションは「preserve(保持)」の略で、ファイルの属性(更新日時、権限など)を保ったままコピーします。
ファイルツリー
-v オプション(詳細表示)
-v
オプションは「verbose(詳細)」の略で、何をコピーしているか表示してくれます。
ファイルツリー
複数ファイルのコピー
複数のファイルを一度にコピーすることもできます。最後の引数がコピー先のディレクトリになります。
ファイルツリー
ワイルドカードを使うともっと便利です:
ファイルツリー
🎮 理解度チェック
Q1: cp file1.txt file2.txt
を実行したとき、file1.txt
はどうなりますか?
Q2: ディレクトリをコピーするために必要なオプションは?
Q3: 既存ファイルの上書き前に確認するオプションは?
実践的な使い方
バックアップの作成
作業前にバックアップを取る習慣をつけましょう:
ファイルツリー
テンプレートからの新規作成
テンプレートファイルから新しいファイルを作成:
ファイルツリー
安全なコピーのコツ
1. エイリアスの設定
より安全に使うために、エイリアスを設定することをおすすめします:
# ~/.bashrcに追加
alias cp='cp -i' # 常に確認するようにする
2. コピー前の確認
大量のファイルをコピーする前に、まず確認しましょう:
ファイルツリー
よくある使用例
設定ファイルの複製
# .bashrcをカスタマイズする前にバックアップ
cp ~/.bashrc ~/.bashrc.original
# 別ユーザーの設定をコピー
sudo cp /home/otheruser/.vimrc ~/.vimrc
ログファイルの保存
# 現在のログを日付付きで保存
cp /var/log/app.log /backup/logs/app_$(date +%Y%m%d_%H%M%S).log
プロジェクトの複製
# プロジェクトを複製して実験
cp -r production_code/ experimental_code/
注意点とトラブルシューティング
権限エラーの対処
# 権限がない場合
$ cp /etc/important.conf ~/
cp: cannot open '/etc/important.conf' for reading: Permission denied
# sudoを使う(必要な場合のみ)
$ sudo cp /etc/important.conf ~/
スペースを含むファイル名
ファイルツリー
📝 まとめ
今回はcp
コマンドについて学びました!
cp
はファイルやディレクトリを**コピー(複製)**するコマンド- 基本形は
cp コピー元 コピー先
-i
で対話的確認、-r
でディレクトリコピー、-p
で属性保持、-v
で詳細表示- 元のファイルは残るので、安心して使える
- バックアップやテンプレートからの作成など、実務で頻繁に使用
次はmvコマンドでファイルの移動とリネームを学びましょう!
YouTube動画で復習
動画でさらに詳しく学びたい方は、CommandAcademyのYouTubeチャンネルをチェック!視覚的にコマンドの動作を確認できます。
cp
コマンドは日常的に最もよく使うコマンドの一つです。特に-i
オプションを使う習慣をつけることで、大切なファイルを誤って上書きすることを防げます。しっかりマスターして、安全なファイル操作を心がけましょう!