21
19

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 3 years have passed since last update.

UNIX コマンドのオプションの意味を一瞬で調べる方法 (explainshell.com の紹介)

Last updated at Posted at 2022-02-24

はじめに

UNIX コマンドのオプション (特にショートオプション) の意味がわからず、調べたい場合はよくあると思います。例えば

  • macOS で Homebrew をインストールする際の curl コマンドのオプション -fsSL ってなんだろう?
    • ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  • tar コマンドで圧縮したり解凍したりする場合に使うオプションの -zcvf, -zxvf の意味はなんだろう?
  • find コマンドで -exec オプションを使う場合、例えば find . -type f -exec echo {} +{} とか + ってなんだろう?

という場合です。

このとき、通常は man コマンドや各コマンドの --help オプションを使うと思います。しかし、辞書を引くようにオプションをひとつひとつ調べるのは手間がかかります。今回はその手間を解消してくれる explainshell.com という Web サービスを紹介します 🙌

explainshell.com

explainshell.com はコマンドを入力すると、関連する man ページの情報をもとにそのコマンドをパースして説明を表示してくれる Web サービスです。

macOS で Homebrew をインストールする際の curl コマンドのオプション -fsSL ってなんだろう?

curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install を入力すると以下のように表示されます。

explainshell.com - curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install

man ページの説明を視覚的にわかりやすく表示してくれます。-s は --silent-S--show-error の略なんですね。

tar コマンドで圧縮したり解凍したりする場合に使うオプションの -zcvf, -zxvf の意味はなんだろう?

2 種類の tar コマンドの例は以下です。

explainshell.com - tar -zcvf sample.tar.gz ./sample

explainshell.com - tar -zxvf sample.tar.gz

-c--create-x--extract の略なんですね。

find コマンドで -exec オプションを使う場合、例えば find . -type f -exec echo {} +{} とか + ってなんだろう?

explainshell.com - find . -type f -exec echo {} +

オプションのみならず、-exec command {} + の意味もすぐに分かりますね。

他にも :(){ :|:& };: など一見するとわけがわからないコマンドもパースして説明してくれます。

explainshell.com - :(){ :|:& };:

注意点

このサービスは Ubuntu Manpage の情報を元にしてます1。そのため、この Ubuntu Manpage に記載されていない情報は取得できません。具体的には以下の点に注意です。おとなしく man コマンドを使用しましょう。

ディストリビューションでの差異

ディストリビューションの異なる Ubuntu と macOS ではコマンドで使用できるオプションが異なる場合があります。例えば macOS で date コマンドを使用する場合に -v オプション2 が使えますが、explainshell.com では説明が表示されません。

$ sw_vers
ProductName:	macOS
ProductVersion:	12.0.1
BuildVersion:	21A559

$ date -v-1d
2022年 2月19日 土曜日 21時04分23秒 JST

explainshell.com - date -v-1d

新しいコマンド

git restore は 2019/08/16 にリリースされた Git バージョンで登場したコマンドです。このように新しいコマンドは Ubuntu Manpage に記載されておらず、explainshell.com では説明が表示されません。

explainshell.com - git restore -p -s 42b9adba app/models/user.rb

まとめ

explainshell.com を利用すると、コマンドをパースしてわかりやすい UI で説明してくれます。オプションを多用したコマンドでひとつひとつのオプションの意味や詳細を調べる際に非常に重宝します。man コマンドと併用して、ぜひ使ってみてください。

関連

  1. コマンドの説明を表示するページの下部に Ubuntu Manpage へのリンクが記載されている。

  2. 参考: Macのdateコマンドで時間調整するやり方 - Qiita

21
19
0

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
21
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?