【初心者向け】mvコマンド「ファイルやフォルダを移動させる」- コピペで試せるオプション理解 -【Linuxコマンド入門 #8】

前回(#7)は、cpコマンドについて学びました。

cpコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】cpコマンド「コピーを作る」- コピペで試せるオプション理解 -【Linuxコマンド入門 #7】

Linuxでファイルやフォルダをコピー(複製)するcpコマンドを学びます。ディレクトリを中身ごとコピーする-rオプションと、権限も維持する-aオプションの違いを解説。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...

今回は、ファイルやディレクトリを「移動」させたり、「名前を変更」したりする mvコマンドについて紹介します。

mvコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

1. mv コマンドとは?

mvは “Move” の略です。 その名の通り、ファイルやディレクトリを移動させます

cp(コピー)との大きな違いは、mvは移動元にオリジナルを残さない(=場所が「移る」だけ)という点です。

2. mv の基本的な使い方

基本は以下の構文です。mvコマンドは大きく2つの使い道があります。

mv [移動対象] [移動先]

2-1. 別ディレクトリへ移動させる。

mv report.txt documents/

2-2. ディレクトリごと移動させる。

cpと違い、mvは -r オプションが不要です。ディレクトリを移動させたい場合も、そのまま指定すればOKです。

mv old_project/ archive/

注意:上書き cp と同様に、もし移動先にすでに同じ名前のファイルやディレクトリが存在する場合、警告なしに上書きされます。 mv -i (Interactive) を使うと、「上書きしますか?」と確認してくれます。

2-3. mv [古い名前] [新しい名前] (名前の変更)

mvのもう一つの使い道、それが「名前の変更(Rename)」です。 Linuxには「名前変更専用」のコマンド(renなど)は標準では用意されておらず、このmvを使います。

# ファイル名変更
mv temp_file.txt final_report.txt

# ディレクトリ名変更
mv project project_final
ちょこっと小話:なぜ「移動」と「名前変更」が同じコマンド?

初心者の方がよく混乱するのが「なぜ移動(Move)コマンドで名前変更(Rename)ができるのか?」という点です。

これは、Unix/Linuxのファイルシステムの仕組みを理解すると簡単です。 ファイルシステムにとって、ファイル名とは「そのデータ実体への『住所録(ポインタ)』」のようなものです。

  • 移動 (mv file.txt /tmp/): 「file.txtという名前の住所録」を、/home/user ディレクトリから /tmp ディレクトリの住所録台帳に「書き移す」操作です。データの実体は動いていません。
  • 名前変更 (mv file.txt file_new.txt): 「file.txtという名前の住所録」を、同じディレクトリの住所録台帳内で「file_new.txtという名前に書き換える」操作です。

どちらも「住所録(=名前や場所)を書き換える」という点で、OSの内部的な処理は非常に似ています(実質同じです)。 そのため、Unixの設計者は「これらは同じ mv コマンドでやればいい」と判断しました。「名前の変更」とは、「同じ場所への移動」であると考えると分かりやすいですね。

3. もっと詳しく見る mv の便利オプション

3-1. -n (no-clobber) : 上書きしない

注意:上書き」で触れましたが、「警告なしに上書きされる」というmvのデフォルトの動作は、cpと同様に非常に危険です。

-i(確認する)の他に、「絶対に上書きしない」という安全なモード-n (no-clobber) があります。

mv -n sample.txt samples/

用途: バックアップを移動する時など、「既存のファイルを破壊したくない」場合に非常に安全です。

動作: 移動先に同名のファイルがあっても、上書きせずにmvコマンドが(エラーも出さずに)失敗します

3-2. -v (verbose) : 何が起きたかを表示する

mkdirでも同様のオプションがありましたが、mvでも -vで詳細表示してくれます。

Unixの「沈黙は金」の哲学より、結果は表示されないので、移動できたか確認したいときに使います。

mv -v report.txt documents/
# 'report.txt' -> 'documents/report.txt'

第8回のまとめ

  • mv : ファイルやフォルダを移動させる。
  • mv [対象] [移動先] : 基本構文
  • mv -n : 上書きしないように安全対策
  • mv -v : 結果を表示させる

次回予告

お疲れ様でした! 今回は mvコマンドについて紹介しました。ここまで(#2~#8)で、基本のファイル操作ができるようになったと思うので、次回(#9)catからは、ファイルの中身を「見る」方法について紹介していきます。

catコマンドの使い方紹介、Linux Ubuntu初学者向けに、よく使うオプションを優先的に紹介しています。

【初心者向け】catコマンド「ファイルの中身を表示」- コピペで試せるオプション理解 -【Linuxコマンド入門 #9】

Linuxコマンドcatの使い方。ファイルの中身を表示する基本から、行番号(-n)などの便利オプションまで解説。lessとの使い分け(catの罠)もわかります。

UBUNTU-linuxコマンド入門シリーズのサムネイル。この記事シリーズでは、よく使うコマンドを優先的に紹介し、シリーズを通して最低限コマンドライン操作ができるようになることを目標に紹介しています。 18 記事
シリーズ

Linuxコマンド入門

LINUXコマンドの基礎について、ゼロから最低限ファイル操作などができるようになるまでの手順を紹介します。linux系な...