mvは、Linuxで知っておくべきコマンドの1つです。 mvはmoveの略で、基本的にファイルまたはディレクトリをある場所から別の場所に移動するために使用されます。
構文はLinuxのcpコマンドに似ていますが、これら2つのコマンドには基本的な違いが1つあります。
cpコマンドは、コピーと貼り付けの操作と考えることができます。一方、mvコマンドは、カットアンドペースト操作と同等と見なすことができます。
つまり、ファイルまたはディレクトリでmvコマンドを使用すると、ファイルまたはディレクトリが新しい場所に移動され、ソースファイル/ディレクトリは存在しなくなります。それがカットペースト操作ですね。
cpコマンド=コピーアンドペースト
mvコマンド=カットアンドペースト
mvコマンドは、ファイルの名前変更にも使用できます。 mvコマンドの使用は非常に簡単で、いくつかのオプションを学ぶと、さらに良くなります。
mvコマンドの7つの実用的な例
mvコマンドの便利な例をいくつか見てみましょう。
1。ファイルを別のディレクトリに移動する方法
最初の最も簡単な例は、ファイルを移動することです。これを行うには、ソースファイルと宛先ディレクトリまたはファイルを指定するだけです。
mv source_file target_directory
このコマンドは、source_fileを移動し、target_directoryに配置します。
2。複数のファイルを移動する方法
複数のファイルを一度に移動する場合は、すべてのファイルをmoveコマンドに入力し、その後に移動先ディレクトリを指定します。
mv file1.txt file.2.txt file3.txt target_directory
globを使用して、パターンに一致する複数のファイルを移動することもできます。
たとえば、上記の例では、すべてのファイルを個別に提供する代わりに、拡張子が.txtのすべてのファイルと一致するglobを使用して、それらをターゲットディレクトリに移動することもできます。
mv *.txt target_directory
3。ファイルの名前を変更する方法
mvコマンドの重要な使用法の1つは、ファイルの名前変更です。 mvコマンドを使用して宛先にファイル名を指定すると、ソースファイルの名前がtarget_fileに変更されます。
mv source_file target_directory/target_file
上記の例では、target_filleがtarget_directoryに存在しない場合、target_fileが作成されます。
ただし、target_fileがすでに存在する場合は、確認せずに上書きします。つまり、既存のターゲットファイルの内容がソースファイルの内容に合わせて変更されます。
このチュートリアルの後半で、mvコマンドを使用してファイルの上書きを処理する方法を説明します。
ターゲットディレクトリを提供する義務はありません。ターゲットディレクトリを指定しない場合、ファイルの名前が変更され、同じディレクトリに保持されます。
覚えておいてください :デフォルトでは、ターゲットファイルがすでに存在する場合、mvコマンドは上書きします。この動作は、後で説明する-nまたは-iオプションで変更できます。
4。 Linuxでmvコマンドを使用してディレクトリを移動する方法
mvコマンドを使用してディレクトリを移動することもできます。コマンドは、ファイルの移動で見たものと同じです。
mv source_directory target_directory
上記の例では、target_directoryが存在する場合、source_directory全体がtarget_directory内に移動されます。これは、source_directoryがtarget_directoryのサブディレクトリになることを意味します。
5。ディレクトリの名前を変更する方法
ディレクトリの名前を変更することは、ディレクトリを移動することと同じです。唯一の違いは、ターゲットディレクトリがまだ存在していてはならないことです。そうしないと、前のディレクトリで見たように、ディレクトリ全体がその中に移動します。
mv source_directory path_to_non_existing_directory
6。移動中にファイルを上書きする方法
ファイルを移動していて、同じ名前のファイルがすでに存在する場合、既存のファイルの内容はすぐに上書きされます。
これは、すべての状況で理想的とは限りません。上書きシナリオに対処するためのいくつかのオプションがあります。
既存のファイルの上書きを防ぐために、-nオプションを使用できます。このように、mvは既存のファイルを上書きしません。
mv -n source_file target_directory
ただし、一部のファイルを上書きしたい場合があります。インタラクティブオプション-iを使用すると、既存のファイルを上書きするかどうかを尋ねられます。
mv -i source_file target_directory
mv: overwrite 'target_directory/source_file'?
既存のファイルを上書きする場合はyを、上書きしない場合はnを入力できます。
自動バックアップを作成するためのオプションもあります。 mvコマンドで-bオプションを使用すると、既存のファイルが上書きされますが、その前に、上書きされたファイルのバックアップが作成されます。
mv -b file.txt target_dir/file.txt
ls target_dir
file.txt file.txt~
デフォルトでは、ファイルのバックアップは〜で終わります。 -Sオプションを使用し、サフィックスを指定することで変更できます:
mv -S .back -b file.txt target_dir/file.txt
ls target_dir
file.txt file.txt.back
更新オプション-uを使用することもできます 上書きを扱うとき。 -uオプションを使用すると、ソースファイルが既存のファイルよりも新しい場合、またはターゲットディレクトリに存在しない場合にのみ、ソースファイルが新しい場所に移動されます。
要約すると:
- -i:上書きする前に確認してください
- -n:上書きなし
- -b:バックアップによる上書き
- -u:ターゲットファイルが古いか存在しない場合は上書きします
7。ファイルを強制的に移動する方法
ターゲットファイルが書き込み保護されている場合は、ターゲットファイルを上書きする前に確認を求められます。
mv file1.txt target
mv: replace 'target/file1.txt', overriding mode 0444 (r--r--r--)? y
このプロンプトを回避してファイルをすぐに上書きするには、forceオプション-fを使用できます。
mv -f file1.txt target
書き込み保護とは何かわからない場合は、Linuxでのファイルのアクセス許可についてお読みください。
mvコマンドについては、そのマニュアルページを参照してさらに学ぶことができます。ただし、ここで示したこれらのmvコマンドの例のみを使用する可能性が高くなります。参考までに、renameコマンドを使用して、一度に複数のファイルの名前を変更することもできます。
この記事が気に入っていただければ幸いです。ご質問やご提案がございましたら、下のコメント欄でお気軽にお問い合わせください。