コマンドラインインターフェースの種類
コマンドラインインターフェースは、主にPOSIX
とGNU
の仕様に従って設計されています。
この記事はかなりの部分を以下の参考ページの記述を引用しています。詳しくご覧になりたい方はぜひ、直接参考サイトを御覧ください。
参考: Linux Command Optionの慣習(一般的なOption一覧)
POSIX (ポジックス)
POSIX 【 Portable Operating System Interface 】
POSIXとは、主にUNIX系OSに共通する機能などについて、プログラムからの呼び出し方法などの標準を定めた規格。
カーネルの機能を呼び出すシステムコールをC言語から利用するためのAPI仕様や標準ライブラリ関数などを定めており、POSIX仕様のみを用いて開発されたプログラムはPOSIX準拠のOSならばどれでも同じように動作させることができる。
API以外にも、シェルのコマンド体系や、プロセスやスレッドの仕様、ファイルやディレクトリの構成、パスワードファイルなどのシステムデータベースの形式、アーカイブファイルの形式などについても標準を定めている。
参考: POSIX(Portable Operating System Interface)とは - IT用語辞典 e-Words
POSIXのオプション規格
- オプションは”-“で始め、オプション文字列は英数字1文字
- 複数のオプションを使用する場合、”-“を省略して繋げられる (例:”-a -b -c”を”-abc”と表記可)
- オプションとオプション引数の間は、空白を入れる事
- オプションは、コマンドライン引数の前に存在する事
- オプションは、コマンドライン実行時に省略できる事
GNU (グヌー)
**GNU 【 GNU is Not Unix 】 **
GNUとは、フリーソフトウェア(特に、オープンソースソフトウェア)のみでUNIX風のOSと関連するソフトウェア群を開発・公開するプロジェクト。リチャード・ストールマン(Richard M. Stallman)氏が創始し、同氏が代表を務めるフリーソフトウェア財団(FSF:Free Software Foundation)が推進している。
GNUの一環として提供されるソフトウェアの名称には、その一部に「GNU」が含まれたり(GNU Emacsなど)、あるいは先頭が「g」から始まる(gcc、glibcなど)ことが多い。
GNUのオプション規格
POSIXの規格に従うことを推奨していることに加えて、以下の仕様を加えている。
- “–“およびオプションのロング名のサポート(例:”-v”に対応する”–version”)
- オプションとオプション引数が連結した形式のサポート(例:–test=path)
- “–version”(バージョン表示)および”–help”(ヘルプもしくはUsageの表示)を最低限サポートする事
一般的なオプションの一覧
Short Option | Long Option | 機能(オプションを実装しているCommand) |
---|---|---|
a | all | 全ファイルや全ユーザなどを対象にした処理(du、nm、uname) |
b | bytes、blocks | バイトやブロックのサイズを設定(du、df) |
c | cmd | サブプロセスに渡すCommandおよびOptionを設定(bash、python) |
d | debug | debugメッセージを出力(多くのCommand) |
e | exclude | 除外対象(例:ファイル)を設定(rync) |
f | file | 使用するfileを設定(awk、make、sed、tar) |
g | group | グループを設定(install) |
h | help | Commandを使用する上でのhelpを表示(多くのCommand) |
i | inodes | ブロック使用量の代わりに iノード情報を表示(ls、df) inodes以外に、interactiveも存在(rm、mv) |
j | jobs | ジョブの数を設定(make) |
k | keep | ファイル・メッセージ・リソースなどの削除を抑制(passwd、bzip) |
l | list | ファイル・ディレクトリなどのリストを表示(unzip、ls) |
m | mode | 権限の設定(install、mkdir) |
n | number | 番号(例:行番号)を表示(head、tail、grep) |
o | output | 出力ファイル名や出力ファイルパスの設定(多くのCommand) |
p | 多種多様 | 参考文献を参照 |
q | quiet | メッセージの出力を抑制(多くのCommand) |
r | recursive | 再帰的に処理を実行(grep、chgrp、choen、cp、ls、diff、rm) |
s | silent | メッセージの出力を抑制(多くのCommand) |
t | 多種多様 | 参考文献を参照 |
u | update | アップデートを実行(apt、yum、cp、mv、tar) |
v | version | プログラムのVersion情報を表示(多くのCommand) |
w | width | 幅の設定(ls、ptx) |
x | extract | アーカイブなどから抽出するファイル一覧を表示(tar、zip) |
y | yes | ユーザ確認する処理において、全確認項目に対してユーザがyesと回答したとみなす(apt、yum) |
z | zip(compress) | 圧縮を有効化(tar) |