web-dev-qa-db-ja.com

Unix Legendry(およびその他の* nixも)

これはこの質問の双子です

最もあいまいな/賛成の回答は、回答投票を取得します!

ほとんどのUnixおよびUnixライクなシステムには、世代ごとに受け継がれる「伝統的な歴史」があるため、初心者はシステムのより難解な部分のいくつかを見て理解することができます。新しい管理者がさらされるべき難解な知識に関して、「UNIX」の「レジェンドリー」に関して、そこにいる長年の* nix管理者はどのような貢献をしていますか?

12
Avery Payne

個人的なお気に入りは常に「500マイルの電子メールの場合」でした

http://www.ibiblio.org/harris/500milemail.html

スポイラー

$ units
2411 units, 71 prefixes, 33 nonlinear units

You have: 3 millilightseconds
You want: miles
    * 558.84719
    / 0.0017893979
20
faultyserver

私にとってUNIXの伝統で最も驚くべきことは、UNIXは基本的に1人の男(ベル研究所にいる間、ケン・トンプソン)によって書かれたということです。ここで見つけることができるこれの魅力的な説明があります: http://www.bell-labs.com/history/unix/

引用のいくつかはただ貴重です:

「オペレーティングシステム、シェル、エディター、アセンブラーにそれぞれ1週間を割り当てて、自分自身を再現しました...」とトンプソン氏は説明しました。

パイプ:

UNIXのもう1つの革新は、パイプの開発でした。これにより、プログラマーは特定の出力のためにいくつかのプロセスをつなぎ合わせることができました。

簡単ではありませんでした。 「 『cat into grep into ...』や 『who into cat into grep』と言うのはとても簡単です」とマキロイは説明しました。 「しかし、これらのコマンドにはこれらすべてのサイドパラメータがあります。入力引数と出力引数はありませんが、これらすべてのオプションがあります。」

マキロイは窮地に立たされたが、その考えを捨てなかった。 「そして、1970年から1972年にかけて、時々 『こんなものを作ってみませんか?』と言って、別の提案、別の提案、別の提案を出しました。そしてある日、私は思いついたのです。配管に沿ったシェルの構文で、ケンは「やるよ!」と言った。

「彼はこのようなことを聞​​くのにうんざりしていた」とマキロイは説明した。 「彼は私がパイプシステムコールに提案したことを正確に実行しませんでした。彼は少し良いものを発明し、最終的に私たちが今日持っているものにもう一度変更しました。彼は私の不器用な構文を使用しました。」

「トンプソンは、ファイルの引数がこのスキームに適合しないことを知り、同じ夜にすべてのプログラムを変更しました。方法がわかりません...そして翌朝、この乱交がありました。 -ライナー。」

彼はパイプをUNIXに入れ、この表記をシェルに入れました。すべて一晩で」とマッケルロイは不思議に思った。

トンプソンがパイプを作成したとき、彼は成果と同じくらい技術的にきちんとしていて、UNIXに何か他のものを入れました-哲学。

マキロイが説明したように、「誰もが提唱し始めた哲学は、「1つのことを実行し、それをうまく実行するプログラムを作成する。連携するプログラムを作成する。テキストストリームを処理するプログラムを作成する。それはユニバーサルインターフェイスだからです」。

11
HTTP500

tarがエラーで終了することはありません。決して。注意してください。

