mv はファイルを移動するコマンドで、名前を変えるコマンドでもあります。同じ場所へ移すことが改名になる理由と、黙って上書きされる落とし穴を、ブラウザ上のターミナルで打ちながら確認できます。
最終更新: 2026-09-05
mv [オプション] 移動元 移動先
移動元は無くなり、移動先に現れます。 移動先がディレクトリならその中へ入り、そうでなければその名前になります。
このページのターミナルには、いくつかのファイルと archive/ があります。
$ ls
archive/ draft.txt notes.txt old.log src/
まず、名前を変えてみます。
$ mv draft.txt article.txt
mv も成功したときは何も表示しません。
ls で確かめると、draft.txt は無くなり article.txt になっています。
$ ls
archive/ article.txt notes.txt old.log src/
同じディレクトリの中で別の名前へ移した、というのが mv から見た改名です。
移動先にディレクトリを指定すると、その中へ入ります。
$ mv old.log archive/
$ ls archive
old.log
元の場所からは無くなります。
$ ls
archive/ article.txt notes.txt src/
移動と改名は同時にもできます。 移動先にディレクトリと新しい名前を書くだけです。
$ mv notes.txt archive/notes.txt
$ ls
archive/ article.txt src/
mv は、散らかった置き場所を直すときにいちばん使います。
| 場面 | 打ち方 |
|---|---|
| 作業中の名前を正式な名前にする | mv draft.md release-notes.md |
| 溜まったログを退避する | mv *.log archive/ |
| 設定を1つ上の階層へ移す | mv config.json .. |
| 上書きせずに移す | mv -n notes.txt archive/ |
同名のファイルは黙って上書きされます。
cp と同じで、mv も確認しません。
-i を付けると上書きの前に聞き、-n を付けると既存のファイルには触れません。
移動元が無いとエラーになります。
$ mv nope.txt archive/
mv: cannot stat 'nope.txt': No such file or directory
打ち間違いか、いまいるディレクトリが想定と違うかのどちらかです。
移動先の書き方で結果が変わります。
mv a.txt backup は、backup がディレクトリなら中へ移動、無ければ backup という名前に改名されます。
ディレクトリへ入れるつもりなら、backup/ と末尾の / まで書いておくと安全です。
webterm.appこのサイト
ターミナル基礎
よく使うコマンドを学ぶ
learn.webterm.app別のサイト
