ファイル操作

Linux mvコマンド入門|ファイルの移動と名前変更

Linux mv 基本コマンド

Linux mvコマンド入門
ファイルの移動と名前変更

mvコマンドでファイルやディレクトリの移動・リネームを行う方法を基礎から実践まで解説します。

こんな人向けの記事です

  • ファイルの移動やリネームの基本を学びたい方
  • 安全にファイルを移動するテクニックを知りたい方
  • 一括リネームの方法を知りたい方

Step 1mvコマンドの基本

mvコマンドは「move」の略で、ファイルやディレクトリの移動とリネームを行うコマンドです。cpと違い、元のファイルは残りません。

ターミナル
# ファイルを別のディレクトリに移動
mv file.txt /home/user/Documents/

# 複数ファイルを移動
mv file1.txt file2.txt /backup/

# ワイルドカードで一括移動
mv *.log /var/log/archive/

# ディレクトリを移動
mv old_dir/ /new/location/

cpとの違い: cpはコピー(元ファイルが残る)、mvは移動(元ファイルがなくなる)。mvはディレクトリ移動に-rオプション不要です。

Step 2ファイルのリネーム

mvコマンドは同じディレクトリ内で使うとリネームになります。

ターミナル
# ファイル名を変更
mv old_name.txt new_name.txt

# ディレクトリ名を変更
mv old_project/ new_project/

# 拡張子を変更
mv document.txt document.md

# 大文字小文字の変更
mv README readme.md

注意: 移動先に同名ファイルがある場合、確認なしで上書きされます。重要なファイルを扱う場合は-iオプションで上書き確認を有効にしましょう。

Step 3よく使うオプション一覧

mvコマンドの主要なオプションとその使用場面を紹介します。

ターミナル
# 上書き確認
mv -i file.txt /backup/          # 上書き前に確認

# 上書きしない
mv -n file.txt /backup/          # 既存ファイルを上書きしない

# 更新されたファイルのみ移動
mv -u *.txt /backup/

# 詳細表示
mv -v file.txt /backup/          # 移動内容を表示

# バックアップを作成してから上書き
mv --backup=numbered file.txt /backup/

# 強制移動
mv -f file.txt /backup/          # 確認なしで上書き
オプション説明
-i上書き前に確認を求める
-n既存ファイルを上書きしない
-u移動先より新しい場合のみ移動
-v移動内容を詳細表示
-f確認なしで強制上書き
--backup上書き前にバックアップを作成

Step 4実践的な使用例

日常業務でよく使用されるmvコマンドの実践例を紹介します。

ターミナル
# 日付付きでリネーム(バックアップ用)
mv config.conf config.conf.$(date +%Y%m%d)

# ログファイルのアーカイブ
mv /var/log/app/*.log /var/log/archive/

# ダウンロードファイルの整理
mv ~/Downloads/*.pdf ~/Documents/PDFs/
mv ~/Downloads/*.jpg ~/Pictures/

# findと組み合わせた一括移動
find . -name "*.bak" -exec mv {} /backup/ \;

# 安全な移動(確認付き+詳細表示)
mv -iv source/* destination/

# 一括リネーム(forループ)
for f in *.txt; do
    mv "$f" "prefix_$f"
done

一括リネームのヒント: 複雑なリネームにはrenameコマンド(Perl版)が便利です。正規表現でパターンを指定できます。例: rename 's/.txt/.md/' *.txt