mv -tオプションの使い方|移動先ディレクトリを先に指定する便利な方法
生徒
「mvコマンドで複数のファイルを移動するとき、順番を間違えて困ったことがあります…」
先生
「それなら-tオプションを使うといいよ。移動先のディレクトリを最初に指定できるから、順番ミスの心配がなくなるんだ。」
生徒
「なるほど!順番が変わるだけでそんなに便利になるんですね。詳しく教えてください!」
先生
「それじゃあ、mv -tオプションの使い方を基礎から解説していこう!」
1. mvコマンドとは?
Linuxのmvコマンドは、ファイルやディレクトリを移動したり名前を変更したりするための基本的なコマンドです。たとえば「file.txtをbackupフォルダに移動したい」「test.txtをold.txtに名前変更したい」といった時に使います。
通常は、mv ファイル名 移動先ディレクトリという順番で入力します。
mv file.txt backup/
この形式でも問題ありませんが、複数のファイルをまとめて移動したいときは、-tオプションが非常に便利です。
2. -tオプションとは?
-tオプションは、mvコマンドにおいて移動先ディレクトリを先に指定するためのオプションです。--target-directoryの短縮形です。
通常のmvでは移動先が最後になりますが、-tを使えば先に移動先を指定してから、移動したいファイルを複数列挙できます。
3. mv -tの基本的な使い方
以下は、mv -tを使って複数のファイルを「backup」ディレクトリに移動する例です。
mv -t backup report1.txt report2.txt report3.txt
このようにすると、3つのファイルがすべてbackupディレクトリに移動されます。移動先が最初に書かれているので、読みやすく分かりやすい構文になります。
4. -tのメリット|コマンドの可読性が上がる
-tオプションを使うと、どこに移動するかが先に書かれているため、パッと見て目的が分かりやすくなるという利点があります。特にスクリプトや自動処理で使うときに、エラーを防ぎやすくなるのです。
通常の書き方だと、ファイル名が先にずらっと並ぶので、最後に目的地がくることで読み間違いが起こりやすくなります。
5. -tを使ったディレクトリの移動も可能
-tオプションは、ファイルだけでなくディレクトリの移動にも使えます。
mv -t archive photos documents videos
このようにすれば、3つのディレクトリがすべてarchiveの中に移動されます。構文がすっきりしているので、大量の対象を扱うときも安心です。
6. -tと他のオプションを組み合わせて使う
-tオプションは、他のオプションと組み合わせて使うことができます。よく使うのは以下のようなものです:
-v:移動したファイル名を表示-i:上書きする前に確認-n:上書きしない
たとえば、以下のようにすれば、移動先を先に指定しつつ、処理内容も確認できます。
mv -iv -t backup report1.txt report2.txt
mv: overwrite 'backup/report1.txt'? y
'report1.txt' -> 'backup/report1.txt'
'report2.txt' -> 'backup/report2.txt'
7. -tオプションを使う上での注意点
-tオプションを使うときは、最初に指定したものが「移動先」として認識されます。つまり、誤って「移動元」と「移動先」を入れ替えて書いてしまうと、エラーになったり、思ったように動作しなかったりします。
また、-tを使う場合は、対象が2つ以上あるときに特に便利です。1つだけ移動したい場合には、通常の書き方でもあまり違いはありません。
8. スクリプト処理や自動化との相性も抜群
mv -tオプションは、シェルスクリプトやcronなどの自動化処理にも向いています。移動先を最初に記述できるため、スクリプト内でも可読性が高く、メンテナンス性や再利用性がアップします。
mv -v -t /var/log/backup $(ls *.log)
このように、ログファイルを一括で移動したり、日付ごとにまとめたりする処理にも応用できます。