すべてのUnixコマンドはLinuxで書き換えられましたか?

すべてのUnixコマンドはLinuxで書き換えられましたか?

Linux用に書き換えられたコマンドとUnixで保持されているコマンドを知りたいです。

答え1

オペレーティングシステムの2つの異なる部分を混同しているようです。これはしばしば同じ意味で使用されるため理解できますが、技術的には正しくないため、あなたの質問は間違った前提に基づいています。あなたが尋ねたい質問を完全に探索して答えるためには、簡単な歴史クラスが必要です。

まずUnixです。デフォルトでは、当時UNIXはAT&T Unixシステム、これが最初に来ます。しかし、AT&T UNIXはunfreeになったため、Richard StallmanはUnixシステムを構築するためにGNUプロジェクトを開始しました。無料。したがって、名前GNUはUnixではありません、略語としてGNU。 GNUプロジェクトは1983年に公開されました。1984年開発開始

1990年代初頭まで、GNUはほとんどのUNIXユーティリティを最初から再実装しました。 ウィキペディア一覧システム全体の一部のコンポーネントは再構築されていません(TeX、AT&T(または無料ではない)コードを再利用し、コマンドラインオプションを追加して機能を拡張しました。がたくさんあります。

当時、GNUにはまだ重要なコンポーネントがありませんでした。一つオペレーティングシステムカーネルこれにより、他のオペレーティングシステムを実行していない物理コンピュータですべてが連携できます。 GNUプロジェクトはHURDと呼ばれるカーネルを提供します。残念ながら、いくつかの理由で数年が遅れています。最近は次のように使用できます。GNU ハード

一方、1991年に、Linus Torvaldsは後でLinuxと呼ばれるおもちゃのプロジェクトを始めました。これは基本的に32ビットを学ぶための学校プロジェクトです。インテル 80386CPU、非常に簡単に始めたが、最終的に実際に動作するオペレーティングシステムのカーネルに進化し始めた。ただし、ユーザーレベルのソフトウェアはありません。 Linux自体はシェルを提供せず、システム起動ツールもなく、テキストエディタもなく、カーネル初期化以外のグラフィカルインタフェースもありません。何もない。コアは有用な車を作るのに不可欠な自動車エンジンのようですが、それ自体は役に立ちません(有用な車には車輪、ギアボックス、ステアリング、運転者が座る場所、燃料タンク、または他のエネルギー貯蔵装置が必要です)。など。)。 Linuxカーネルは最終的にGNU General Public Licenseに従って配布されます。GNUソフトウェアと同じ

だから人々は2つを交配し始めた。 Unixに似たユーザースペースとUnixのアイデアに基づいてカーネル(含まれています)を取得します。POSIX)には、費用をかけずに自由に変更できるソースコードが付属しています。特に以前はLinuxディストリビューション一般化され、正常に機能するには少し手が必要ですが、時間を投資したい人には十分です。

HURDは、1990年代初頭にはLinuxが趣味やハンダの間で人気を集め始めたため、まだ利用できなかったため、Linuxカーネルと主にGNUで構成されたユーザー領域の組み合わせは開発者に最大の関心を集めました。

また、今日の多くのUnixシステムでは、管理者がGNUユーザースペースの一部を簡単にインストールできるようにしています。 GNU以外のシステムでは、GNU bash、GNUコンパイラコレクション、GNU Cライブラリ(一般またはパッチ)などを見ることができます。

悪いことに、一部のシステムはLinuxカーネルを使用しますが、GNUユーザー領域はまったく使用しません。広く使用されている例を挙げると、Androidオペレーティングシステム、これはデフォルトでLinuxカーネルとカスタムユーザースペースです。

これは非常に重要ですなぜなら、GNU、Linux、そしてさまざまなUnixの境界が大きく曖昧になるからです(Unixは1つだけですしかし、Unixシステムにははるかに多くの機能があります。Unixシリーズのオペレーティングシステム)。 Linuxについて尋ねると、GNU / Linuxシステムについて尋ねられることがよくあります。しかし、考えてみてくださいDebian GNU/kFreeBSD、FreeBSDカーネルの上でGNUユーザー領域を実行し、Linuxをまったく使用しません。または、たとえば簡単にインストールできるSolariscoreutilsを含むさまざまなGNUパッケージ。私の考えでは、Mac OS XにもGNUユーザースペースがいくつか含まれているようです。または上記のAndroidを検討してください。

結局、動作するGNUシステムGNU以外のコードを実行でき、GNU以外のシステムでGNUコードを実行できますが、GNUユーティリティGNU以外のコードは含まれていません。

関連情報