BSDまたはUnixスタイルのコマンド(利用可能な場合)のどちらを選択する必要がありますか?

BSDまたはUnixスタイルのコマンド(利用可能な場合)のどちらを選択する必要がありますか?

このようなコマンドにはps多くの引数が必要です。これは、ユーザーがUnixとBSDスタイルのフラグから選択するオプションを提供するためです。私の言葉がどういう意味か理解してください。

もしそうなら、これらのオプションが利用可能であれば、すべてのLinuxシステムで最大の互換性を得るためにどのオプションを選択する必要がありますか? (例:最大互換性は優先順位の1つです)

私はUnixの特徴が非常に明確であることを知っていますが、何らかの理由でBSD命令にはより読みやすい情報(列ヘッダー、CPU列など)が含まれています。もちろん、私が間違っていたら訂正してください。しかし私はそう思います。

ベストアンサー1

ほとんどすべてのLinuxは元のコアUnixコマンドのGNUバージョンを使用していますps。たとえば、指摘したようにBSDおよびAT&Tスタイルのオプションをサポートしています。

あなたが明示した目標は、Linux間の互換性だけであるため、答えは「関係ありません」という意味です。

組み込みや他の非常に小さなLinuxのバリエーションは頻繁に使用されます。忙しい箱GNUツールではなく、psBusyBoxのバージョンが削除されすぎてAT&Tishと呼ばれることができないため、答えには実際には影響しません。...でもないBSDish。

時間が経つにつれて、他のUnixyシステムではps互換性の違いが減少しました。 Mac OS X — どこにBSD Unixから間接的に派生通常、動作はAT&TishおよびBSDishフラグを許可するBSD Unixと最も似ていますps

Solaris/OpenIndiana もこの動作を示していますが、BSD と AT&T との混在の歴史を考えると、これは驚くべきことではありません。

FreeBSD、OpenBSD、およびNetBSDはまだBSDスタイルのみに固執しています。

Unixシステムが古くなるほど、1つのスタイルのフラグしか許可されない可能性が高くなります。今のようにボックスの違いを隠すことができます。まだGNUツールをインストールしていない場合は、インストールしてください。

つまり、落とし穴は依然として存在します。psたとえば、Unixyシステムは、利用可能な列、オペレーティングシステムがroot以外のユーザーに表示するデータの量などが異なるため、一般に移植性が必要なスクリプトから出力を解析しないでください。

(しかし、これは「BSD対Unix」ではなく、「BSD対AT&T」であることに注意してください。BSD UnixはまだUNIX®です。BSD Unixは直接の歴史を持っています。元のAT&T支店があります。これらの共有は双方向にも行われました。 AT&Tとその後任者は、歴史のさまざまな地点でBSDイノベーションを国内にもたらしました。時間が経つにつれて、この統合は部分的に次の理由で行われました。グループを開くそしてその前任者たち。 )

おすすめ記事