自分にとっては「ファイルを別のディレクトリに移動するコマンド」という風にしか思っていなかったこのコマンド。
mv オプション ファイル名(複数指定可) ディレクトリ名
このコマンドで「指定したディレクトリに指定したファイルを移動する」という処理を行いますよね。
通常mvコマンドといえばこっちがまず思い浮かぶと思います。
けど、以下のような使い方もあるんですよね。
mv オプション ファイル名1 ファイル名2
このコマンドでは「ファイル名1をファイル名2に名前を変更する」という処理を行います。
ではなぜ同じmvコマンドなのに2つ目のオペランド(でいいのでしょうか)をファイル名にすると名前の変更になるのか。
mvの処理というのは、1番目の処理でいうと「指定したファイルを指定したディレクトリにコピーして、そのあとにコピー元のファイルを削除する」というプロセスで処理が行われます。
この「コピー」と「コピー元のファイルを削除」というプロセスをおさえれば2番目の処理もわかると思います。
2番目の処理では「ファイル名1のファイルをファイル名2にコピーして、コピー元であるファイルを削除する」といった感じです。
今まで、ずっと名前変更のほうのコマンドはつかったことがなかったので、これから結構
頻繁に使うようになるかもしれないですね。