出典:UNIX-HATERSハンドブック、31ページ( http://simson.net/ref/ugh.pdf )申し訳ありませんが、HTMLバージョンはありません。

この本はたまたま他の伝説がぎっしり詰まっていて、ほとんどまだ適用可能です。 Linuxを何年も使用してきた中で、これらの落とし穴の多くに出くわしました...ドライブ全体のrm-ingに関係するものはどれもありませんでした。 15年以上前に書かれたにもかかわらず、この本の多くがまだ正確であることに私は驚いています。

そして今、私自身のtarホラーストーリー、UNIX-HATERSのもののほぼ正確なレプリカです。同じバグ、14年後!

ワイヤレスをeeepcで動作させたいので、ドライバーをダウンロードしてコンパイルし、インストールする必要があります。必要なものをすべてダウンロードし、ライブラリに移動して作業します。途中で、はい、何かのためにインターネットが必要だと気付いたので、インストールに行きます。

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

やばい。 -xvfの代わりに-cvfと入力しましたか?

うん。

Tarは、ランダムなガベージのtarファイルをサイレントに作成し、使用可能なファイルを上書きしましたか?

うん。すごい。私はインターネットにアクセスせずにやるだけだと思います。それが数ギガバイトのファイルではなかったのは良いことです...まあ、それは一週間前に起こりました。

正直なところ、不可解なコマンドライン引数とLinuxプログラムは一体何をしているのでしょうか。適切な拡張子のファイルで呼び出されたときに、基本的な操作を自動的に実行することはできません。なぜ炎の中でARCHIVEをどうするかをtarに伝える必要があるのですか?もう一度アーカイブしたいと思いますか?

ついに「タールピット」とは何かがわかったと思います。それはファイルが死ぬ場所です。

8
SilentW

すべて大文字でログインする

http://utcc.utoronto.ca/~cks/space/blog/unix/UnixFossilizationExample

時間。私は質問を誤解したかもしれないのではないかと心配しています:-)

しかし、私はそれが面白いと思うので、私はリンクを残します!

7
Matt Simmons

元の パイプ記号は^でした

元の削除キーは#でした

元の「kill」キー(行のすべてを消去)は@でした

古い system にログオンしていて、コメントやメールアドレスを入力できない場合は、sttyが友達になります。

This は、ログを作成する人がsttyを実行するのに十分親切だった第7版のログインセッションの例です。また、前述のように here 「従来のBourneを識別する方法shell?1文書化されていないが特徴的な機能の簡単なチェック:|(パイプ)の代わりに曲折アクセント記号^(キャレット)を使用できます。 "

6
chris

ケントンプソンの有名なチューリング賞講演:

http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf [PDF]

Cコンパイラにloginのバックドアを置くと、厄介なことが起こるかもしれません...

5
liori

NetBSDは、ほぼすべてで実行できます。 57(57!)のサポートされているポートがあります。

http://www.netbsd.org/ports/#in-tree-ports

乾杯

3
HTTP500

すべてがファイルであるか、そのように扱うことができます... darnユーザーを除きます。

バスエラーは、PDP/11の分割データ/プログラムバスのデータ側に保存されたデータを実行しようとしていることを意味します。

Unixは、天文学者が作成者の1人であったという理由だけで、最初からカレンダーと時計を取得した唯一のO/Sです。 (追加のコメント-クレジット:その作家に名前を付けます。追加のクレジット:UNIXチームのオリンピックメダルの勝者に名前を付けます。)

/ etc/passwdのGCOSフィールドは、GECOSオペレーティングシステムにちなんで名付けられ、元のUnix miniのプリントサーバーとしてGECOSメインフレームを使用しており、印刷ジョブを受け入れるためにデータが必要だったために配置されました。

2
kmarsh

The Art of Unix Programming は、Unixに興味がある人だけでなく、コンピューティングに興味がある人にとっても良い読み物です。はい、一部は古くなっていますが、それでも必読です。

2
goo

Linuxの初心者の多くがおそらく知らないのは、Linuxの作成者(Linus Torvalds)がAndrew Tanenbaum教授によって作成されたMINIXオペレーティングシステム(教育ツール)から多額の借用をしたことです: http:// en .wikipedia.org/wiki/Andrew_S._Tanenbaum#MINIX

LinusとTanenbaum教授は、モノリシックカーネル(Linux)とマイクロカーネル(MINIX、Solaris)のメリット/実用性についても詳細に議論しました。討論は公開されており、ここで見つけることができます: http://oreilly.com/catalog/opensources/book/appa.html

乾杯

2
HTTP500

Tarを使って一度やったことはそれほど面白くなく、実行に1週間かかったtar:

  1. tar zcf foo.tar.gz ...
    • 翌日かそこらのある時間に、画面セッションが私の画面に表示されました:<UP>
    • 1日かそこら後:<enter>
    • タールが終了しました。バッファに保持されているキーを推測し、タールが終了してから2番目にシェルに入りました...

何が起こったのかを最初に説明した人へのコメントへの賛成:-)ストーリーの教訓は、スクリーンセッションのバックグラウンドで何かを実行することです。

そうは言っても、私はまだ* NIXが大好きです。 myのせいで、いつめちゃくちゃになってもかまいません。

1
Kyle Brandt