mv コマンドは、ファイルやディレクトリを移動したり、名前を変更 するコマンドです。
コピー (cp) と違い、元のファイルは残らず移動されます。リネーム操作も mv で行います。
bashについて、基本的な考え方や使い方については bash から参照ください。
構文(Syntax)
mv [オプション] コピー元 コピー先
mv [オプション] コピー元... コピー先ディレクトリ
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | ファイルを移動またはリネーム | mv old.txt new.txt |
-i | 上書き前に確認 | mv -i file.txt backup.txt |
-f | 確認せずに強制上書き | mv -f file.txt backup.txt |
-n | 既存ファイルを上書きしない | mv -n file.txt backup.txt |
-u | コピー元が新しい場合のみ上書き | mv -u file.txt backup.txt |
-v | 実行内容を表示 | mv -v file.txt backup.txt |
--backup | 上書き前にバックアップを作成 | mv --backup file.txt backup.txt |
--suffix=SUF | バックアップファイルの拡張子を指定 | mv --backup --suffix=.bak file.txt backup.txt |
実行例
ファイルをリネーム
mv file.txt file_old.txt
ディレクトリを移動
mv dir1 /tmp/
上書き前に確認
mv -i report.txt report_old.txt
出力例:
mv: overwrite 'report_old.txt'? y
強制的に上書き
mv -f config.conf /etc/config.conf
更新されたファイルだけ上書き
mv -u new_data.csv data.csv
実行内容を表示
mv -v old.log archive.log
出力例:
renamed 'old.log' -> 'archive.log'
複数ファイルをまとめて移動
mv *.txt /home/user/docs/
エラー例(存在しないファイル)
mv notfound.txt dest.txt
出力例:
mv: cannot stat 'notfound.txt': No such file or directory
関連コマンド
cp: ファイルやディレクトリをコピーrm: ファイルやディレクトリを削除install: コピー+パーミッション設定(インストール用途向け)
備考
- 同じファイルシステム内では inode を移動するだけ なので高速です。
- 異なるファイルシステム間では内部的に
cp→rmが行われ、時間がかかることがあります。 mvはリネーム操作として使われることが多いですが、ファイル整理にもよく利用されます。
参考
- manページ: man7.org mv(1)
- GNU Coreutils: https://www.gnu.org/software/coreutils/

コメント