mv コマンド

目的

ファイルを移動します。

構文

ファイルを移動して名前変更する

mv [ -E{force|ignore|warn} ] [ -i | -f ] [ -I ] SourceFile ... TargetFile

ディレクトリーを移動して名前変更する

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] SourceDirectory ... TargetDirectory

ファイルまたはディレクトリーを元のファイル名のままで別のディレクトリーに移動する

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] SourceFile/SourceDirectory TargetDirectory

説明

重要: mv コマンドは、-i フラグを指定しなければ多数の既存のファイルを上書きしてしまうことがあります。 -i フラグを指定した場合、ファイルを上書きする前に確認プロンプトが表示されます。 -f フラグと -i フラグを共に指定した場合、最後に指定したフラグが優先されます。

mv コマンドは、ディレクトリー間でファイルやディレクトリーを移動したり、ファイルまたはディレクトリーの名前を変更したりします。ファイルまたはディレクトリーを新しいディレクトリーに移動する場合は、基本ファイル名は変わりません。 ファイルを移動する場合、他のファイルへのリンクはすべてそのまま保持されます。ただし、他のファイルシステムに移動する場合は、リンクは保持されません。 ディレクトリーを既存のディレクトリーに移動する場合、ディレクトリーとその内容は既存のディレクトリーに追加されます。

mv コマンドを使用してファイルやディレクトリーの名前を変更する場合、TargetDirectory パラメーターには新規ファイル名または新規ディレクトリーのパス名を指定できます。

ファイルを移動することで、書き込み許可が設定されていない既存のファイルが上書きされる場合および標準入力がワークステーションである場合は、mv コマンドはファイル許可コードを表示して、標準入力から 1 行を読み取ります。もしその行が「y」またはロケールにおいて「y」に相当する文字で始まる場合、mv コマンドはファイルを移動します。 もし応答が y 以外なら、mv コマンドはそのファイルに対して何も実行せず、指定された次のファイルに進みます。 TargetFile が ACL と関連がある場合、表示されているファイル許可コードは、完全にアクセス許可を表していないことがあります。 SourceFile の親ディレクトリーが書き込み可能であり、 スティッキー・ビット・セットを持っている場合、次の条件のうちの 1 つ以上が当てはまります。

この警告メッセージおよび入力プロンプトは、-f オプションを使ってオーバーライドできます。

mv コマンドを使用して、同じファイルシステム内または複数のファイルシステム間でファイルを移動することができます。 1 つのファイルシステムで作業をする場合でも、複数のファイルシステム間で作業をする場合でも、mv コマンドはそのファイルをターゲット・ファイルシステムにコピーし、元のファイルを削除します。 mv コマンドは、元のファイルの最新のデータ修正時刻、 最新のアクセス時刻、ユーザー ID、グループ ID、ファイル・モード、拡張属性、および ACL を新しいファイルに保存します。シンボリック・リンクの場合、 mv コマンドは、 リンク自体のオーナーおよびグループのみを保存します。

オーナーおよびグループ ID を保存できない場合、 mv コマンドは、ターゲット内の S_ISUID および S_ISGID ビットを消去します。終了コードに影響はありませんが、これらのビットを消去できない場合、 mv コマンドは、stderr に診断メッセージを印刷します。

mv コマンドを途中で終了させると、このコマンドは送信元ファイルまたは宛先のパスのいずれかを修正します。

注:
mv コマンドは、フラグの終わりを示す区切り文字として (ダッシュ、ダッシュ) パラメーターをサポートします。

オブジェクトが NFS バージョン 4 の委託としてエクスポートされる場合は、mv コマンドは、そのオブジェクトを移動しません。 委託オブジェクトは、「ビジー」としてマーク付けされ、アンエクスポートされるまでその状態を保ちます。

フラグ

重要: mv コマンドは、-i フラグを指定しなければ多数の既存のファイルを上書きしてしまうことがあります。 -i フラグを指定した場合、ファイルを上書きする前に確認プロンプトが表示されます。 -f フラグと -i フラグを共に指定した場合、最後に指定したフラグが優先されます。
-E -E オプションには、次のいずれかの引数が必要です。 -E オプションを省略すると、warn がデフォルト時の 動作になります。
force
ファイルの固定エクステント・サイズまたはスペース予約を保持できない場合、そのファイルにおける mv 操作は失敗します。
ignore
エクステント属性の保存中、エラーを無視します。
warn
ファイルのスペース予約または固定エクステント・サイズを保持できない場合に、警告を出します。
-f 既存のファイルを上書きする前にプロンプトを表示しません。
-i ファイルやディレクトリーを既存のパス名に移動する前に、ファイルの名前の後ろに疑問符を付けてプロンプトを表示します。 y またはロケールにおける y に相当する文字で応答すると、移動は継続されます。 その他の応答では移動が実行されません。
-I ACL 変換中に警告メッセージを抑制します。

  1. ファイルの名前を変更するには、次のように入力します。

    mv appendix apndx.a

    このコマンドにより、名前が appendix から apndx.a に変更されます。 apndx.a というファイルがすでに存在する場合は、 古い内容が appendix の内容に置き換えられます。

  2. ディレクトリーを移動するには、次のように入力します。

    mv book manual

    manual が存在する場合は、このコマンドにより book の下のファイルとディレクトリーはすべてディレクトリー manual に移動されます。 manual がない場合は、 ディレクトリー book の名前が manual に変更されます。

  3. ファイルを他のディレクトリーに移動し、新しい名前を付けるには、次のように入力します。

    mv intro manual/chap1

    このコマンドにより、 intromanual/chap1 に移動されます。現行ディレクトリーからファイル名 intro が除去され、同じファイルが chap1 という名前でディレクトリー manual に現れます。

  4. ファイルを同じ名前で他のディレクトリーに移動するには、次のように入力します。

    mv chap3 manual

    このコマンドにより、 chap3manual/chap3 に移動されます。

    注: 例 1 と 3 では 2 つのファイルの名前を付け、例 2 では既存の 2 つのディレクトリーの名前を付けています。また、例 4 ではファイルとディレクトリーに 1 つずつ名前を付けています。
  5. 複数のファイルを他のディレクトリーに移動するには、次のように入力します。

    mv chap4 jim/chap5 /home/manual

    このコマンドにより、chap4 ファイルが /home/manual/chap4 ファイル・ディレクトリーに、jim/chap5 ファイルが /home/manual/chap5 ファイルに移動されます。

  6. mv コマンドをパターン・マッチング文字とともに使用するには、次のように入力します。

    mv manual/* .

    このコマンドにより、manual ディレクトリー内のすべてのファイルは、 manual ディレクトリーにあったときと同じ名前のまま、 現行ディレクトリー . (ピリオド) に移動されます。また、 manual ディレクトリーは空になります。 アスタリスクとピリオドの間にはスペースを入力する必要があります。

    注: パターン・マッチング文字は、 既存のファイルの名前のみを展開します。例えば、コマンド mv intro man*/chap1 は、 ファイル manual/chap1 が存在しないと実行されません。

終了状況

0 すべての入力ファイルが正常に移動されました。
>0 エラーが発生しました。

ファイル

/usr/bin/mv mv コマンドが入っています。

関連情報

chmod コマンドおよび rm コマンド。


フィードバックの送信 |  このページの評価