GNU Core Utilities/mv
表示
mv コマンドは、ファイルやディレクトリを移動または名前変更するためのコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
[編集]mv [オプション] 移動元 移動先
主なオプション(GNU coreutils版)
[編集]主なオプション オプション 説明 -i, --interactive上書き前に確認 -f, --force上書きを強制 -n, --no-clobber既存のファイルを上書きしない -v, --verbose移動処理を表示 -u, --update既存のファイルより新しい場合のみ移動 --backup[=CONTROL]既存ファイルをバックアップ --strip-trailing-slashes末尾のスラッシュを削除
例
[編集]ファイルの移動(リネーム)
[編集]mv file1.txt file2.txt
file1.txt を file2.txt という名前に変更。
ファイルをディレクトリに移動
[編集]mv file1.txt directory/
file1.txt を directory/ に移動。
ディレクトリごと移動
[編集]mv dir1 dir2
dir1 を dir2 にリネーム(dir2 が存在する場合は dir1 を dir2/dir1 に移動)。
上書き確認付きで移動
[編集]mv -i file1.txt file2.txt
file2.txt が存在する場合、上書きするか確認される。
上書きせずに移動(-n)
[編集]mv -n file1.txt file2.txt
file2.txt が存在する場合、何もしない。
バックアップを作成しながら移動
[編集]mv --backup file1.txt file2.txt
file2.txt が存在する場合、バックアップ (file2.txt~) を作成。
詳細表示しながら移動
[編集]mv -v file1.txt file2.txt
移動した内容を表示。
FreeBSD 版との違い
[編集]FreeBSD でも mv コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
[編集]-n(上書き禁止)オプションが FreeBSD にはないmv -n file1.txt file2.txtは FreeBSD ではエラーになる。- 代替手段として、
[ -e file2.txt ] || mv file1.txt file2.txtを使う。
--backupオプションが FreeBSD にはない- FreeBSD でバックアップを作成するには、手動で
cpしてからmvする必要がある。 - 例:
cp file1.txt file1.bak && mv file1.txt file2.txt
- FreeBSD でバックアップを作成するには、手動で
- GNU coreutils 版を FreeBSD で使う方法
coreutilsパッケージをインストールするとgmvという名前で GNU 版mvが使える。
pkg install coreutils gmv -n file1.txt file2.txt # GNU coreutils 版の mv
詳しくは、それぞれの環境で man mv を確認してください。