Webデザイナーの為の「本当は怖くない」”黒い画面”入門シリーズ一覧

引数とオプションについて詳しく

今回は前回触りだけ説明した引数とオプションについてしっかり見ていきたいと思います。これが出来れば”黒い画面”用のフリーソフトを使う準備完了です。

引数はコマンドに渡す文字列です。コマンドの後にスペースを一個いれて文字を打ち込むんでした。

$ echo hello

実は引数は複数渡すことができます。スペースで区切って3つ引数を渡してみましょう

$ echo hello my friend
hello my friend

はたから見ると単語を4つ書いているだけに見えますが、実際はechoコマンドに3つの引数を渡しているだけだということが分かると思います。

引数をどう処理してくれるのかはコマンドによって違います。echoは引数をスペースでつなげて表示します。(そういう風にechoの作者が作っただけ)

オプションとは

lsは-aという引数を渡すとドットファイルも表示するんでした。lsはファイルやディレクトリのパスを渡すことでその一覧を見ることができます。

$ ls /bin

-aとパスの両方を渡すこともできます。

$ ls -a /bin

引数の中で特に-(ハイフン)から始まっているものをオプションといいます。引数やオプションにはこうあるべきというガイドラインはありますが、必ずそれに従わないといけないわけではありません。ガイドラインが出来る前の古いコマンドは従っていませんし、無視しているフリーダムなコマンドもあります。

オプションのガイドライン

-(ハイフン)のあとアルファベット一文字がオプションです。オプションは複数指定できます。

$ command -a -b -c foo

オプションに文字を渡すことが出来るものがあります。(ファイルを指定する-fオプションがあった場合)

$ command -f /tmp/foo

アルファベット一文字だと覚えにくいので、–(ハイフン二つ)から始まる同じ機能を持つオプションがある場合があります。ハイフン一つのものをショートネームオプション(short name option)、ハイフン二つのものをロングネームオプション(long name option)と呼びます。

$ command --name

ロングネームオプションに文字を渡すことが出来るものがあります。ロングネームオプションに文字を渡す場合=(イコール)を付けます。下記の2行は同じ動作をします。

$ command -f /tmp/foo
$ command --file=/tmp/foo

ショートネームオプションとロングネームオプションは混在させることができます。

$ command -a --file=/tmp/foo bar

-hもしくは–helpでそのコマンドの使い方が表示されます。Usageは利用法という意味です。

$ command --help
Usage: command [options] [arguments]
  -a    append mode
  -f    target file

-vもしくは–versionでそのコマンドのバージョン番号が表示されます。

$ command --version
command 1.2.3

lsやcd、echoなどは歴史の古いコマンドなのであまりこのガイドラインに従っていません。新しいコマンドを見つけた時はとりあえず-hか–helpで使い方を調べましょう。

マニュアルで使い方を知る

-hなどで表示されるヘルプは簡易的なものなので、もっと詳しく知りたい場合はmanコマンドを使いましょう。manはmanualの略でそのままの意味です。コマンド名を渡すと、そのコマンドのマニュアルが存在する場合はマニュアルを表示してくれます。

$ man ls

ターミナル — less — 80×24

英語ですね・・・。日本語のmanもありますが、ググった方が早いかもしれません。manualは矢印キーでスクロールし、qキーで終了できます。SYNOPSISは概要、DESCRIPTIONは説明です。

マニュアル読め

the-fucking-manual

コンピューターコミュニティには古くから自分で調べる努力をせず簡単に人に聞く人に対して、RTFM(READ THE F**ING MANUAL!) 「マニュアル読め××野郎!」という厳しい言葉があります。今風に言えば「ググレカス」ですね。

gugurekasu

次:Webデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.05

Webデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.04 への6件のコメント

  • http://www.milligramme.cc/weblog mg

    manをじっくり読みたい場合のおすすめな方法はありますでしょうか? man ls >> ls.txt とかだと太字や下線が変になるんですが…pdf継ぎはぎは面倒で

    • http://docs.komagata.org/ komagata

      普通にmanコマンドの結果をじっくり読んでしまっています。プリントアウトしてって意味ですか?

      • http://www.milligramme.cc/weblog mg

        ありがとうございます。なるほど、それが本来のスタイルというわけですね。どういう風に読んでいるのか疑問に思ったのです。

      • http://www.milligramme.cc/weblog mg

        ありがとうございます。なるほど、それが本来のスタイルというわけですね。どういう風に読んでいるのか疑問に思ったのです。

  • Pingback: Webデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.03 | FJORD, LLC(合同会社フィヨルド)()

  • Pingback: Terminalの基本(2) | okami6の日記()

新着記事