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

LinuxBeginner
オンラインで実践に進む

はじめに

このチュートリアルでは、Linux における mv コマンドの概要を解説します。mv コマンドは、Linux 環境内でファイルやディレクトリを移動したり、名前を変更したりするために使用される多機能なツールです。効率的なファイル管理を行うためには、その基本的な使い方とさまざまなオプションを理解することが不可欠です。

この実験では、小規模な Web 開発会社のプロジェクトファイルを整理する新人システム管理者の役割を担います。mv コマンドを駆使して、プロジェクトファイルの管理、コンテンツの更新、そして整理されたファイル構造の維持を行っていただきます。

プロジェクトディレクトリの確認

まずは、プロジェクトディレクトリの中身を確認することから始めましょう。

  1. ターミナルを開きます。デフォルトでは /home/labex/project ディレクトリにいるはずです。これを確認するには、以前に学んだ pwd コマンドを使用します。現在の作業ディレクトリが表示されます。

  2. ls コマンドを使用して、現在のディレクトリの内容をリスト表示します。

ls

Web 開発プロジェクトに関連するいくつかのファイルやディレクトリが表示されるはずです。出力結果は以下のようになります。

index.html  styles.css  script.js  utils.js  images

他にもファイルがあったり、一部が欠けていたりしても心配しないでください。重要なのは、現在の作業環境にどのようなファイルやディレクトリが存在するかを把握することです。

ファイルの移動

次に、プロジェクト構造をより良く整理するためにファイルを移動してみましょう。styles.css ファイルを css という名前の新しいディレクトリに移動します。

  1. まず、css ディレクトリを作成する必要があります。以前に学んだ mkdir コマンドを使用します。
mkdir css

このコマンドにより、現在の場所に css という名前の新しいディレクトリが作成されます。

  1. それでは、mv コマンドを使って styles.csscss ディレクトリに移動しましょう。
mv styles.css css/

このコマンドの内容を分解して説明します。

  • mv: ファイルを移動するために使用するコマンドです。
  • styles.css: 移動したい元のファイル(ソース)です。
  • css/: ファイルを移動させたい先のディレクトリ(デスティネーション)です。

css の後のスラッシュ(/)は、それがディレクトリであることを示しています。スラッシュを含めることは任意ですが、ディレクトリの中に移動させていることを明確にするのに役立ちます。

  1. ファイルが移動されたことを確認するために、再び ls コマンドを使用します。今回は css ディレクトリの中身を確認します。
ls css

出力に styles.css が表示されるはずです。もし表示されない場合でも、後の検証ステップで確認するので大丈夫です。

ファイルの名前変更

命名規則に従ったり、バージョンを更新したりするために、ファイル名を変更しなければならないことがよくあります。mv コマンドはファイルの名前変更にも使用できます。

  1. index.htmlhome.html に名前変更してみましょう。再び mv コマンドを使いますが、今回は移動元と移動先の両方が同じディレクトリ内になります。
mv index.html home.html

このコマンドでは以下のようになります。

  • index.html: ファイルの現在の名前(ソース)
  • home.html: ファイルに付けたい新しい名前(デスティネーション)

移動元と移動先が同じディレクトリにある場合、mv はファイルを移動するのではなく、名前を変更したいのだと解釈します。

  1. 変更を確認するには、ls コマンドを使用します。
ls

リストに home.html が表示され、index.html が消えていれば成功です。もし両方のファイルが存在したり、index.html しか見えなかったりしても、検証ステップでチェックできます。

複数のファイルの移動

一度に複数のファイルを移動させたい場面も多いでしょう。JavaScript ファイルを scripts ディレクトリに移動して整理してみましょう。

  1. まず、mkdir コマンドでスクリプト用の新しいディレクトリを作成します。
mkdir scripts
  1. 次に、mv コマンドを使用して、すべての .js ファイルを scripts ディレクトリに移動します。
mv *.js scripts/

このコマンドを解説します。

  • mv: ファイルを移動するコマンドです。
  • *.js: .js で終わるすべてのファイルに一致するパターンです。* は「任意の文字列」を意味するワイルドカードです。
  • scripts/: 移動先のディレクトリです。

このコマンドにより、すべての JavaScript ファイル(拡張子が .js のファイル)が scripts ディレクトリに移動されます。

  1. 移動を確認するために、ls コマンドで scripts ディレクトリの内容をチェックします。
ls scripts

すべての JavaScript ファイルがリスト表示されるはずです。ファイルが表示されない場合や、メインのプロジェクトディレクトリにまだ .js ファイルが残っている場合でも、検証ステップで確認できます。

安全な移動のための -i オプションの使用

ファイルを移動する際、誤って既存のファイルを上書きしないように -i オプションを使用するのが良い習慣です。-i は「interactive(対話型)」の略で、既存のファイルを上書きする前に確認を求めてきます。

  1. 実験用のテストファイルを作成しましょう。ここでは echo という新しいコマンドを使用します。echo の詳細を理解する必要はありません。ここでは内容を含んだファイルを作成するために使用します。

    echo "Test content" > test.txt
    

    このコマンドは、"Test content" という内容の test.txt という新しいファイルを作成します。

    次のコマンドを実行する前に、home.html が存在することを確認してください。以下のコマンドで確認できます。

    ls home.html
    

    もし存在しない場合は、以下のコマンドで作成してください。

    echo "Home page" > home.html
    
  2. それでは、-i オプションを使って、このファイルを既存のファイルに上書きするように移動してみましょう。

    mv -i test.txt home.html
    
  3. 以下のようなメッセージが表示されます。

    mv: overwrite 'home.html'?
    

これは、既存の home.htmltest.txt で上書きしてもよいか尋ねています。操作をキャンセルするには n と入力して Enter キーを押してください。

-i オプションは、重要なファイルを上書きしてしまう可能性がある場合に非常に便利です。変更を加える前に再考する機会を与えてくれます。

まとめ

この実験では、Web 開発プロジェクトのファイルを整理するために mv コマンドを使用する方法を学びました。ファイルの移動、名前変更、複数ファイルの一括操作、そしてより安全な操作のための -i オプションの使用を実践しました。

この実験では触れませんでしたが、mv コマンドには他にも便利なオプションがあります。

  • -f: 確認を求めずに強制的に移動する(Force)
  • -n: 既存のファイルを上書きしない
  • -v: 実行内容を詳しく表示する(Verbose)

関連リソース