mv コマンド

目的

ファイルを移動します。

構文

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

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

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

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

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

mv [ -d ] [ -e ] -E{|ignore|警告} ] [ -i | -f ] [ -I ] SourceFile/SourceDirectory TargetDirectory

説明

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

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

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

ファイルを移動することで、書き込み許可が設定されていない既存のファイルが上書きされる場合および標準入力がワークステーションである場合は、mv コマンドはファイル許可コードを表示して、標準入力から 1 行を読み取ります。 その行が以下で始まっているとします。yまたはロケールに相当するy mv コマンドはファイルを移動します。 応答が以下のもの以外の場合:ymv コマンドは、そのファイルに対して何も実行せず、次に指定されたファイルから処理を続行します。 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 コマンドはオブジェクトを移動しません。 委託オブジェクトは、「ビジー」としてマーク付けされ、アンエクスポートされるまでその状態を保ちます。

注: このコマンドによって生成される読み取りおよび書き込みシステム呼び出しの入出力バッファー・サイズは、 AIX_STDBUFSZ 環境変数を使用して構成できます。

フラグ

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

項目 説明
-d ソース・ファイルは、ターゲット上に暗号化解除 (平文) 形式で保管されます。
-e ターゲット・ファイルシステムが Encrypted File System (EFS) である場合は、ソース・ファイルは暗号化形式で保管されます。
-E -E オプションには、次のいずれかの引数が必要です。 -E オプションを省略すると、warn がデフォルトの動作となります。
force
ファイルの固定エクステント・サイズまたはスペース予約を保持できない場合、 そのファイルにおける mv 操作は失敗します。
無視
エクステント属性の保持のエラーを無視します。
warn
ファイルのスペースの予約または固定エクステント・サイズを保存できない場合に、警告を出します。
-f 既存のファイルを上書きする前にプロンプトを表示しません。
-i ファイルやディレクトリーを既存のパス名に移動する前に、ファイルの名前の後ろに疑問符を付けてプロンプトを表示します。 次で始まる行で応答するとします。yまたはロケールに相当するy移動は続行されます。 その他の応答では移動が実行されません。
-I ACL 変換中に警告メッセージを抑制します。
次の表は、さまざまな条件のもとでのターゲット・ファイルの暗号化状況または暗号化解除状況を示したものです。
mv コマンドの明示的フラグ ソース・ファイル ターゲット・ファイル・システム 結果
-e (暗号化) 非 EFS 非 EFS エラー
-e 非 EFS EFS 暗号化ファイル
-e EFS EFS 暗号化ファイル
-e EFS 非 EFS エラー
-d (暗号化解除) 非 EFS 非 EFS 平文ファイル
-d 非 EFS EFS 平文ファイル
-d EFS 非 EFS 平文ファイル
-d EFS EFS 平文ファイル
明示的なフラグなし 非 EFS 非 EFS 平文ファイル
明示的なフラグなし 非 EFS EFS ターゲット・ファイルシステムが EFS により活動化される場合は、ターゲット・ファイルは暗号化ファイルです。 それ以外の場合は、ターゲット・ファイルは平文ファイルです。
明示的なフラグなし EFS EFS 暗号化ファイル
明示的なフラグなし EFS 非 EFS エラー
注: -f フラグを指定しない限り、暗号化されたファイルをプレーン・テキスト・ファイルで上書きすることは許可されません。 ターゲットの暗号化状況は、-e または -d フラグ、-f フラグと一緒に -e または -d フラグを指定しない場合の暗号化継承、および暗号化継承が活動状態でない場合のソース・ファイルの暗号化状況に応じて決まります。

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

    このコマンドは名前を変更しますappendixapndx.a. ファイルの名前がapndx.a古い内容が既に存在しています。古い内容は、appendix.

  2. ディレクトリーを移動するには、次のように入力します。
    mv book 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 コマンドが入っています。