Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

cp / mv / rm

『cp』はファイルやディレクトリのコピー、『mv』は移動またはリネーム、『rm』は削除を行うコマンドです。ファイル操作の基本として頻繁に使用します。

構文
cp [オプション] コピー元 コピー先
mv [オプション] 移動元 移動先
rm [オプション] ファイル...
オプション一覧
コマンド / オプション概要
cp ファイル コピー先ファイルを指定した場所にコピーします。
cp -r ディレクトリ コピー先ディレクトリを再帰的にコピーします。
cp -p ファイル コピー先パーミッション・タイムスタンプなどの属性を保持してコピーします。
cp -i ファイル コピー先上書き前に確認プロンプトを表示します。
cp -u ファイル コピー先コピー先より新しいファイルだけコピーします。
mv ファイル 移動先ファイルを移動します。移動先が同じディレクトリならリネームになります。
mv -i ファイル 移動先上書き前に確認プロンプトを表示します。
rm ファイルファイルを削除します。
rm -r ディレクトリディレクトリを再帰的に削除します。
rm -f ファイル確認なしで強制削除します。存在しないファイルもエラーにしません。
rm -rf ディレクトリディレクトリを強制的に再帰削除します。取り消しできないため十分注意してください。
rm -i ファイル削除前に確認プロンプトを表示します。
サンプルコード

以下のディレクトリ構造を例に説明します。

📁 ~/project/ 📁 src/ 📄 index.html 📄 style.css 📁 archives/ 📄 file.txt

ファイルをコピーします。

cp file.txt backup.txt
ls
archives  backup.txt  file.txt  src

ディレクトリをまるごとコピーします。『-r』オプションが必要です。

cp -r src/ src_backup/
ls
archives  backup.txt  file.txt  src  src_backup

属性を保持してコピーします(バックアップなどに使います)。

cp -rp src/ backup/

ファイルを別のディレクトリに移動します。

mv file.txt archives/
ls
archives  backup.txt  src  src_backup

ファイルをリネームします(同じディレクトリ内での移動)。

mv backup.txt old_backup.txt
ls
archives  old_backup.txt  src  src_backup

ファイルを削除します。

rm old_backup.txt
ls
archives  src  src_backup

ワイルドカードで拡張子ごと削除します。

rm *.log

ディレクトリを中身ごと強制削除します。

rm -rf src_backup/
ls
archives  src
概要

『rm -rf』は確認なしにディレクトリを丸ごと削除するため、パスを間違えると重大な事故につながります。特に変数を含むパス(例:『rm -rf $DIR/』)を使う場合、変数が空の場合に『rm -rf /』と解釈されないよう、ダブルクォートで囲む(『"$DIR"』)か、変数が空でないことを確認してから実行してください。

ファイルの詳細情報確認には『ls』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。