mv は1TBのファイルも一瞬で動かせる

本は棚から動かさない。書き換えるのは目録カード1枚だけ
本は棚から動かさない。書き換えるのは目録カード1枚だけ

mv でファイルを移動すると、一瞬で完了しますよね。でも考えてみてください。もしファイルが1TBあったら? 実は、同じファイルシステム(パーティション)の中の移動なら、1TBでも一瞬です。 なぜなら mv は、ファイルの中身を実際にコピーしているわけではないから。やっていることは「ファイルの住所(パス)を書き換える」だけ。本の中身を丸ごと別の棚に運ぶのではなく、図書館の目録カードを書き換えるようなものです。

ただし条件があります。別のファイルシステムへの移動は話が違う。別のディスクや別のパーティションへ動かすときは、中身を丸ごとコピーしてから元を削除する動作になるので、ファイルサイズに比例して時間がかかります。 同じ mv コマンドなのに、移動先によって内部の動作がまったく違う。こういう裏側の仕組みを知ると、ターミナルがもっと面白くなります。

コマンドの表面だけでなく「なぜ速いのか」を考える。それがエンジニア的な視点です。