答え1
~からあなたが引用した部分の一つ:
関連オプションをサポートするシステムにのみ存在するオプションのユーティリティです。パスワードこのIEEE Std 1003.1-2001ボリュームのオプションに関する情報
必須ユーティリティは、オプションとして表示されないユーティリティです。
例えばbasename
オプションという説明がないので必須です。alias
次のようにコメントしました。戻るしたがって、実装が「ユーザー移植性ユーティリティ」オプションを含むと主張する場合にのみ必須です。command
必須ですが、実装が「ユーザー移植性ユーティリティ」オプションを含むと主張しない限り、-v
オプションは必須ではありません。-V
答え2
これは、常にシステムがどれだけ「規制に準拠する」かによって異なりますが、POSIXユーティリティ、以下のリストを確認できます。 「DEVELOPMENT」と表示されている場合は、オプションと見なされます。
「強制」ユーティリティ:
alias - define or display aliases
ar - create and maintain library archives
asa - interpret carriage-control characters
at - execute commands at a later time
awk - pattern scanning and processing language
basename - return non-directory portion of a pathname
batch - schedule commands to be executed in a batch queue
bc - arbitrary-precision arithmetic language
bg - run jobs in the background
c99 - compile standard C programs
cal - print a calendar
cat - concatenate and print files
cd - change the working directory
chgrp - change the file group ownership
chmod - change the file modes
chown - change the file ownership
cksum - write file checksums and sizes
cmp - compare two files
comm - select or reject lines common to two files
command - execute a simple command
compress - compress data
cp - copy files
crontab - schedule periodic background work
csplit - split files based on context
cut - cut out selected fields of each line of a file
date - write the date and time
dd - convert and copy a file
df - report free disk space
diff - compare two files
dirname - return the directory portion of a pathname
du - estimate file space usage
echo - write arguments to standard output
ed - edit text
env - set the environment for command invocation
ex - text editor
expand - convert tabs to spaces
expr - evaluate arguments as an expression
false - return false value
fc - process the command history list
fg - run jobs in the foreground
file - determine file type
find - find files
fold - filter for folding lines
fort77 - FORTRAN compiler (FORTRAN)
fuser - list process IDs of all processes that have one or more files open
gencat - generate a formatted message catalog
getconf - get configuration values
getopts - parse utility options
grep - search a file for a pattern
hash - remember or report utility locations
head - copy the first part of files
iconv - codeset conversion
id - return user identity
ipcrm - remove an XSI message queue, semaphore set, or shared memory segment identifier
ipcs - report XSI interprocess communication facilities status
jobs - display status of jobs in the current session
join - relational database operator
kill - terminate or signal processes
link - call link function
ln - link files
locale - get locale-specific information
localedef - define locale environment
logger - log messages
logname - return the user's login name
lp - send files to a printer
ls - list directory contents
m4 - macro processor
mailx - process messages
man - display system documentation
mesg - permit or deny messages
mkdir - make directories
mkfifo - make FIFO special files
more - display files on a page-by-page basis
mv - move files
newgrp - change to a new group
nice - invoke a utility with an altered nice value
nl - line numbering filter
nohup - invoke a utility immune to hangups
od - dump files in various formats
paste - merge corresponding or subsequent lines of files
patch - apply changes to files
pathchk - check pathnames
pax - portable archive interchange
pr - print files
printf - write formatted output
ps - report process status
pwd - return working directory name
qalter - alter batch job
qdel - delete batch jobs
qhold - hold batch jobs
qmove - move batch jobs
qmsg - send message to batch jobs
qrerun - rerun batch jobs
qrls - release batch jobs
qselect - select batch jobs
qsig - signal batch jobs
qstat - show status of batch jobs
qsub - submit a script
read - read from standard input into shell variables
renice - set nice values of running processes
rm - remove directory entries
rmdir - remove directories
sed - stream editor
sh - shell, the standard command language interpreter
sleep - suspend execution for an interval
sort - sort, merge, or sequence check text files
split - split a file into pieces
strings - find printable strings in files
stty - set the options for a terminal
tabs - set terminal tabs
tail - copy the last part of a file
talk - talk to another user
tee - duplicate standard input
test - evaluate expression
time - time a simple command
touch - change file access and modification times
tput - change terminal characteristics
tr - translate characters
true - return true value
tsort - topological sort
tty - return user's terminal name
type - write a description of command type
ulimit - set or report file size limit
umask - get or set the file mode creation mask
unalias - remove alias definitions
uname - return system name
uncompress - expand compressed data
unexpand - convert spaces to tabs
uniq - report or filter out repeated lines in a file
unlink - call the unlink function
uucp - system-to-system copy
uudecode - decode a binary file
uuencode - encode a binary file
uustat - uucp status enquiry and job control
uux - remote command execution
vi - screen-oriented (visual) display editor
wait - await process completion
wc - word, line, and byte or character count
who - display who is on the system
write - write to another user
xargs - construct argument lists and invoke utility
zcat - expand and concatenate data
開発(「オプション」)ユーティリティ:
admin - create and administer SCCS files (DEVELOPMENT)
cflow - generate a C-language flowgraph (DEVELOPMENT)
ctags - create a tags file (DEVELOPMENT, FORTRAN)
cxref - generate a C-language program cross-reference table (DEVELOPMENT)
delta - make a delta (change) to an SCCS file (DEVELOPMENT)
get - get a version of an SCCS file (DEVELOPMENT)
lex - generate programs for lexical tasks (DEVELOPMENT)
make - maintain, update, and regenerate groups of programs (DEVELOPMENT)
nm - write the name list of an object file (DEVELOPMENT)
prs - print an SCCS file (DEVELOPMENT)
rmdel - remove a delta from an SCCS file (DEVELOPMENT)
sact - print current SCCS file-editing activity (DEVELOPMENT)
sccs - front end for the SCCS subsystem (DEVELOPMENT)
strip - remove unnecessary information from strippable files (DEVELOPMENT)
unget - undo a previous get of an SCCS file (DEVELOPMENT)
val - validate SCCS files (DEVELOPMENT)
what - identify SCCS files (DEVELOPMENT)
yacc - yet another compiler compiler (DEVELOPMENT)
方法
# ksh93: Version AJM 93u+ 2012-08-01
## lots of ugly, lazy hacks but
## it should be readable enough to give you the idea
cd /tmp
[ ! -s /tmp/posix.list ] && curl --location --silent http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ | sed -e 's/<[^>]*>//g' | awk '/^[a-z].*.html/ { print $1 }' | tee /tmp/posix.list
rm -f /tmp/posix.txt /tmp/all_tools.txt
echo '#!/bin/sh' > /tmp/clean_all.sh
cat /tmp/posix.list | while read P
do
echo
p=$(basename "${P}" .html)
echo "Getting ${p} details"
[ ! -s "${p}.txt" ] && curl --location --silent "http://pubs.opengroup.org/onlinepubs/9699919799/utilities/${P}" | sed -e 's/<[^>]*>//g' > "${p}.txt"
grep -A3 ^NAME "${p}.txt" | grep ^${p} | tee -a /tmp/posix.txt
echo "${p}.txt" >> /tmp/all_tools.txt
done
sed 's|^|rm -f /tmp/|' < /tmp/all_tools.txt >> /tmp/clean_all.sh
chmod +x /tmp/clean_all.sh
echo 'rm -f /tmp/posix.list' >> /tmp/clean_all.sh
echo 'rm -f /tmp/posix.txt /tmp/all_tools.txt' >> /tmp/clean_all.sh
grep -v DEVELOPMENT /tmp/posix.txt
grep DEVELOPMENT /tmp/posix.txt
答え3
Kajukenboとschilyの答えが間違っています。
私は答えに「コメント」を付けるのに十分な「評判」を持っていません。間違ったまたは公平に言えば、誤解を招くブラウザではなくプリンタ用に設計されたPOSIX仕様のレイアウトです。
プレゼンテーション不足/不良仕様レイアウトによる誤解
OPはPOSIX "シェルとユーティリティ"(="XCU"POSIXの一部)、「必須」ユーティリティと「選択」ユーティリティの違いを提供します。 Gillesの説明を参照してください(いつものように素晴らしいですが、alias
例は古くなっています。以下を参照)。残念ながらPOSIX 2004仕様特に、エディションにはその章の残りの部分へのリンクはありません。ユーティリティ自体の一部ではありません。例えば。 Kajukenboは他の場所で検索して見つけたようです。POSIX 2017仕様の「ユーティリティ」インデックス- インデックスのみがあり(urlの「idx」を参照)、XCU第4章ではこのリストの読み方を説明する内容はありません。
純粋なユーティリティリストを解釈しようとすると、必須ユーティリティと選択ユーティリティを混在させ、「選択」の独自の(POSIX準拠ではない)カテゴリを生成する「必須」リストが生成されます。
正しい仕様を探す
現在、ブラウジングが改善されたPOSIX 2017の2018バージョンがあります。XCU 2018バージョン、ヘッダーとフッターにナビゲーションのための「前」と「次」があり、その章の目次につながる(間違った名前)「ホーム」があります。残念ながら、第4章はすべてのユーティリティの簡単なリストを提供していません。 Kajukenboで見つかったインデックスリンクを参照する必要があります。ここまたは第4章以降では、POSIXが考慮する各ユーティリティの説明を見ることができます。この説明では、決定的な要素は開発という言葉の有無ではなくこれはadmin
非必須(選択)と必須の両方をalias
作成します。しかし、「マージンコード」はありますか?、要約段落の左上隅に角かっこ内の上付きのリンクとして表示されます(例:「[XSI]」)admin
。特に参考にしてください。 POSIX 仕様では「XSI」が言及されています。一貫性ように」可能「必須」ではなく「XSI」をサポートしてください。
左上パスワード次のリンクと組み合わせて、XCU第4章の紹介(上記参照)で説明します。コードテーブル一つもありますこの「マージンコード表記」を説明するセクション。ここで言及されている概要段落の「シェーディング」は、通常、いくつかのスチールブルーの背景としてレンダリングされますが、これは本質的に識別機能ではなく識別機能にすぎません。つまり、必要なユーティリティとオプションのユーティリティの説明のみを切り替えることができることがわかります。オプションのリンクに直接アクセスするときはそうではありません。ただし、オプションのリンクに直接アクセスする場合はそうではありません。スチールブルーの背景にブルーリンクラベルがあるのは最善のデザインアイデアではありません。
POSIXバージョン
Gillesの回答は、alias
POSIX 2004のオプションの回答からPOSIX 2008の必須回答に変更されました。だからあなたは必ずPOSIXバージョンも検討してくださいコンプライアンスを主張または検索します。 「標準」、「改訂」、「バージョン」、「バージョン」のために混乱する可能性があります。たとえば、opengroup.comの仕様タイトルに記載されているIEEE標準番号を使用する方が良いでしょう。現在「IEEE規格1003.1-2017」。 IEEEバージョン管理はよく文書化されています。ウィキペディア POSIX項目はXCUと同じセクションに分かれています。ウィキペディアのSUS一方、このエントリはIEEE番号ではなくPOSIX「バージョン」を要求します。
痛みを伴うが、一部のUNIXおよび/またはエンジニアの考え方を探ると、大きな利点が得られます。
答え4
そのようなユーティリティのリストが見つかりません。 POSIXドキュメントのどこにありますか?
カント。各ユーティリティを個別に確認し、それに基づいてリストを直接作成する必要があります。しかし、実際には、複数のユーティリティに関する表面的な情報ではなく、1つのユーティリティに関する詳細情報が必要なことを常に好みます。
もちろん、上記のリンクは以前のバージョンの文書を指しています。
彼らは。ただし、新しいシステムを理解していない「古い」システムを使用する必要があるかもしれません。
おそらくそれ以降に名前が変更された可能性があります。
いいえ、これは業界標準です。業界標準があまりにも頻繁に変更されても生き残ることはできません。これは、単一メーカーのエンドユーザー製品と混同しないでください。この製品は変更が多すぎて頻繁に発生し、顧客が再購入するしかない場合があります。