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.jpg
、2.jpg
、2.png
を現在の作業ディレクトリにある別のディレクトリ Images
の中に移動させます。
また、正規表現を使ってディレクトリ内の複数のファイルを移動させることもできます。
mv *.jpg JPG-Images
これは、.jpg
で終わるすべてのファイルを JPG-Images
フォルダに移動します。
既存ファイルのバックアップを取る
既存のファイルのバックアップを取るには、-b
オプションを使用します。これは上書きされたファイルのバックアップを作成します。
mv -b abc.jpg 123.jpg
ls
出力:
123.jpg 123.jpg~
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn