ファイルとディレクトリを移動することは、Linuxシステムでよく実行する必要がある最も基本的なタスクの一つです。

このチュートリアルでは、mvコマンドを使用してファイルとディレクトリを移動する方法について説明します。

mvコマンドの使い方#

mvコマンド(moveから短い)は、ファイルやディレクトリの名前を変更したり、移動したりするために使用されます。, mvコマンドの構文は次のとおりです。

mv SOURCE DESTINATION

SOURCEは一つ以上のファイルまたはディレクトリにすることができ、DESTINATIONは単一のファイルまたはディレクトリにすることができます。

  • 複数のファイルまたはディレクトリをSOURCEとして指定する場合、DESTINATIONはディレクトリでなければなりません。 この場合、SOURCEファイルはターゲットディレクトリに移動されます。,
  • SOURCEとして単一のファイルを指定し、DESTINATIONターゲットが既存のディレクトリである場合、ファイルは指定されたディレクトリ
  • 単一のファイルをSOURCEとして指定し、単一のファイルをDESTINATIONtargetとして指定すると、ファイルの名前が変更されます。li>
  • SOURCEがディレクトリであり、DESTINATIONが存在しない場合、SOURCEDESTINATIONに名前が変更されます。, そうでなければ、DESTINATIONが存在する場合、DESTINATIONディレクトリ内に移動されます。

ファイルまたはディレクトリを移動するには、SOURCEDESTINATIONの両方に書き込み権限が必要です。 それ以外の場合は、permission deniedエラーが表示されます。,

たとえば、ファイルを移動するにはfile1現在の作業ディレクトリから/tmpディレクトリに移動します。

mv file1 /tmp

ファイルの名前を変更するには、宛先ファイル名を指定する必要があります。

mv file1 file2

ディレクトリを移動する構文は、ファイルを移動するときと同じです。 次の例では、dir2ディレクトリが存在する場合、コマンドはdir1dir2内に移動します。, dir2が存在しない場合、dir1の名前がdir2に変更されます。

mv dir1 dir2

複数のファイルとディレクトリの移動#

複数のファイルとディレクトリを移動するには、ソースとして移動するファイルを指定します。 たとえば、ファイルfile1およびfile2dir1ディレクトリに移動するには、次のように入力します。

mv file1 file2 dir1

mvコマンドを使用すると、パターンマッチングを使用することもできます。, たとえば、すべてのpdfファイルを現在のディレクトリから~/Documentsディレクトリに移動するには、次のように使用します。

mv *.pdf ~/Documents

mvコマンドオプション#

mvコマンドは、デフォルトのコマンド動作に影響を与えるいくつかのオプションを受け入れます。

一部のLinuxディストリビューションでは、mvは、カスタムオプションセットを持つmvコマンドのエイリアスになることがあります。 たとえば、CentOSではmvmv -iのエイリアスです。, mvtypeコマンドを使用してエイリアスであるかどうかを見つけることができます。

type mv 

mvがエイリアスの場合、出力は次のようになります。

mv is aliased to `mv -i'

競合するオプションがある場合、出力は次のようになります。

mv is aliased to `mv -i'

与えられると、最後のものが優先されます。

上書きする前にプロンプト#

デフォルトでは、宛先ファイルが存在する場合は上書きされます。, To prompt for confirmation, use the -i option:

mv -i file1 /tmp
mv: overwrite '/tmp/file1'?

To overwrite the file type y or Y.,

強制的に上書き#

読み取り専用ファイルを上書きしようとすると、mvコマンドは、ファイルを上書きするかどうかを求めます。

mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)? 

プロンプトが表示されないようにするには、-fオプション:

mv -f file1 /tmp

このオプションは、複数の読み取り専用ファイルを上書きする必要がある場合に特に便利です。,

既存のファイルを上書きしないでください#

-nオプションはmv既存のファイルを上書きしないように指示します。

mv -f file1 /tmp

file1が存在する場合、上記のコマンドは何もしません。 それ以外の場合は、ファイルを/tmpディレクトリに移動します。,

ファイルのバックアップ#

宛先ファイルが存在する場合は、-bオプションを使用してバックアップを作成できます。

mv -b file1 /tmp

バックアップファイルの名前は、チルダ(~)を追加して元のファイルと同じになります。

lsコマンドを使用して、バックアップが作成されたことを確認します。

ls /tmp/file1*
/tmp/file1 /tmp/file1~

詳細出力#

役に立つ別のオプションは-v, このオプションを使用すると、コマンドは移動された各ファイルの名前を出力します。

mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'

結論#

mvコマンドは、ファイル

mvコマンドの詳細については、manページをチェックするか、ターミナルでman mvと入力してください。

コマンドラインに脅かされている新しいLinuxユーザーは、GUIファイルマネージャーを使用してファイルを移動できます。