目次:
mv
コマンドの使用方法- 複数のファイルとディレクトリの移動
mv
コマンドオプション- 上書きする前に確認する
- 強制上書き
- 既存のファイルを上書きしないでください
- ファイルのバックアップ
- 詳細な出力
- 結論
ファイルとディレクトリの移動は、Linuxシステムで頻繁に実行する必要がある最も基本的なタスクの1つです。
このチュートリアルでは、
mv
コマンドを使用してファイルとディレクトリを移動する方法を説明します。
mv
コマンドの使用方法
mv
コマンド(moveの略)は、ある場所から別の場所にファイルとディレクトリの名前を変更して移動するために使用されます。
mv
コマンドの構文は次のとおりです。
mv SOURCE DESTINATION
SOURCE
は1つ以上のファイルまたはディレクトリにすることができ、
DESTINATION
は単一のファイルまたはディレクトリにすることができます。
- 複数のファイルまたはディレクトリが
SOURCE
として指定されている場合、DESTINATION
はディレクトリでなければなりません。 この場合、SOURCE
ファイルはターゲットディレクトリに移動されます。単一のファイルをSOURCE
として指定し、DESTINATION
ターゲットが既存のディレクトリである場合、ファイルは指定されたディレクトリに移動されます。単一のファイルをSOURCE
として指定した場合、およびDESTINATION
ターゲットとしての単一のファイルは、ファイルの名前を変更しています。SOURCEがディレクトリであり、DESTINATION
が存在しない場合、SOURCE
はDESTINATION
に名前が変更されます。 それ以外の場合、DESTINATION
が存在する場合は、DESTINATION
ディレクトリ内に移動します。
ファイルまたはディレクトリを移動するには、
SOURCE
と
DESTINATION
両方に対する書き込み権限が必要です。 それ以外の場合、許可拒否エラーが表示されます。
たとえば、ファイル
file1
を現在の作業ディレクトリから
/tmp
ディレクトリに移動するには、次を実行します。
mv file1 /tmp
ファイルの名前を変更するには、宛先ファイル名を指定する必要があります。
mv file1 file2
ディレクトリを移動するための構文は、ファイルを移動する場合と同じです。 次の例では、
dir2
ディレクトリーが存在する場合、コマンドは
dir1
を
dir2
内に移動します。
dir2
が存在しない場合、
dir1
は
dir2
に名前が変更されます。
複数のファイルとディレクトリの移動
複数のファイルとディレクトリを移動するには、移動するファイルをソースとして指定します。 たとえば、ファイル
file1
および
file2
を
dir1
ディレクトリに移動するには、次のように入力します。
mv file1 file2 dir1
mv
コマンドを使用すると、パターンマッチングを使用することもできます。 たとえば、すべての
pdf
ファイルを現在のディレクトリから
~/Documents
ディレクトリに移動するには、次を使用します。
mv
コマンドオプション
mv
コマンドは、デフォルトのコマンド動作に影響するいくつかのオプションを受け入れます。
一部のLinuxディストリビューションでは、
mv
はオプションのカスタムセットを備えた
mv
コマンドのエイリアスです。 たとえば、CentOSでは、
mv
は
mv -i
エイリアスです。
type
コマンドを使用して、
mv
がエイリアスであるかどうかを確認できます。
type mv
mv
がエイリアスの場合、出力は次のようになります。
mv is aliased to `mv -i'
矛盾するオプションが指定された場合、最後のオプションが優先されます。
上書きする前に確認する
デフォルトでは、宛先ファイルが存在する場合、上書きされます。 確認を求めるには、
-i
オプションを使用します。
mv -i file1 /tmp
mv: overwrite '/tmp/file1'?
ファイルを上書きするには、
y
または
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*
詳細な出力
便利な別のオプションは
-v
です。 このオプションを使用すると、コマンドは移動された各ファイルの名前を出力します。
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'
結論
mv
コマンドは、ファイルとディレクトリの移動と名前変更に使用されます。
mv
コマンドの詳細については、マニュアルページを確認するか、端末で
man mv
してください。
コマンドラインに怖がっている新しいLinuxユーザーは、GUIファイルマネージャーを使用してファイルを移動できます。
mvターミナル