タグ付けされた質問 「unix-philosophy」

12
ディスクへのデータ書き込みの遅延の背後にある哲学は何ですか?
Linuxでは、cpまたはなどのコマンドの実行が終了しddても、データがデバイスに書き込まれたことを意味しません。たとえば、を呼び出すsyncか、ドライブの「安全な取り外し」または「取り出し」機能を呼び出す必要があります。 そのようなアプローチの背後にある哲学は何ですか?データが一度に書き込まれないのはなぜですか?I / Oエラーが原因で書き込みが失敗する危険はありませんか?

3
Unixが「自立」しているのはなぜですか?
Unixファイルシステムに関するリッチーとトンプソンの論文を読んでいました。彼らは「システムが完全に自立していることは注目に値する」と書いています。Unix以前のシステムは自立していませんでしたか?どんな風に?

2
「すべてがファイルである」という素人の説明— Windowsとは何が違うのか?
「すべてがファイルである」ということは、デバイスでさえUnixやUnixライクなシステムでファイル名とパスを持っていることを意味し、その性質に関係なくさまざまなリソースで共通ツールを使用できることを知っています。しかし、私がこれまでに取り組んだ唯一のOSであるWindowsとは対照的ではありません。私はこのコンセプトについていくつかの記事を読んだことがありますが、それらは開発者以外の人にとっては理解しにくいと思います。素人の説明は、人々が必要とするものです! たとえば、カードリーダーに接続されているCFカードにファイルをコピーする場合、次のようなものを使用します。 zcat name_of_file > /dev/sdb Windowsでは、カードリーダーはドライバーとして表示され、同様のことを行うと思います。それでは、「すべてがファイルである」という哲学は、ここでどのように違いをもたらすのでしょうか?

2
sort -oが便利なのはなぜですか?
UNIXの哲学では、1つのことを実行し、それを適切に実行します。テキストを処理するプログラムを作成します。これはユニバーサルインターフェイスであるためです。 sortコマンド、少なくともGNUソートは、持っている-o代わりに、ファイルに出力するオプションをstdout。なぜsort foobar -o whatever私がちょうどできるのに、なぜ便利なのsort foobar > whateverでしょうか?

1
**ログイン**シェルが**非ログイン**シェルよりも優れているのはなぜですか?
* nixシステムのドットファイルの基本的な理解があります。しかし、ログインシェルと非ログインシェルのこの違いについて、私はまだかなり混乱していますか? 多数の異なる回答(複数の重複を含む)は、すでに次の箇条書きに対処しています。 どのようにするために呼び出すログインまたは非ログインシェルを ログインまたは非ログインシェルを検出する方法 どのようなファイルが起動によって消費される、ログインまたは非ログインシェル man bash詳細については、ドキュメントを参照(例:) 答えが教えてくれなかったのは(そして、私もまだ混乱していることです): 何がユースケースのログインまたは非ログインシェルは?(たとえば、ほとんどの個人的な開発要件に合わせて設定zshrcするzshだけで十分であり、何vimrcをするほど単純ではないことがわかりますvim) (異なるスタートアップファイルとライフサイクルを消費する以外に)非ログインシェルでログインを使用する理由は何ですか?

4
Unixインターネットソケットファイルはありますか?
「すべてがファイル」はUnixの主要な概念の1つであることを理解していますが、ソケットはカーネルによって提供されるさまざまなAPI(ソケット、sendto、recvなど)を使用し、通常のファイルシステムインターフェイスとは異なります。 この「すべてがファイル」は、ここでどのように適用されますか?

2
オペレーティングシステムを「Unix-Like」にするものは何ですか?
多くのWebサイトで「unixのような」という用語に頻繁に出会います。 標準はありません。それはちょうどそれが動作する方法です。 しかし、もし私がゼロからカーネルを開発するなら、何がそれを「unixのような」とみなしたでしょうか? 基本的に、Unixのような記述されたコードを作成するものは何ですか?

