mv - ファイルの移動や名前変更をする

スポンサーリンク

mvコマンドはファイルの移動と名前変更に用いるコマンドになります。

Linuxコマンドの中で基本的なコマンドのひとつです。

スポンサーリンク

mvコマンドの利用例

ファイルの名前変更
(オプションなし)

mvコマンドはファイルを別の名前に変更することができます。

コマンド例

コマンド例実行前

実行結果

 

 

 

ファイルの移動
(オプションなし)

mvコマンドは、ファイルを別の場所に移動させることができます。移動先に同じ名前のファイルが存在し、書き込み権限がない場合は、上書きするかどうかを確認します。ファイルを上書きするときに、常に確認をしたい場合は-iオプションを、常に確認をしない場合は-fオプションが便利です。

コマンド例

コマンド例実行前

実行結果

 

 

 

ディレクトリ関係
(-tオプションと-Tオプション)

ファイルを別のディレクトリに移動するときの構文は以下のどちらかになります。

sourceは移動させるファイル、directoryは移動先のディレクトリです。
また、2つ目の構文について、-tオプションを用いる場合は先にdirectoryを入力します。

コマンド例

コマンド例実行前

実行結果

 

もし、dirがディレクトリならば、そのディレクトリへの移動先のファイルは、移動元のファイルと同じ名前になります。つまり、

と等価のコマンドになります。このようなファイルを移動させる処理が意図した処理と違う場合があります。そのような場合は-Tオプションを用います。

例えば、ディレクトリの内容を存在する空のディレクトリに移動させるときに-Tオプションを利用することができます。

コマンド例

コマンド例実行前

実行結果

-Tオプションを用いない場合は、移動先のディレクトリの中に移動させるディレクトリが入ります。
コマンド例

実行結果
空のディレクトリでない場合は移動させることができません。
コマンド例と実行結果

 

 

上書きしない
(-nオプション)

-nオプションは、移動先に上書きするファイルが存在する場合、上書きを行わず、ファイルは移動しません。

コマンド例と実行結果

 

 

 

対話モード
(-iオプション)

-iオプションは、ファイルを上書きするようなことを行う場合、ユーザに常に確認を取ります。

コマンド例と実行結果

 

 

 

対話モードにしない
(-fオプション)

mvコマンドは移動先のファイルを上書きするときに、書き込み権限がない場合、上書きをするかどうかをユーザに確認します。-fオプションを用いるとユーザに確認をせずにファイルを上書きします。

コマンド例と実行結果

-fオプションを用いずにmvコマンドを利用する場合は、以下のようにユーザに確認します。

コマンド例と実行結果

 

ファイルの更新
(-uオプション)

-uオプションは移動させるファイルのタイムスタンプが移動先のファイルのタイムスタンプより新しい場合に上書きを行います(同じ時間の場合は上書きしません)。

コマンド例

コマンド例実行前

実行結果

 

 

 

移動するファイルを表示
(-vオプション)

-vオプションは、冗長モード(詳細な情報を表示するモード)で移動するファイル名を表示します。

コマンド例と実行結果

 

 

 

バックアップ
(-bオプション)

-bオプションで、ファイルが上書きされるときに、その上書きされる前のファイルをバックアップとして保存することができます。

コマンド例

コマンド例実行前

実行結果

ロングオプションの--backupオプションを用いるといくつかのバックアップの機能を利用することができます。

バックアップの機能

機能 意味
none
off
バックアップを作成しない
numbered
t
常に番号付きのバックアップを作成
existing
nil
(デフォルト)
既に番号付きのバックアップが存在するならば、
番号付きのバックアップを作成
それ以外は単純なバックアップを作成
simple
never
常に単純なバックアップを作成

コマンド例と実行結果

 

また、バックアップを作成するときに-Sオプションで接尾辞を指定することもできます。

コマンド例と実行結果

 

バックアップされるファイルの接尾辞のデフォルトを変更する方法もあります。-Sオプションを利用していない場合のバックアップの接尾辞は、環境変数SIMPLE_BACKUP_SUFFIXの値がつけられます。SIMPLE_BACKUP_SUFFIXが特に設定されていない場合は、デフォルトとして~(チルダ)が使用され、末尾に~をつけたファイルがバックアップとして保存されます。

コマンド例と実行結果

 

 

参考

GNU Coreutils: mv invocation