LoginSignup
64
45

More than 3 years have passed since last update.

mvコマンドでファイル(ディレクトリ)名の変更、移動

Last updated at Posted at 2020-07-25

mvコマンドを使えば、
①ファイル(ディレクトリ名)の変更
②ファイル(ディレクトリ)の移動

の2種類の処理を行うことができます。

#ファイル(ディレクトリ)名の変更

$ mv < 変更前のファイル(ディレクトリ)名 > < 変更後のファイル(ディレクトリ)名 >

例)test.txtというファイルをhoge.txtというファイル名に変更する場合

$ mv  test.txt  hoge.txt

なお、上記の例でコマンドを実行した時に
既にhoge.txtファイルが存在していた場合は、test.txtを名前変更したと同時にもともとあったhoge.txtが上書きされてしまいます。
それを防ぐには、その1つの方法として-iオプションを付けます。
これにより、mvコマンド実行時に「上書きしていいですか?」と確認されるようになります。

$ mv  -i  test.txt  hoge.txt

ファイルの上書き防止系のオプションは他にもありますので、この記事の最後にオプションを一覧にまとめておきました。

また、mvコマンドでは1つずつしかファイル名の変更はできないので、複数のファイルを一括して変更したい時はrenameコマンドを使います。

#ファイル(ディレクトリ)の移動

$ mv  < ファイル(ディレクトリ)名 >  < 移動先のディレクトリ名 >

例)sample.txtというファイルをdirというディレクトリに移動する場合

$ mv  sample.txt  dir

ちなみに、移動先のディレクトリに/.を付けて、dir/.とした方が安全です。
この/.には、「ディレクトリ直下の」という意味があります。
理由として、もし「sample.txtファイルをdirディレクトリに移動する」という指示のコマンドを実行した時にdirディレクトリが存在していなかった場合、単にsample.txtファイルがdirという名前の__ファイル__に変更されてしまうという挙動をとるためです。
ファイル名の変更の際の構文である
$ mv < 変更前のファイル(ディレクトリ)名 > < 変更後のファイル(ディレクトリ)名 >
が適用されてしまっているのですね。
なので、以下のようにコマンドを打つのが安全です。

$ mv  sample.txt  dir/.

###複数のファイル(ディレクトリ)をまとめてディレクトリに移動

mvコマンドでは、複数のファイルを移動することもできます。

例)sample01.txt,sample02.txt,sample03.txtをまとめてdirというディレクトリに移動する場合

$ mv  sample01.txt  sample02.txt  sample03.txt  dir/.

###ファイル(ディレクトリ)をカレントディレクトリの一つ上の階層に移動

$ mv  < ファイル(ディレクトリ)名 >  ../

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

オプション 説明
-b
(--backup)
移動先に同名のファイルがあれば、バックアップを取ってから上書きする
-f
(-force)
移動先に同名のファイルがあれば、強制的に上書きする
-i
(–interactive)
移動先に同名のファイルがあれば、上書きしてOKか確認する
-n
(–no-clobber)
移動先に同名のファイル(ディレクトリ)があったら上書きしない
-v
(–verbose)
移動処理行う際の詳細情報を表示する
64
45
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
64
45