tarのオプションの順番の話
tarコマンドのオプションについて、面白い挙動をすることが分かったのでメモしておく。
-(ハイフン)の有無で大違い
これはとおる。
が、下のコマンドを実行すると失敗して、jというファイルが生成されてしまう。
オプションに順番なんてあるのか...?
と思って調べてみたら、どうやらtarコマンドに限ってはあるらしい。
tarコマンドでオプションの並びが違うことで影響はありますか? - ZDNet Japan
-(ハイフン)をつけた場合に限って、fオプションのすぐ後ろにファイルを指定しないといけないようだ。
つまり、 $tar -cfj hoge.tar.gz hoge は
「 hoge ファイルを hoge.tar.gz にアーカイブして圧縮」じゃなくて「 hoge.tar.gz と hoge を j にアーカイブ」するコマンドと誤認されてしまうというわけだ。
これはオプションに-(ハイフン)をつけた場合のみの挙動らしいので、普段-(ハイフン)なしでtarコマンドを使用している僕は気づかなかったよ...