search
LoginSignup
6
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Linux POSIX オプション、GNU オプションとは

コマンドラインインターフェースの種類

コマンドラインインターフェースは、主にPOSIXGNUの仕様に従って設計されています。

この記事はかなりの部分を以下の参考ページの記述を引用しています。詳しくご覧になりたい方はぜひ、直接参考サイトを御覧ください。

参考: 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とは - IT用語辞典 e-Words

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)

参考

Linux Command Optionの慣習(一般的なOption一覧)

Command-Line Options

Option Table (GNU Coding Standards)

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
What you can do with signing up
6
Help us understand the problem. What are the problem?