mv コマンドを使って Linux でファイルやディレクトリを移動する方法

Suraj Joshi 2021年7月18日
mv コマンドを使って Linux でファイルやディレクトリを移動する方法

Linux ターミナルを介して、様々な引数を指定して mv コマンドを使ってファイルやディレクトリを移動することができます。

mv コマンドを使ってファイルやディレクトリを移動する

コマンド mv(move) は、ファイルやディレクトリをある場所から別の場所に移動させることができます。また、ファイルやディレクトリの名前を変更するためにも使用することができます。

mv コマンドの構文:

mv [OPTIONS] source destination

コマンドの構文: 上記コマンドの source は 1つまたは複数のファイルやディレクトリを指定でき、destination は常に単一のファイルやディレクトリです。

ソースとして複数のファイルやディレクトリを指定した場合、出力先は常にディレクトリになります。この場合、ソースファイルとディレクトリはすべて移動先のディレクトリに移動されます。単一のファイルをソースとして、ディレクトリをターゲットとして使用している場合、ファイルはターゲットディレクトリに移動されます。

ファイルやディレクトリを移動する際に注意すべき点は、移動元と移動先の両方に書き込み権限がないと、パーミッション拒否エラーが発生するということです。

コマンドを使ってファイルをディレクトリに移動する

ディレクトリ内のファイルを移動させるには、以下のコマンドを使用します。

mv <filename> <path_of _destination_directory>

例:mv コマンドを使ってディレクトリ内のファイルを移動する

mv ILLUMEE.svg SVG

現在の作業ディレクトリにあるファイル ILLUMEE.svg を現在の作業ディレクトリにあるフォルダ SVG に移動します。

移動先のディレクトリが存在しない場合は、元のファイルの名前を移動先のファイルに変更します。

現在の作業ディレクトリに SVG が存在しない場合、ファイル ILLUMEE.svg の名前は SVG に変更されます。

宛先のパスがファイル名でもある場合、元のファイル名は宛先のファイル名と一緒にリネームされます。

mv ILLUMEE.svg 1.svg

これにより、ファイル ILLUMEE.svg の名前が 1.svg に変更されます。

場合によっては、コピー先のファイルが既に存在していることがあり、mv コマンドを使用すると上書きされます。上書き前に確認を求めるために、mv コマンドで -i オプションを使用します。

mv -i ILLUMEE.svg 1.svg

ファイル名 1.svg が既に存在する場合、上書きする前にターミナルから確認のプロンプトが表示されます。

mv -i ILLUMEE.svg 1.svg

出力:

mv: overwrite '1.svg'? n

上書きを防ぐには、N を押してから Enter キーを押すか、Y を押してから Enter キーを押す。

また、mv コマンドで -n オプションを使って上書きを防ぐこともできます。

mv -n ILLUMEE.svg 1.svg

これは 1.svg が既に存在する場合に上書きを防ぐことができます。

mv コマンドを使って別のディレクトリの中にディレクトリを移動する

ディレクトリを別のディレクトリに移動するには、以下のコマンドを使用します。

mv <path_of_source_directory> <path_of _destination_directory>

例:mv コマンドを使用して別のディレクトリ内にディレクトリを移動する

mv Python_Scripts Python_Scripts_New

現在の作業ディレクトリにある Python_Scripts ディレクトリを、現在の作業ディレクトリにある別のディレクトリ Python_Scripts_New の中に移動します。

移動先のディレクトリが存在しない場合、移動元のディレクトリは移動先のディレクトリにリネームされます。

コマンド mv を使って複数のファイルを別のディレクトリに移動する

複数のファイルを別のディレクトリ内に移動させるには、すべてのソースファイルの後に移動先ディレクトリのパスを指定します。

mv <source_filepath_1> <source_filepath_2> <source_filepath_3> 
     <path_of_destination_directory>

例:mv コマンドを使用して別のディレクトリ内に複数のファイルを移動する

mv 1.jpg 2.jpg 2.png Images

現在の作業ディレクトリにあるファイル 1.jpg2.jpg2.png を現在の作業ディレクトリにある別のディレクトリ Images の中に移動させます。

また、正規表現を使ってディレクトリ内の複数のファイルを移動させることもできます。

mv *.jpg JPG-Images

これは、.jpg で終わるすべてのファイルを JPG-Images フォルダに移動します。

既存ファイルのバックアップを取る

既存のファイルのバックアップを取るには、-b オプションを使用します。これは上書きされたファイルのバックアップを作成します。

mv -b abc.jpg 123.jpg
ls

出力:

123.jpg 123.jpg~
著者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

関連記事 - Linux Files and Directories