はじめに
Linuxのファイルシステムで、ファイルやディレクトリの場所を変えたり、名前を変更したりする際に使用するのが、mv(move)コマンドです。mvコマンドは、ソース(移動元)のファイルやディレクトリを、デスティネーション(移動先)へ移動させます。
このコマンドの非常に重要な特徴は、ファイルやディレクトリの移動と改名(リネーム)が同じ操作で実現できる点です。
LPICレベル1の試験では、特に移動と改名の違い、そして上書き時の挙動に関するオプションの理解が問われます。この記事では、mvコマンドの基本的な使い方から、コマンド名の由来、必須オプション、そしてLPIC対策として押さえるべきポイントまでを詳しく解説していきます。
mvコマンドの基本
まずは、mvコマンドの基本的な使い方と、移動・改名のパターンから見ていきましょう。
mvコマンドの書式
mv [オプション] ソース(移動元) デスティネーション(移動先)
- ポイント:
cpコマンドとは異なり、mvはファイルをコピーするのではなく、inode(ファイルの実体)を変えずに場所や名前を変更します。
主要オプション一覧
| オプション | 意味 | 補足 |
-i | 上書きする前に確認のプロンプトを表示する | interactive |
-f | 既に存在するファイルへの上書きを強制する | force |
-u | 宛先ファイルよりソースファイルが新しい場合にのみ移動する | update |
-v | 実行された移動・改名処理を詳細に表示する | verbose |
基本的な操作のパターン
mvコマンドは、移動元と移動先の指定方法によって、以下の2つの主要な役割を果たします。
| パターン | 書式 | 役割 | 動作 |
| 改名(リネーム) | mv old_name new_name | 同じディレクトリ内での名前の変更 | old_nameのファイル名がnew_nameに変わる。 |
| 移動 | mv fileA /path/to/dirB | 異なるディレクトリ間でのファイル移動 | fileAが/path/to/dirBに移動する。 |
コマンド名の由来:なぜ「mv」なのか?
mvコマンドの「mv」は、英語の “move”(移動する) の短縮形です。
このコマンドの目的は、ファイルシステム内におけるファイルやディレクトリの論理的な位置を変更することにあります。名前の変更も、ファイル名という「位置情報」を変更する操作と見なされるため、mvがその両方を担っています。
内部的には、同じファイルシステム内であれば、ファイルデータ自体を移動するのではなく、ファイルシステムのインデックス(inode)のエントリを書き換えるだけで処理が完了するため、非常に高速です。
必須オプションの詳細と実践例
mvコマンドのオプションの中でも、特に安全な操作や条件付きの移動に欠かせないものを詳しく見ていきます。
1. -i (interactive) オプション:上書き前の確認
意味: 移動先に同名のファイルが既に存在する場合、上書きしてもよいかユーザーに確認のプロンプトを表示します。データ消失を防ぐための最も重要な安全策です。
実践例:
mv -i new_log existing_log

オプションの由来: iはinteractive(対話式)の頭文字です。
2. -f (force) オプション:上書きの強制
意味: 既に存在するファイルへの上書きを、確認プロンプト(-iオプション)や、パーミッションによる書き込み制限を無視して強制的に実行します。スクリプトなどで、確実に移動を完了させたい場合に便利ですが、使用には注意が必要です。
実践例:
mv -f temp_log existing_log

オプションの由来: fはforce(強制する)の頭文字です。
3. -u (update) オプション:新しい場合のみ移動(更新)
意味: 移動元のファイルの方が新しい場合にのみ、移動(上書き)を実行します。バックアップや同期の際に、古いファイルで新しいファイルを誤って上書きするのを防ぐのに役立ちます。
実践例:
mv -u source_file backup_dir/

mv_testディレクトリに”11/6 17:00作成のsource_file”が存在する。
backup_dirディレクトリに”11/6 16:59作成のsource_file”が存在する。
この状態でmv_testディレクトリにてmv -u source_file backup_dirを実行すると、backup_dir内のファイルの方が古いため更新される。
オプションの由来: uはupdate(更新)の頭文字です。
4. -v (verbose) オプション:処理内容の表示
意味: 実行された移動・改名処理(どのファイルがどこへ移動されたか)を一行ずつ詳細に表示します。大量のファイルを処理する際に便利です。
実践例:
mv -v fileA dirB/

オプションの由来: vはverbose(冗長な、詳細な)の頭文字です。
LPIC対策としてのポイント
mvコマンドに関するLPICの出題傾向として、以下の点を確実に押さえておきましょう。
- 改名と移動の区別:
- 移動先がファイル名の場合:改名
- 移動先がディレクトリ名の場合:移動
- 安全性:
cpと同様に、-iオプションがデータ消失防止に重要であること。多くの環境でalias mv='mv -i'が設定されています。 - 上書きの強制:
-iエイリアスを無効化して強制的に移動・改名したい場合は、-fオプションを使用します。
まとめ
今回は、ファイルとディレクトリの移動および改名を行うmvコマンドについて、その基本的な使い方からコマンド名の由来、そして特に重要なオプションまでを詳しく解説しました。mvコマンドを安全かつ正確に使いこなすことは、Linuxファイルシステムを効率的に管理するための基本です。
LPICレベル1の試験対策としては、改名と移動の区別、そして上書き防止の-iオプションの役割をしっかりとマスターしておきましょう。



コメント