GNU/Linux >> Linux の 問題 >  >> Linux

Linux –すべてのUnixコマンドはLinuxで書き直されましたか?

Linux用に書き直されたコマンドとUnixから保持されたコマンドを知りたいのですが

承認された回答:

OSの2つの非常に異なる部分を混同しているようです。それらはしばしば交換可能に参照されるため、理解できますが、技術的に正しくないため、あなたの質問は誤った前提に基づいています。あなたがたぶん聞きたいと思う質問を完全に探求し、うまくいけば答えるために、短い歴史のレッスンが必要です。

まず、UNIXがありました。基本的に、当時、UNIXはAT&TUNIXシステムを意味していました。これが最初に登場しました。しかし、AT&T UNIXが非フリーになったため、Richard StallmanはGNUプロジェクトを開始して、フリーのUnixシステムを作成しました。したがって、GnuはUnixではありませんという名前です。 、GNUと略されます。 GNUの計画は1983年に公表され、開発は1984年に始まりました。

1990年代初頭までに、<​​strong>GNUはほとんどのUNIXユーティリティを最初から再実装していました。 ウィキペディアには、書き直されなかったシステム全体のいくつかのコンポーネントがリストされています(TeX、X Window System、およびMachマイクロカーネルは書き直されなかったコンポーネントの例として言及されています)が、ほとんどの場合、ユーザーランドツールは満たすために最初から書き直されましたAT&T(または非Free)コードの再利用を回避し、コマンドラインオプションを追加して機能を拡張するという目標。その結果、GNUユーティリティは、元のインスピレーションを引き出したツールよりも定期的に強力でした。

その時点で、GNUにはまだ1つの重要なコンポーネントがありませんでした。オペレーティングシステムカーネル 、これにより、他のOSを実行していない実際のコンピューターですべてを連携させることができます。 1991年、Linus Torvaldsはおもちゃのプロジェクトに取り組み始め、最終的にLinuxとして知られるようになりました。基本的には、当時の新しい32ビットIntel 80386 CPUについて学ぶための学校のプロジェクトであり、最初は非常に単純でしたが、最終的には実際に使用可能なオペレーティングシステムカーネルに変化し始めました。しかし、ユーザーランドソフトウェアはありませんでした。 Linux自体は、シェル、カーネルの初期化以外のシステム起動機能、テキストエディタ、グラフィカルインターフェイス、何もを提供しません。 。カーネルは車のエンジンのようなものです。便利な車を作るために不可欠ですが、それだけでは役に立ちません(便利な車の場合、ホイール、トランスミッション、ステアリング、ドライバーが座る場所、燃料タンク、その他のエネルギー貯蔵庫などが必要です)。 Linuxカーネルは最終的にGNUGeneralPublic Licenseの下で配布され、GNUソフトウェアと同じ

それで人々は2つをペアにし始めました。 Unixライクなユーザーランドと、Unixのアイデアに基づいたカーネル(POSIXとの類似性を含む)があり、ソースコードを完備しているので、好きなだけハックでき、費用もかかりませんでした。 。特にLinuxディストリビューションの前 一般的になり、物事を機能させるには少し手を加える必要がありましたが、ある程度の時間を費やすことをいとわない人々がある程度使用できるように十分に完成しました。

関連:Linux – Ubuntu / LinuxにJavaをインストールしますか?

最近、GNUは独自のカーネルを提供しています。聞いたことがないかもしれませんが、GNUHurdと呼ばれています。しかし、Linuxが愛好家やいじくり回しの人々の間で注目を集め始めた1990年代初頭には、Hurdは存在しませんでした。そのため、開発者の間で最も注目を集めたのは、LinuxカーネルとほとんどGNUのユーザーランドの組み合わせでした。

また、最近では、多くのUnixシステムが、GNUユーザーランドの一部をインストールするか、管理者が簡単にインストールできるようにしています。それ以外の場合はGNU以外のシステムで、GNU bash、GNUコンパイラコレクション、GNU Cライブラリ(バニラまたはパッチ)などが表示される場合があります。

さらに悪いことに、一部のシステムはLinuxカーネルを使用していますが、GNUユーザーランドはまったく使用していません。この広く使用されている例として、Android OSを考えてみましょう。これは、基本的にLinuxカーネルとカスタムユーザーランドを組み合わせたものです。

これは重要です これは、GNU、Linux、およびさまざまなUnixの間の境界線を大幅に曖昧にするためです(UNIXは1つだけですが、多くのUnixとさらに多くのUnixライクなOSがあります)。 Linuxについて質問するときは、GNU/Linuxシステムについて質問することがよくあります。しかし、Linuxをまったく使用せずにFreeBSDカーネル上でGNUユーザーランドを実行するDebian GNU/kFreeBSDを考えてみてください。または、たとえばSolarisは、たとえば次のようなさまざまなGNUパッケージを簡単にインストールできます。 coreutils。 MacOSXにはGNUユーザーランドの一部も付属していると思います。または、上記のAndroidを検討してください。

結局、使用可能なGNUシステム 非GNUコードを実行し、非GNUシステムがGNUコードを実行する可能性がありますが、GNUユーティリティ 非GNUコードを含めないでください。


Linux
  1. Linux – LinuxはUnixですか?

  2. UNIX / Linux :最後のコマンドを繰り返す bash history コマンドの例

  3. すべての Linux 圧縮/解凍コマンド

  1. 5Linuxルーキーの間違い

  2. Linux は Unix ですか?

  3. GNU/Linux SUS v3+ に準拠していないのはなぜですか?

  1. 5Linuxネットワークのトラブルシューティングコマンド

  2. 私のお気に入りの8つの実用的なLinuxコマンド

  3. Linux –異なるLinux / UNIXカーネルは交換可能ですか?