4
Linuxでファイル名に名前を付けるときに特定の特殊文字を使用するのは正しいですか?
それはように、特定の特殊文字を使用するために正しいことを+、&、'、.(ドット)と,ファイル名に、基本的には、(カンマ)。 私はあなたが使用できることを理解-し、_何の問題もなく、私は他のシンボルについての明確な何かを見つけることができなかったいくつかの研究を行っています。あなたができると言う人もいれば、できないと言う人もいれば、それらを使用することが「推奨されていない」と言う人もいます(それが何であれ)。

2
警告またはエラーが発生したときにプログラムの名前を出力する必要がありますか?
スクリプトまたはプログラムを作成している場合、警告またはエラーメッセージとともにその名前をstderrに出力する必要がありますか?例えば: ./script.sh: Warning! Variable "var" lowered down to 10. または: ./prog.py: Error! No such file: "file.cfg". 一般的にそれは単なる好みの問題であることを理解しています(特に自分用に自分のものを書く場合)が、それに対して慣習的なものはあるのだろうか?ほとんどのUNIX / Linuxユーティリティは何かが起こったときに名前を書くと思うので、それは良いことのように思えますが、それを行う方法としない方法についてのガイドラインや暗黙のルールはありますか? 例えば、それは下のバイナリをインストールすることをお勧めではありません/usr/bin/、むしろ下、/usr/local/bin/または何か他のもの。stderrへの出力について同様のルールはありますか?名前の後にコロンを書く必要がありますか?または単に「警告!」および「エラー!」言葉?何も見つかりませんでしたが、誰かがそれについてどこで読むかを教えてくれるかもしれません。 この質問はプログラミングの実践に関するものですが、UNIX / Linuxの伝統に関するものであり、一般的なプログラミングではないため、stackoverflowよりもこちらの方が適切だと思いました。

2
プライマリ管理者のUID 501はなぜですか?
プライマリー管理ユーザーが、ユーザーのIDを与えている*私が理解501し、後続のユーザーは、増分番号を取得(502、503、...)。しかし、なぜ501ですか?の何が特別で50x、この選択の歴史的/技術的理由は何ですか? *外付けハードドライブにすべてのゴミ箱にあるファイルが含まれている理由を知りたくて、これを調べ始めました.Trashes/501。私の検索で結論に至ったの501は、* nixシステムのプライマリ管理者のユーザーID(macOSを使用しています)ですが、理由ではありません。

1
Unixプログラミングとはどういう意味ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Unix&Linux Stack Exchangeのトピックとなるようにしてください。 5年前休業。 Unixプログラミングという用語の意味は理解できたと思いましたが、カーネル/ Cプログラミングのコンテキストで読んだ後、この用語の意味を明確にする必要があるように感じます。 それが意味するかどうかは私には明らかではありません: シェルプログラミング、 Unixプログラミングツール Unixコマンドラインツールのプログラミングの特定の方法/パターン(たとえば、「Unixシェルプログラミング」のパイプライン方法に同意するため)、または 他の何か。

2
Unix哲学はWebアプリケーションの設計から放棄されましたか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 Unix Philosophyは、共有メモリ空間やリンケージとは対照的に、パイプ、fifo、ソケットなどのプロセス間通信の形式と連携する、小さくて一般的に再利用可能な協調プログラムの使用を奨励しています。多くの場合、プログラムMHおよびuzblは、Unixの哲学を設計で例示するアプリケーションの例として示されています。 これが事実なら、Unix PhilosophyがWebアプリケーションの設計から完全に放棄されているというのは本当ではないでしょうか。要求を処理するほとんどすべてのWebアプリケーションは、1つのリソースだけでなく、ドメイン全体のすべてのリソースに対して、(外部データベースプログラムの呼び出しを除いて)要求/応答サイクル全体を処理する単一の大きなモノリシックな長時間実行プロセスとして構築されています。 これは主に、Webリクエストへの動的応答を構築するために外部プログラムのコレクションにパイプアウトすることで、プロセスの起動時のオーバーヘッドが多すぎるためですか?RubyまたはPythonスクリプトにパイプアウトしたい場合、これがどのように見えるかがわかりますが、おそらくコンパイル可能なHaskellのような言語を使用している場合、Webアプリの構築におけるUnix哲学に従うための実際の障害はなくなりますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.