【cpとmv】ファイルやディレクトリを操作するコマンドのまとめ

この記事では、開発環境でのLinuxのファイル(ディレクトリ)を操作するに当たり、(ほぼ)必ず使用するであろう2つのコマンドcpとmvについてまとめます。

cp コマンドとは

語源はcopy

語源そのまんまで、ファイルをコピーするときに使用するコマンドです。

copy (オプション) コピー元 コピー先 のように指定します。以下のとおりです。

copy test.txt test2.txt
#移動先ディレクトリを指定することも出来ます
copy test.txt dir1/test2.txt
#オプションは以下のように指定します。この場合同名ファイルなのでコピーは実行されません
copy -n test.txt test.txt
#フォルダの中身ごとコピーする際は-rオプションを使用します
#dirを中身ごとdir2の中にコピー
copy -r dir dir2
#-aオプションを使用すると属性を保持したままコピーできます
copy -a test.txt test3.txt
#-pオプションを使用するとパーミッション、作成者、タイムスタンプをそのままコピーできます。
copy -p test.txt test3.txt

-a、-pオプションは自分の権限範囲を超えるコピーはできません。

他の主要なオプションは以下のとおりです。

オプション説明
-iコピーによって上書きされるファイルがある場合、確認メッセージを表示します。
-vコピーの実行内容を表示します。
-nコピー先に既に同名のファイルが存在する場合、処理を中断します。
-fコピー先に同名のファイルが存在していても、強制的にコピー(上書き)を実行します。
-bコピー(上書き)時に、バックアップファイルが作成されます。
引用:https://envader.plus/course/1/scenario/1003

mv コマンドとは

語源はmove

同じく語源そのままでファイルやディレクトリを移動する際に使用するコマンドです。

cpコマンドと同様に mv (オプション) 移動元 移動先 のように指定します。

#ファイル名を移動先に指定するとリネームになります
mv test.txt test2.txt
#ディレクトリ名を移動先に指定すると移動します
mv test.txt dir2/.
#複数のファイルを移動することも可能です
mv test.txt test2.txt test3.txt dir3/.

ディレクトリ指定の後ろには/.をつけたほうがいいです。つけないと該当ディレクトリがない場合に、指定した名前のファイルが出来てしまいます。
例)mv test.test dir
dirというディレクトリがなかった場合、dirというファイルにリネームされる

主要なオプションは以下のとおりです。

オプション説明
-f移動先に同名のファイルがある場合、強制的に移動(上書き)されます。
-i移動先に同名のファイルがある場合、確認メッセージが表示されます。
-b移動により上書き(削除)されるファイルのバックアップを作成します。
-n移動先に同名のディレクトリ(またはファイル)がある場合は、処理を実行しません。
-v移動処理を行う際の詳細情報を表示します。
引用:https://envader.plus/course/1/scenario/1003

まとめ

仮想環境として今回もEnvaderを使用しました。

cp、mv両コマンドともにコマンド自体はシンプルなものの用途やオプションが多く覚えられる気がしないのでとにかく手を動かして記憶に定着するようしようと思います。

参考にしたサイト

各種コマンド内容について参考にさせていただきました。

ファイルやディレクトリをコピーするcpコマンドの使い方!【Linuxコマンド集】
本日はLinuxのcpコマンドの使い方について詳しく解説した。知っているオプションも多いだろうが、意外と知られていない便利なオプションについてもまとめている。ご参考にしてほしい。
mvコマンドでファイル(ディレクトリ)名の変更、移動 - Qiita
mvコマンドを使えば、①ファイル(ディレクトリ名)の変更②ファイル(ディレクトリ)の移動の2種類の処理を行うことができます。#ファイル(ディレクトリ)名の変更$ mv < 変更前のファイル…
コース一覧 | エンベーダー
コース一覧に関するページです。Linuxを学べるLinux基礎・応用コースを始めとして、エンジニア必須の知識であるデータベースやセキュリティのコースもあります。
Linux コマンド一覧表 - Qiita
機能に続いてLinuxのコマンドについてまとめようと思います。詳細コマンドmanコマンド(コマンド内容表示)基本の前にmanコマンドを書きます。対象のコマンドの使い方や使用できるオプションを…

これまでのLinuxコマンド記事

コメント