Unixの作成者であるケン・トンプソンは、一度やり直したいのならどうするか尋ねられました。彼は、「クリエイトを「e」で綴るだろう」と言った。
ケンは何を指していますか?「作成」コマンドはありますか?
Unixの作成者であるケン・トンプソンは、一度やり直したいのならどうするか尋ねられました。彼は、「クリエイトを「e」で綴るだろう」と言った。
ケンは何を指していますか?「作成」コマンドはありますか?
回答:
ファイルを作成するのは、Unixシステムコールです。Unixシェルプロンプトで、入力man 2 creat
して詳細を確認します。
最近、マニュアルページもオンラインで利用できます。
彼はman 2 creat
システムコールに言及するだけではありません。彼はまた、可能であればすべての小さなキャラクターを節約する時代遅れの傾向について言及しています。これは、特に今では別のキャラクターを入力して保存することがほとんど障害にならないときに混乱するだけです。
fcntl
、ls
、mv
一般的には、など。
新しいファイルを作成するためのUNIXシステムコールを指します。一部のマシンのリンカーは、最大6文字の識別子に制限されていました。どうやら、ケンはそのようなリンカを使用する必要があったため、この制限に合わせてcreateシステムコールがcreatに短縮されました。皮肉なことに、作成者も同じです。
関連項目:第9戒はどういう意味ですか?
'_'
ユーザー変数/関数名の前に、と使用しないように注意した'_'
シンボルを生成するとき。
unlink
またはumount
存在する可能性があるのかを説明していないようですcreat
。
umount
と衝突でしょうumoun
かumounx
または何が、名前が許可されます。しかし、それは純粋な憶測です:)
私は答えるのに6年遅れていますが、現存の答えはすべてトンプソンの引用のポイントを見逃していると思います。
私は「e」でcreatを綴ります。
ケントンプソンは、ファイルを開いたり、場合によっては作成したりするために使用される関数の名前を嘆いていません。むしろ、彼はUnixが適切に行われたことを表明しています。つまり、別の方法で行われるべき主要なものは何もありません。
微妙な点は、Unixのアーキテクチャは健全であるということである、と実装は大丈夫です。Unixで改善するものを見つけるには自転車に乗る必要があります。したがって、一般的なシステムコールの名前についての明らかな問題です。
creat
CLIコマンドではなくシステムコールです。
creat
して2「E年代-結局、1はすでに存在しています。もちろん、暗黙のメッセージは、この[1]タイプミスを修正するだけで大きな変更をせずにUNIXが意図された方法になったということです。