過去にはそうではありませんでした。

過去にはそうではありませんでした。

存在する他のスレッドexittest私はという名前のプログラムやシェルなどのオペレーティングシステムのユーザーインターフェイスの一部ではないプログラムは愚かであると自慢して言いたいと思いますhelp。私が意味するのは、これらの一般名をトップレベルのユーザーインターフェイス、通常はコマンドシェル、またはコアオペレーティングシステムユーティリティ用に予約する必要があることを意味します。

ユーザーschilyは、これがhelp1970年代以降、Unixの不可欠な部分であったsccsバージョン管理システムへのコマンドであると述べました。 sccsは実際にSingle Unix仕様に含まれています。

sccsのオンラインドキュメントはあいまいなようです。ほとんどのページは、helpと呼ばれるsccsサブコマンドとしてリストされていますsccs help <topic>。それからそこに/usr/bin/sccshelp注文する。しかし、その他のページ専門化されたものは実際にリストされています/usr/ccs/bin/help

私はsccsユーザーが/usr/ccs/bin/そのパスにあると仮定しています。これはhelp40年間の多くのUnixインストールの一部でした1。この場合、コマンド名の選択が残念ながらsccsは配列を持ち、bashは組み込みのbash-helpなどを呼び出す必要があると思います。

それでは、パスに(sccs)コマンドが頻繁にありますか?help


1変に聞こえますね。

ベストアンサー1

過去にはそうではありませんでした。

あなたはいくつかの欠陥のある最新モデルを購入していますが、当時はそうではありませんでした。

しかし、私は笑って「頑張らないで、私が訓練させてあげる」と言った。初めて学ぶ命令はHELP「そしてコンソールターミナルに打ち込んでください。だからデータセンターマネージャー、シフトスーパーバイザー、エイトデイ」だ。オペレータLA100がうんざりしているのを見て、普段の紹介文字を送った後、彼らは私を期待する目つきで見て、私は親切に話しました。 「これがあなたの最も重要な命令です!」

交代監督官が先に進み、約1分間本文を研究しました。それから彼は振り返り、不思議な表情で尋ねました。 「それを何に使うの?」ため息。

— Mike O'Brien (航空宇宙) <neat.ai.toronto.edu!pyramid!verdix!ogccse!tektronix!aerospace.aero.org!sequent!aero!obrien> 作成者: <[Eメール保護]>(1989-03-01).VAXen、私の子供たちはどこにも属していません。。ドキュメンタリー、ユーモラスで面白いです。

私たちが知っているように、Unixは初心者のための簡単なヘルプコマンドを提供していません。これは、Bourne Againシェルの作成者が一度ではなく複数回埋めた穴です(オンラインディスカッションフォーラムでよく議論されています)。 Mortice-Kernは、使用するためhelpにdocoで検索できるコマンドを提供します。 AT&T System 5 Release 3.2 には、次のコマンドもあります。helpfilehelpindexhelp

$ヘルプ
ヘルプ:UNIXシステムオンラインヘルプ

        オプションの説明
                nはじめに:一般情報
                sitioate:キーワードを含むコマンドを探す
                u使用法:コマンドに関する情報
                g用語集:用語の定義
                r ファイルまたはコマンドにリダイレクト
                やめる
       選択項目を入力

これはAT&T Unixにあるため、指定されたSCCSコマンドを置き換えることがhelp違法であるか、Bourne Againシェル作成者が連絡を取らなかったという考えを否定します。しかし、もっとたくさんあります。

私達は推定する実際の使用 PATH

#PATH初期シェルPATH変数を設定します。
#
#PATH=/usr/bin:/etc:/bin:/boot/grub:/boot/grup/bin:/boot/solaris/bin:/sbin:\
/usr/openwin/bin:/usr/5bin://usr/X11/bin:/usr/apache/bin:/usr/apache2/bin:\
/usr/appserver/bin:/usr/ccs/bin:/usr/dt/bin:/usr/j2se/bin:usr/local/bin:\
/usr/oasys/bin:/usr/pgadmin3/bin:/usr/proc/bin:/usr/sadm/bin:\
/usr/sadm/admin/bin:/usr/sadm/sysadm/bin:/usr/sbin:/usr/sfw/bin:\
/usr/sfw/i386-sun-solaris2.10/bin:/usr/sfw/sbin:/usr/snadm/bin:\
/usr/sunvts/bin:/usr/ucb:/usr/ucb:/usr/vmsys/bin:/usr/xpg4/bin:\
/usr/xpg6/bin
- login.dflSun Microsystems、Inc。 2004-06-25.

現代のモデルの一部は、すべてが1つの巨大なディレクトリに格納されるということです。ダニエルJ.バーンスタイン/commandまたはArch Linux /usr/bin。これはもちろん、他のコマンドの名前を指定するのが困難です(他のモデルではfastbootinとで区別されます)。しかし、当時はそのようなモデルではありませんでした。bin/sbin/

このモデルの例は次のとおりです。ls私が議論した命令の様々な変形そして「Nexenta bashスクリプトは/usr/bin/sedの代わりに/usr/sun/bin/sedを使用します。「。全負荷コマンドディレクトリの数と、環境変数の値にリストされているサブセットの選択PATHと順序によって決まります。オペレーティングシステムの性格その男はそれを見た。

