kazmax - Linux で自宅サーバー

mv - コマンド (プログラム) の説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. POSIX オプション
  5. GNU オプション
  6. GNU バックアップオプション
  7. GNU 標準オプション
  8. 環境変数
  9. 準拠
  10. 注意

名前

mv - ファイルを移動する (ファイル名を変更する)

書式

mv [ option... ] source target
mv [ option... ] source... target
POSIX オプション: [-fi]
GNU オプション (簡略形式): [-bfiuv] [-S suffix ] [-V {numbered,existing,simple}] [--strip-trailing-slashes] [--target-directory] "[--help] [--version] [--]"

説明

mv はファイルやディレクトリの移動や名前変更を行なう。

最後の引き数がすでに存在しているディレクトリならば、 mv は指定したファイルを同じ名前でそのディレクトリに移動する。 一方、2 つのファイルしか指定されない場合、 1 番目のファイル名を 2 番目のファイル名に変更する。 最後の引数がディレクトリでなく、 3 つ以上のファイルが指定された場合はエラーとなる。

したがって `mv /a/x/y /b' とすると、 ディレクトリ /b がすでに存在する場合は /a/x/y を /b/y という名前に変更する。 /b が存在しない場合は /b という名前に変更する。

指定されたファイルの移動先のファイルを destination とよぶことにする。 「 destination がすでに存在する場合に -i オプションが指定されている」 もしくは 「 destination が書き込み不可で、標準入力が端末で、 "-f" オプションが指定されていない」のいずれかであれば、 mv はユーザーにファイルを置き換えてよいかを問い合わせる。 問い合わせは標準エラーに書き出され、返答は標準入力から読み込まれる。 返答が置き換えを肯定するものでなければ、そのファイルは移動させない。

sourcedestination が同じファイルシステム上にある場合、 その 2 つのファイルは同一のものである (名前が変更されるだけあり、 所有者・許可モード・タイムスタンプは変更されない)。 2 つのファイルが異なるファイルシステム上にある場合、 元ファイルはコピーされた後で削除される。 可能であれば、 mv は修正時刻・アクセス時刻・ユーザー ID・グループ ID・許可モードをコピーする。 ユーザー ID やグループ ID のコピーに失敗した場合は、 setuid ビットと setgid ビットをそれぞれクリアする。

POSIX オプション

"-f"
上書きの確認の問い合わせをしない。
"-i"
destination がすでに存在する場合、上書きの確認の問い合わせをする。 (-f と -i が両方とも指定された場合、 後から指定された方のオプションが有効になる。)

GNU オプション

"-f, --force"
移動先に存在する既存のファイルを削除する。 その際、ファイル削除の可否をユーザーに問い合わせない。
"-i, --interactive"
移動先に存在するファイルを上書きするかを問い合わせる。 返答が `y' または `Y' で始まっていない場合、そのファイルを移動しない。
--strip-trailing-slashes
指定された全ての引き数について、 後ろに付いているスラッシュを取り除く。 これは `mkdir a; ln -s a la; mv la/ b' のような場合に役立つ。 この場合 POSIX の要求により、 mv はシンボリックリンク `la' ではなく ディレクトリ `a' を実際に移動してしまう。
--target-directory= DIR
移動先ディレクトリを、コマンドラインの最後の引き数ではなく、 オプションで指定する。 xargs(1) と一緒に用いるのに役立つ。
"-u, --update"
ディレクトリ以外のファイルの移動で、 移動先ファイルが既に存在し、 その修正時刻が移動元より新しい場合 (同じ場合を含む)、移動を行わない。
"-v, --verbose"
移動する前にそれぞれのファイル名を出力する。

GNU バックアップオプション

GNU 版のプログラム cp , mv , ln , install , patch は、上書き・修正・削除といった場合に、指示すればファイルの バックアップを作成する。 バックアップファイルを必要とする場合は -b オプションで指定する。 どのような名前にするかは -V オプションで指定する。 バックアップファイルの名前を、ファイル名に拡張子を追加する形で 与えるようにしたい場合、 この拡張子を -S オプションで指示する。

-b, --backup[= METHOD ]
上書きもしくは削除の必要がある場合にはファイルのバックアップを作成する。 -b が引き数をとらない点に注意すること。
-S SUFFIX , --suffix= SUFFIX
SUFFIX をバックアップファイルそれぞれに付け加える。 このオプションが指定されていない場合、環境変数 SIMPLE_BACKUP_SUFFIX に設定されている値が使われる。 SIMPLE_BACKUP_SUFFIX が設定されていない場合のデフォルトは `~' である。
-V METHOD , --version-control= METHOD

バックアップファイルの命名方法を指定する。 引き数 METHOD には、`numbered' (または `t')、`existing' (または `nil')、 `never' (または `simple') を指定できる。 このオプションが指定されていない場合、環境変数 VERSION_CONTROL の値が使われる。 VERSION_CONTROL が設定されていない場合のデフォルトは `existing' である。

このオプションは Emacs 変数の `version-control' に対応している。 有効な METHOD は以下の通り。 (他と重複しない範囲で短縮形を使うことができる):

t , numbered
常に番号の拡張子を持つバックアップを作成する。
nil , existing
番号の拡張子を持つバックアップがすでにある場合には 番号の拡張子を持つバックアップを、 そうでない場合には単純なバックアップを作成する。
never , simple
常に単純なバックアップを作成する。

このオプションは推奨されない。 代りに --backup=METHOD を使うこと。

GNU 標準オプション

"--help"
標準出力に使用方法のメッセージを出力して正常終了する。
"--version"
標準出力にバージョン情報を出力して正常終了する。
"--"
オプションリストを終了する。

環境変数

変数 LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES は通常の意味を持つ。 GNU 版では、変数 SIMPLE_BACKUP_SUFFIX と VERSION_CONTROL により バックアップファイルの命名法が制御される (上記参照)。

準拠

POSIX 1003.2 に準拠するが、ファイルシステムを越えて ディレクトリ階層を移動することはできない。

注意

このページは fileutils-4.1 パッケージの mv コマンドについて説明したものである。 その他のバージョンでは少し違いがあるかもしれない。 修正や追加は aeb@cwi.nl, aw@mail1.bet1.puv.fi, ragnar@ragnar-hojland.com 宛にメールで連絡してください。 プログラムのバグについては bug-fileutils@gnu.org へ報告してください。