Help us understand the problem. What is going on with this article?

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)

keitean
初心者です。毎日勉強!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした