技術は記憶の彼方へと

覚えたつもりですぐに忘れるエンジニアの備忘録

ファイル・ディレクトリの移動と名前の変更

前回はファイルやディレクトリのコピーのやり方をサラッとまとめてみました。

cloudvelse.hatenablog.jp

今回はcpコマンドによく似たコマンドとして紹介されるファイル操作系コマンドの一つであるmvコマンドの話。

目次


ファイルの移動


ファイルを別のディレクトリに移動したい際には「mv」コマンドを用います。
基本的な構文は
$ mv ファイル 移動先ディレクトリ
となります。
移動先にファイルを指定した場合、ファイルからファイルへの移動...すなわち名称の変更(リネーム)となります。
ここで既に存在しているファイルを移動先にした場合には上書きになります。

複数ファイルの移動

複数のファイルを移動させることもできます。
$ mv ファイル1 ファイル2 ... 移動先ディレクトリ
これだけで一気に複数ファイルを移動することができます。

よく使うオプション


backup

$ mv -b ファイル 移動先
mvコマンドは何も指定しない場合上書きの処理を行ってしまいます。
これで困るのが重要なファイルを作成したり移動させようとしたときになります。
そこで、移動先に指定したファイル名と同名のファイル名が存在した際に、上書きをする前にバックアップファイルを作成してくれるのがこのオプションになります。
作成されたバックアップファイルは特に指定しない場合「ファイル名~」となりますがある程度編集可能で、わかりやすい例としてはバックアップを取った日付を付与する
$ mv -b --suffix=_$(date +%Y%m%d) ファイル名 移動先
とすることでしょうか。(例では「ファイル名_年月日」となる)

interactive

$ mv -i ファイル名 移動先
移動する際に上書きの可能性が出た際に確認を取るオプションになります。
確認を取ってくれる分誤って上書きしてしまう可能性が減る分安心できます。
(私は散々確認もせず上書きしてきたので...)

update

$ mv -u ファイル名 移動先
移動する際のタイムスタンプを確認し、移動元が移動先よりも新しい(最終更新時間が新しい)場合にのみ移動するオプションとなります。 ファイルが更新されているかどうかを確認してから移動を行うのでミスの防止に期待できます。

verbose

$ mv -v ファイル 移動先
移動した際の動きを明示化してくれるオプションとなります。
複数のファイルを移動した際の確認用などの用途で活用できる便利なオプションです。

最後に


今回はよく使うコマンドの一つmvコマンドを紹介しました。
私自身、移動もそうですがリネームの用途でよく使った記憶があります。
それなりの頻度で使うであろうこのコマンドは覚えておいて損はないはずです。