最近、ようやくtar
コマンドのオプションを調べずに使えるようになってきた。その際、覚えられなかった理由が浮かび、何か役立つかもしれないと思ったので、まとめ、書き留めて置く。
覚えにくかったと思われる理由
オプションが必須
目的に従い、「作成(c)」「取り出し(x)」「表示(t)」等とそれぞれ個別で覚える必要がある。つまり、覚えることが多い。
オプションの意味がわからずに使うことが多い
tar
のコマンドの使い方が紹介されているサイトに記載してあるサンプルはどういうわけか、オプションの「-」を省略しているものが多く、結果的にオプションの意味を理解せずに使うことになりやすい。
例えば、tarファイルを作成する場合
tar -czf {作成ファイル名} {対象ファイルリスト}
これをみて、オプションの-f
で{作成ファイル名}
を指定していて、オプション-c, -z
が操作を示しているとまず読み取れない。
実際、以下の方が頭に入りやすいのではと思う。
tar -c -z -f {作成ファイル名} {対象ファイルリスト}
または
tar -f {作成ファイル名} -cz {対象ファイルリスト}
ロングオプションだとよりわかりやすい
tar --create --gzip --file {作成ファイル名} {対象パスのリスト}
他よく使うオプションも比較
# 取り出し
tar -xf {対象ファイルパス}
tar -x -f {対象ファイルパス}
tar --extarct --file {対象ファイルパス}
# リスト表示
tar -tvf {対象ファイルパス}
tar -tv -f {対象ファイルパス}
tar --list --verbose --file {対象ファイルパス}
補足
- tarのマニュアルに以下のような記載があることから、ロングオプションでは動かない場合があるかもしれません
There are alternative long options for many of the short options that are deliberately not documented.
短いオプションの殆どは、意図的に文書化されていない代替の長いオプションがあります
- ロングオプションの参考
【 tar 】コマンド――アーカイブファイルを作成する/展開する
ファイル指定方法がオプションと他コマンドと毛色が異なっている
例えば、mv,cp,mkdir
コマンドは下記のように引数で指定
mv {変更対象パス} {変更後パス}
cp {コピー元パス} {出力先パス}
mkdir {作成ディレクトリ名}
これに対し、tar
コマンドはオプション-f
で指定
# tarファイル作成
tar -f {作成ファイル名} -cz {対象パスリスト}
# tarファイルの解凍
tar -f {対象ファイル} -xz
どうやって覚えたか
下記順序で覚えた。
- オプションの
-f
は基本的にどの操作でも必須なことを覚える - オプションの
-f
の意味と使い方を覚える - マニュアルから、他オプションの意味を覚える