mvコマンド


無料Linux入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック

ファイルを移動する、ファイル名を変更する

■-- 文法 --■

mv (オプション) 「移動元」 「移動先」

   例)
     mv▲ -f▲test.txt▲/home/pakira/tmp/test.txt
     「test.txt」ファイルを「/home/pakira/tmp」ディレクトリへ移動する。
      既に同じファイルがある場合は上書きする。
      ※ ▲はスペースを表してます。

mvコマンドは、指定されたファイルを指定されたディレクトリに移動します。
実行する際は移動元と異動先は必ず指定しなければなりません。
また、移動先に指定する際、ファイル名も別のものを指定した場合には
ファイル名も変更されます。また、同じディレクトリないで指定した場合は
単純にファイル名の変更を行うことができます。


■ オプション

-i 移動先に同じファイルがある場合はコピーするかどうか確認をする
-f 移動先に同じファイルがある場合は強制的に上書きする
-u 移動先に同じファイルがあり、タイムスタンプが移動元ファイルと同じか移動元より最新なら移動しない


■ 実行例

コマンド練習をする前にLinuxにログインして
下記コマンドを実行して実習用ファイルを作成してください。

[pakira@Tiger ~]$ touch data.dat
[pakira@Tiger ~]$ touch out.txt
[pakira@Tiger ~]$ touch test.dat
[pakira@Tiger ~]$ touch tmp.dat
[pakira@Tiger ~]$ mkdir dir1
[pakira@Tiger ~]$ touch /tmp/cp_test.txt
※ファイルは存在しない場合作成してください。
※作成する場合はシステムに影響しないよう注意してください。
※今後はコマンドプロンプトの[pakira@Tiger ~]の箇所は省略します。

---------------------------------------
▼ファイルを移動する
---------------------------------------
$ ls ←移動元ファイル一覧を表示
Desktop data.dat dir1 out.txt tmp.dat
cp_test.txt data_new.dat dir2 test.dat

$ ls /tmp ←移動先/tmpディレクトリのファイル一覧を表示
cp_test.txt gconfd-root scim-panel-socket:0-pakira
gconfd-pakira mapping-pakira

$ mv data.dat /tmp ←data.datを/tmpディレクトリに移動
$ ls ←ファイル一覧を表示
Desktop cp_test.txt data_new.dat dir1 dir2 out.txt test.dat tmp.dat
↑data.datが移動元ディレクトリから無くなっている

$ ls /tmp ←/tmpディレクトリのファイル一覧を表示
cp_test.txt gconfd-pakira mapping-pakira
data.dat gconfd-root scim-panel-socket:0-pakira
↑data.datが移動先ディレクトリ/tmpへ移動している

-------------------------------------------------------------------
▼移動先に同じファイル名のファイルがある場合、強制的に上書きする
-------------------------------------------------------------------
$ ls /tmp ←移動先/tmpディレクトリのファイル一覧を表示
cp_test.txt gconfd-pakira mapping-pakira
data.dat gconfd-root scim-panel-socket:0-pakira
↑cp_test.txtファイルが存在している

$ touch cp_test.txt ←移動先と同じファイル名のファイルを作成

$ mv -f cp_test.txt /tmp ←/tmpディレクトリへcp_test.txtを強制上書き移動

$ ls ←移動元ファイル一覧を表示
Desktop data_new.dat dir1 dir2 out.txt test.dat tmp.dat
↑cp_test.txtが移動元ディレクトリから無くなっている

$ ls /tmp ←移動先/tmpディレクトリのファイル一覧を表示
cp_test.txt gconfd-pakira mapping-pakira
data.dat gconfd-root scim-panel-socket:0-pakira
↑cp_test.txtが存在している

今回コマンド実行したCentOS5.5環境の場合、移動先に同じファイル名の
ファイルが存在しても、オプション「-f」なしでも強制上書きされるようになっています。

つまり、「mv cp_test.txt /tmp」を実行するだけで強制上書き移動になりますので
注意が必要です。

------------------------------------------------------------------------
▼移動先に同じファイル名のファイルが存在する場合、上書きするか確認する
------------------------------------------------------------------------
$ touch cp_test.txt ←移動先と同じファイル名のファイルを作成

$ mv -i cp_test.txt /tmp/ ←/tmpディレクトリへcp_test.txtを上書き確認して移動
mv: \`/tmp/cp_test.txt\' を上書きしてもよろしいですか(yes/no)? y
       ↑上書きするかの確認 (y=yes n=no)

-------------------------------------------------------------------------
▼移動先ファイルのタイプスタンプが移動元と同じか新しい場合、移動しない
-------------------------------------------------------------------------
$ ls -l /tmp/cp_test.txt
-rw-rw-r-- 1 pakira pakira 0 1月 27 20:32 /tmp/cp_test.txt
↑/tmp/cp_test.txtファイルのタイプスタンプを確認する「20:32」に作成されています。

$ touch cp_test.txt ←移動元と同じファイル名のファイルを作成

$ ls -l cp_test.txt
-rw-rw-r-- 1 pakira pakira 0 1月 27 20:35 cp_test.txt
↑cp_test.txtファイルのタイプスタンプを確認する「20:35」に作成されています。

$ mv -u /tmp/cp_test.txt ./cp_test.txt
↑オプション「-u」を付けて移動を実行する

$ ls -l /tmp/cp_test.txt
-rw-rw-r-- 1 pakira pakira 0 1月 27 20:32 /tmp/cp_test.txt
$ ls -l cp_test.txt
-rw-rw-r-- 1 pakira pakira 0 1月 27 20:35 cp_test.txt
↑移動元ファイルも移動先ファイルも両方存在しており、タイムスタンプにも
変化がないため、移動していないことがわかります。


無料Linux入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック


<<関連記事>>
・pstree
・chsh
・finger
・du
・uname

Linux入門マニュアル無料ダウンロード