No.023ファイルとフォルダ
mv
エムブイ・ファイル移動・改名
ファイルやディレクトリを別の場所へ移動するか、名前を変更します。同一ファイルシステム内の改名では特に高速に処理されることがあります。
答えよく使う形
注意上書き事故や意図しない場所への移動が起こり得ます。
$ printf "%sn" "demo" > old.txt
mv old.txt new.txt
ls -l new.txt
-rw-r--r-- ... new.txt
$ mkdir -p archive
mv report.txt archive/
完了後、archive/report.txtへ移動
$ mv old.txt new.txt
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中で30 コマンド・13 駅め / 30LPIC-1・11 駅め / 106
どんなコマンド?
ファイル名を変更したい時、作業結果を別の場所へ整理したい時、ディレクトリ構成を組み替えたい時に使います。
mvは、Linuxの基本的な整理操作を担うコマンドです。ファイル名の変更、別ディレクトリへの移動、ディレクトリ全体の場所変更など、作業対象の配置を変える時に使います。
同一ファイルシステム内では、内容コピーではなく名前や参照先の変更として扱われることが多く、高速です。一方、異なるファイルシステムをまたぐ移動では、実質的にコピーと削除に近い動きになることがあります。
重要なのは上書き事故の回避です。既存ファイルを無意識に潰さないよう、-iや-nの利用、事前確認が有効です。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ mv
使用例と実行結果
行を押すとコピーできます。
-rw-r--r-- ... new.txt
完了後、archive/report.txtへ移動
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 2
ゲームで確かめる
つまずいたとき
移動したつもりが上書きしてしまった
原因既存ファイル確認をせずにmvしたためです。
こうする重要ファイルではmv -iや事前確認を使います。
別ファイルシステム間で時間がかかる
原因実質的にコピーと削除に近い処理になることがあります。
こうする大容量では進捗や空き容量も考慮します。
終わったときの数(戻り値)
$ echo $?
- 0移動または改名に成功しました。
- >0権限不足、対象不在、上書き拒否などで失敗しました。
気をつけることと入れ方
上書き事故や意図しない場所への移動が起こり得ます。特に同名ファイルが既にある場所へ移動する時は、-iやls確認を併用すると安全です。
たいていの Linux に最初から入っています(coreutils)。
環境による違い
POSIXで基本機能は定義されています。GNU系の-nなどは実装差に注意が必要です。
確かめた環境Debian GNU/Linux / 13 / GNU coreutils 9.7 / Bash 5.2.372026-04-09 に確認
よくある質問
mvは改名と移動のどちらですか。
どちらにも使います。見え方は違っても、本質的には名前や配置を変える操作です。
資格試験では
- LinuC レベル1大事1.02 ファイル・ディレクトリの操作と管理
- LPIC-1大事104.7 システムファイルの検索と正しい配置
- 共通基礎大事Linuxコマンド基礎
mv を最後まで読みました。
Linux コマンド辞典に戻る70 / 144