4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

tarコマンドが覚えにくい理由の考察

Posted at

 最近、ようやく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.
短いオプションの殆どは、意図的に文書化されていない代替の長いオプションがあります

ファイル指定方法がオプションと他コマンドと毛色が異なっている

例えば、mv,cp,mkdirコマンドは下記のように引数で指定

mv {変更対象パス} {変更後パス}
cp {コピー元パス} {出力先パス}
mkdir {作成ディレクトリ名}

これに対し、tarコマンドはオプション-fで指定

# tarファイル作成
tar -f {作成ファイル名} -cz {対象パスリスト}
# tarファイルの解凍
tar -f {対象ファイル} -xz

どうやって覚えたか

下記順序で覚えた。

  1. オプションの-fは基本的にどの操作でも必須なことを覚える
  2. オプションの-fの意味と使い方を覚える
  3. マニュアルから、他オプションの意味を覚える
4
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?