メインコンテンツへスキップ
初級7分で読める

mvでファイル移動・リネーム

Linuxのmvコマンドでファイルやディレクトリを移動・リネームする方法を、実例を交えて分かりやすく解説します。

基礎編mvファイル操作初心者向け移動リネーム

🎯 この記事で学べること

  • 1
    `mv`コマンドの基本的な使い方をマスターできます
  • 2
    ファイルの移動とリネームの違いを理解できます
  • 3
    よく使うオプション(-i、-n、-v)の意味と使い方を学べます
  • 4
    ディレクトリの移動と整理の方法がわかります
  • 5
    安全にファイル操作を行うコツが身につきます

読了時間: 約7

mvコマンドとは

こんにちは!今回は、ファイル操作の中でも特に重要なmvコマンドについて学んでいきましょう。

mvは「move」の略で、ファイルやディレクトリを移動したり、名前を変更(リネーム)したりするコマンドです。面白いことに、Linuxではファイルの「移動」と「リネーム」は同じコマンドで行うんです!これは最初は少し不思議に感じるかもしれませんが、使い方を覚えると、とても便利なことがわかりますよ。

基本的な使い方

mvコマンドの基本的な形は「mv 移動元 移動先」です。これだけで移動もリネームもできちゃいます!

ファイルのリネーム

同じディレクトリ内で別の名前を指定すると、リネームになります。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

上のPlaygroundで実行すると、draft.txtfinal.txtに名前が変わりましたね!内容はそのままです。

ファイルの移動

別のディレクトリを指定すると、ファイルの移動になります。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

移動とリネームを同時に

実は、移動とリネームを同時に行うこともできます!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

mvコマンドは、元のファイルを削除して新しい場所に作り直すのではなく、ファイルシステム上の「場所情報」を変更するだけなので、とても高速に動作します!

よく使うオプション

mvコマンドにも、より安全で便利に使うためのオプションがあります。

-i オプション(対話的移動)

-iオプションは、移動先に同名のファイルがある場合、上書きする前に確認してくれます。これは本当に重要です!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

確認メッセージが出たら、yで上書き、nでキャンセルです。大切なファイルを守るために、-iオプションを使う習慣をつけましょう!

-n オプション(上書き防止)

-nオプションは「no-clobber」の略で、既存のファイルを絶対に上書きしません。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

-v オプション(詳細表示)

-vオプションは何を実行したか表示してくれます。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

ディレクトリの操作

mvコマンドは、ディレクトリの移動やリネームもできます。cpコマンドと違って、-rオプションは不要です!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

🎮 理解度チェック

Q1: 同じディレクトリ内でmv file1.txt file2.txtを実行すると何が起きますか?

同じディレクトリ内でmv file1.txt file2.txtを実行すると何が起きますか?

Q2: 既存ファイルの上書きを絶対に防ぐオプションは?

mvコマンドで既存ファイルの上書きを絶対に防ぐオプションは?

Q3: mvコマンドでディレクトリを移動する際に必要なオプションは?

mvコマンドでディレクトリを移動する際に必要なオプションは?

実践的な使い方

ファイルの整理

散らかったファイルを整理する例を見てみましょう:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

バックアップの作成

作業前にバックアップを取る方法:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

一時ファイルの処理

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

注意点とトラブルシューティング

よくある間違い

1. 意図しない上書き

# 危険!大切なファイルが消える可能性
$ mv newfile.txt important.txt  # important.txtが上書きされる!

# 安全な方法
$ mv -i newfile.txt important.txt  # 確認してくれる
$ mv -n newfile.txt important.txt  # 上書きしない

2. ディレクトリの扱い

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

スペースを含む名前

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

安全な操作のコツ

エイリアスを設定して、常に確認するようにしましょう:

# ~/.bashrcに追加
alias mv='mv -i'  # 常に確認

移動前に確認する習慣:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

便利な使用例

連番ファイルの作成

# ファイルに連番を付ける
for i in {1..5}; do
  mv document.txt document_$i.txt 2>/dev/null || touch document_$i.txt
done

拡張子の一括変更

# .txtを.bakに変更
for file in *.txt; do
  mv "$file" "${file%.txt}.bak"
done

ファイル名の正規化

# スペースをアンダースコアに変換
for file in *\ *; do
  mv "$file" "${file// /_}"
done

📝 まとめ

今回はmvコマンドについて学びました!

  • mvはファイルやディレクトリの移動リネームを行うコマンド
  • 基本形はmv 移動元 移動先
  • 同じディレクトリ内ならリネーム、別ディレクトリなら移動
  • -iで確認、-nで上書き防止、-vで詳細表示
  • ディレクトリの移動に特別なオプションは不要
  • 大切なファイルを扱うときは-iオプションを使おう

次はcatコマンドでファイルの内容を表示する方法を学びましょう!

YouTube動画で復習

動画でさらに詳しく学びたい方は、CommandAcademyのYouTubeチャンネルをチェック!視覚的にコマンドの動作を確認できます。

mvコマンドは、ファイル整理の要となるコマンドです。特に-iオプションを使う習慣をつけることで、大切なファイルを誤って上書きすることを防げます。cpとrmを組み合わせたような動作をするので、慎重に、でも便利に使いこなしていきましょう!