【初心者向け】コマンドのショートオプションとロングオプションの違いについて解説

技術

はじめに

こんにちは。ちゃばです。

今回はコマンドを入力するときのオプション、「ショートオプション」と「ロングオプション」について解説したいと思います。

ショートオプションとロングオプションについて

LinuxやMacのターミナルなどでコマンドを使うとき、「-a」や「–help」などといった表記を見たことがあるかもしれません。これらは「オプション(フラグ)」と呼ばれるもので、コマンドの動作を調整するための追加情報です。

このオプションには「ショートオプション」と「ロングオプション」が存在します。

それぞれのオプションについて解説をしてみたいと思います。

ショートオプションとは?

ショートオプションは、1文字で指定する省略形のオプションです。前にハイフン「-」を1つ付けて使います。例えば以下のようなものがあります。

ls -a
Bash

この場合の「-a」は、「隠しファイルを含め、すべてのファイルを表示する」を指示するショートオプションです。

ショートオプションの特徴としては

  • コマンドを速く打てる。
  • ショートオプションを組み合わせることができる。例えば、「-a」オプションと「-l」オプションを組み合わせて「ls -al」というオプション指定ができる。
  • オプションの意味が分かりにくい。(暗記することもしばしば。。。)

ロングオプションとは?

ロングオプションは、より説明的な名前を持つオプションです。前にハイフン「–」を2つ付けて使います。例えば:

ls --all
Bash

この「–all」は、「隠しファイルを含め、すべてのファイルを表示する」ことを意味するロングオプションです。

先ほどの「-a」のロングオプションバージョンですね。

ロングオプションの特徴としては、

  • オプション名が読みやすく、意味が直感的に理解できる
  • オプション名が長くなるのでタイピングはやや面倒

上記が挙げられます。

この規則性を覚えておくとコマンドのオプションが覚えやすくなる

自分はショートオプションは「-」が1つ。ロングオプションは「-」が2つつくという規則性を最近まで知りませんでした。だから、ロングオプションを指定したかったのに「-」を1つしかつけなかったりして、「あれ?」ってなったり。。。

これに気づいたときは「なるほど!」と嬉しかったです。

ショートオプションは「-」が1つ。ロングオプションは「-」が2つということを覚えておくと新しいコマンドでオプションを使うときなどに悩むことがなくて便利だと思います。

こうゆうのは知っているか知っていないかの差ですが、知っていると安心感が出ますね。

ただし例外もあることを覚えておくと良い

ただし、この規則性に沿わないコマンドオプションも存在します。

例えばfindコマンドです。

findコマンドには「-name」オプションというのがあるのですが、このオプションのように「-」が1つでもロングオプションのような英単語のオプションになっているものもあります。

こういったコマンドもあるので知っておくと良いと思います。調べる限りでは古くからあるLinuxコマンドには例外パターンのオプションが存在し、時代が新しくなるにつれてこのような規則性でオプション作られるように整備されていったような印象を受けます。

参考

・ChatGPT(2025/04/29生成)

おわりに

ショートオプションとロングオプションについての理解は進みましたでしょうか?どちらが優れているというものではなく、場面によって使い分けることが大切だなと思います。

規則性だけでも知っておくと便利だと思います。

初心者のうちはロングオプションで意味を理解しながら慣れていき、慣れてきたらショートオプションをつかっていくというやり方もおすすめかなと思います。

タイトルとURLをコピーしました