コマンド検索パスには以下を含めることができ、ある程度まではまだ含めることができます。

  • /bin/usr/bin/- ポストフォーマル標準化の観点から、公式標準化以前の従来の一般的なツールセットです。System V インターフェースの定義そしてX/Open 移植性ガイドバージョン3
  • /sbinおよび/usr/sbin/- システム管理ツール
  • /etc/そして/usr/etc/- より多くのシステム管理ツール(例えば、バージニア、実行可能ファイルが一度入ってきました/etc/。)
  • /5binおよび/usr/5bin/— AT&T Unix System 5 互換性ツールと System V (例: 5) 互換性ディレクトリ
  • /usr/ucb/- BSD互換ツールを含むUCB(BSD)互換性ディレクトリ
  • /usr/mbin/— マルチバイト文字セットをサポートする/usr/binツールバリアント
  • /usr/rbin/— 特定の「制限された」シェルに管理者が提供するツール
  • /usr/lbin/— ローカルにインストールされたツール、例/usr/local/bin/
  • /usr/amdahl/bin/-/usr/sun/bin/より一般的に類似点を導き出すことができる形式のオペレーティングシステムベンダーツール/usr/${OEM}/bin/usr/local/bin
  • /usr/games/- ゲーム
  • /usr/ccs/bin- ご覧のように、さまざまな開発者ツール
  • /usr/xpg4/bin/- 次のように動作するコマンドを含むディレクトリ。X/Open 移植性ガイド問題4
  • /usr/xpg6/bin/- 概念で指定された方法で実行されるコマンドを含むディレクトリ。X/Open 移植性ガイドIssue 6、より正確にはPOSIX.1:2001またはシングル Unix 仕様バージョン3
  • /opt/sfw/bin/- Sunが提供する追加のユーティリティCDをインストールして作成されます。SunFreeware付属CD
  • /opt/csw/bin/オープンCSW爆発波ツール
  • /opt/SUNWspro/bin/SUNW- Sunの(元の)株式取引シンボルであり、spro以前の製品名であるSunProを表すSun Workshop(現在のOracle Developer Studio)ツールバーのコマンド。
  • /usr/local/bin//opt— サブディレクトリやCSWを使用しない第三者が提供するコンテンツ

全盛期のSun / Oracleオペレーティングシステムとそのオープンソース派生製品は、おそらくそのようなマルチパーソナルオペレーティングシステムの最も極端な例です。 (Oracleは以降/usr/ucb、およびを含むいくつかのディレクトリを削除しました/usr/ccs。)しかし、上記のディレクトリのいくつかはAIXおよび他のディレクトリにあります。 /usr/amdahl/binたとえば、UTSで。

指定されたコマンド名で実行されるプログラムは、選択した属性によって異なります。与えられたコマンド名に対して1つのプログラムしか持たなければならないという考えは愚かです。結局、同じ名前の命令を区別することが最もPATH重要です~のため

厳格な優先順位という概念はありません。

多くのコマンドが非常に迅速に来て消えます。たとえば、Bill JoyはiululBSDにもかつてgreek命令がありました。

コマンドが決して変更されず、シェルの組み込み名と他のコマンドの例外があるという考えは、コマンドセットがどのように変更されるかを考慮すると、かなり異質です。

初心者の場合、sh それ自体12年以上にわたり、私たちはThompson、Mashey、Bourne、Kornシェルをリリースしました。 Thompsonシェルの外部ifコマンドがBourneシェルがそれをキーワードとして使用するのを防ぐという考えはif確かに面白いです。

(2005年以降、ksh93q)追加の組み込みコマンドを有効にするAT&T Kornシェルのメカニズムは/opt/ast/bin値に含まれますPATH。どちらも、組み込みコマンドが同じ名前の外部コマンドを置き換えることができるという概念をサポートします。そしてPATH人々が自分の性格を制御するために使用することを期待するアイデアにつながります。 (ast参考としてAT&T Software Technologiesの略です。)

追加読書

  • AT&T。 「UNIXシステムユーザーの基本:helpコマンド。」Unix System V, バージョン 3.2: ユーザーガイド。フレンティスホール。 1989年に。 2〜23ページ以下を参照。
  • デビッド・フェデラー、ブルース・H・ハンター、スティーブン・G・コチャン、パトリック・H・ウッド(1986)。 「/usr――神秘的なカタログ」。UNIXシステム管理。ヘイデンブックス、ISBN 9780810462892。54ページ以下を参照してください。
  • XPG標準、環境、マクロ。 Oracle Solarisのマニュアルページ。信託。 2014年。
  • XPG4標準、環境、マクロ。 SunOS のマニュアルページ。信託。 2004年。
  • Michael R. Alter(1996)。 UNIXシステム管理者の仲間。ウィリー。 ISBN 9780471111443。
  • if手動。エーテッシュプロジェクト。
  • ksh93シェルスクリプトの奇妙な動作( "command -p mkdir t"失敗)
  • https://news.ycombinator.com/item?id=7278408
  • ジョナサンデボインポラード(2017)。拡張マニュアルページul。提案。

おすすめ記事