オプション含めて紹介!mvコマンドの詳細まとめ【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket
mvコマンド

mvはファイルやディレクトリの移動をするコマンドだ。mvを使えないとLinuxは操作できない。

このページではmvコマンドについて詳しくまとめた。知らなかった便利なオプションもあるはずだ。

ぜひ参考にしてみてほしい。

mvコマンドの基本

mvコマンドの基本動作

mvコマンドは「move」の略で、移動のコマンドだ。ファイルやディレクトリを移動する。

基本的な書式は次のようになる。

$ mv 移動元 移動先

例えば、mvディレクトリにfilAを移動するとすると次のようになる。

$ mv fileA mv/fileA

mv

これで移動が完了する。

ディレクトリも同じように扱える

ディレクトリの操作もまったく同じだ。ファイルと同じように移動ができる。

$ mv 元のディレクトリ 移動先

これだけだ。次のように、mvディレクトリに、DirAディレクトリを移動してみる。

mv ディレクトリ

このように、移動ができている。

mvで同じ名前のまま移動する

ファイルを同じ名前のまま移動する場合、移動先はディレクトリ名だけ入力すればいい。

先ほどと同じように、mvディレクトリにfileAを移動するとする。名前を変える必要がなければ、次のコマンドで移動ができる。

$ mv fileA mv

mv 同じ名前

ファイル名を入力しなくて済むので、処理が早くできる。

mvコマンドによる名前の変更

mvディレクトリという名前が、コマンドと同じでわかりにくいと思ったとしよう。mvコマンドは名前を変更するのにも使う。

$ mv 元の名前 変更後の名前

という書式だ。要するに、移動とまったく変わらない。mvディレクトリの名前をmvDirディレクトリに変更する。

$ mv mv mvDir

mvコマンドによる名前変更

このように名前が変更できた。

複数ファイルの移動

これは意外と知らない人もいるかもしれないが、複数のファイルを一度に移動することもできる。

$ mv 移動ファイル1 移動ファイル2 ディレクトリ

例えば次の通りだ。

$ mv fileA fileB DirA

複数ファイルの移動

ここまでがmvコマンドで、必ず知らないといけない基本的な使い方になる。

mvコマンドの便利なオプションたち

mvコマンドのオプション一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

-b, --backup

移動後に上書きや削除されるファイルのバックアップを取る

-f, --force

確認をせずに上書きをする

-i, --interactive

上書きの場合は確認をする

-n, --no-clobber

移動先に同じ名前のファイルやディレクトリがあるときは移動をしない

-S, --suffix=SUFFIX

バックアップの形式を決める

-t, --target-directory=DIRECTORY

ターゲットとなるディレクトリを指定する。

-u, --update

移動元の方が新しい場合のみ新しい上書き

-v, --verbose

移動の詳細表示

 

それぞれ詳細を紹介していこう。

-bオプション(--backup):バックアップを取る

mvコマンドは移動後に自然と上書きの挙動を取る。-bオプションをつけると、上書きになるファイルのバックアップを取ってくれる。

大事なファイルの移動中など、誤って消してしまわないように-bオプション(--backupオプション)をつけておくと安心だ。

$ mv -b fileA fileB

mv -b

最後に「~」がついたものがバックアップファイルだ。バックアップファイルの名前は調整ができる。--suffixオプションを使う。

--suffixオプションでは色々な設定が可能だが、バックアップ日の表示が一番使いやすい。こちらを紹介しよう。

次のコマンドでバックアップファイルの後ろに日付を入力できる。

$ mv -b --suffix=_$(date +%Y%m%d) 移動元 移動先

mv --suffix

-fオプション(--force):上書き時に確認しない

-fオプションをつけると上書き時に確認をしない。強制的に上書きをする形だ。

$ mv -f fileA fileB

mv -f

mvコマンドのデフォルトでこの状態になっているディストリビューションも多いが、念のため確認しておこう。

-iオプション(--interactive):上書き時に確認をする

-fオプションと反対の挙動になるのが-iオプションだ。上書きをする際に確認をするようになる。

$ mv -i fileA fileB

mv -i

このように上書き時に「よろしいですか(yes/no)?」と聞かれるようになる。yesもしくはnoで回答すると、処理が実行される。

-nオプション(--no-clobber):上書きはしない

移動先に同じ名前のファイルやディレクトリがあるとき、-nオプションをつけてmvコマンドを実行すると、移動が実行されない。上書きをしないようにするのが-nオプションの役割だ。

$ mv -n fileA fileB

mv -n

上記例だと、本来fileAがなくなり、fileBのみになるはずだ。しかし、実行されていないのがわかる。

Question -i, -f, -nを同時に入力したらどうなるか?

-iと-f、-nを同時に入力すると、一番最後のオプションが反映される。-nfiオプションをつけると、-iオプションだけが使われる。

mv -i -f -n

-vオプション:移動の詳細情報を表示

-vオプションをつけると、移動元と移動先を矢印で繋いで明示してくれる。一括でファイルを移動するときなど確認用につけるといいだろう。

$ mv -v fileA fileB DirB DirA

mv -v

-tオプション:ターゲットとなるディレクトリを指定

あまり使うことはないが、移動先のターゲットとなるディレクトリを明示することもできる。下記の例だと-tオプション無しだとDirBディレクトリに入るが、-tオプションでDirAファイルを移動先としている。

$ mv -t DirA fileA DirB

mv -t

-uオプション(--update):新しい場合のみ上書き

-uオプションをつけることにより、移動元の方が新しい場合のみ上書きができるように設定できる。

$ mv -u fileB fileA

とすると、通常fileAは消えるはずだが、fileAの方が新しいため残る。

mv -u

mvコマンドと類似のコマンド群

最後にmvコマンドと似ているコマンドも紹介しておく。

cpコマンド

copyコマンドだ。バックアップ等似ているオプションも多い。

rmコマンド

removeで削除のコマンドになる。cp、mv、rm、rmdirなどのコマンドは考えずとも指が動くようにしておきたい。

まとめ

mvコマンドは日常的に使うLinuxコマンドだ。オプションを使わずに使うことが多いが、知っておいて損はない。

この機会にぜひmvコマンドの詳細を確認してほしい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメント

コメントを残す

*