Sebenarnya, dia kemungkinan besar tidak bermaksud apa yang dia katakan: dia mungkin berarti bahwa dia akan mengeja creatdengan dua e - setelah semua, satu sudah ada. Tentu saja, pesan tersirat adalah bahwa UNIX ternyata seperti yang seharusnya tanpa perubahan substansial hanya membutuhkan perbaikan salah ketik ini.
Dietmar Kühl
Jawaban:
56
Ini adalah panggilan sistem Unix yang membuat file: Pada prompt Unix shell, ketik man 2 creatuntuk mempelajari lebih lanjut.
Bukan hanya dia mengacu pada man 2 creatpanggilan sistem. Dia juga mengacu pada tren usang untuk menghemat setiap karakter kecil, di mana mungkin, kadang-kadang ini hanya membingungkan, terutama sekarang, ketika mengetik dan menyimpan karakter lain jarang menjadi kendala.
Saya pikir dalam konteks pertanyaan dia hanya merujuk ke creat (). Maksudnya adalah tidak ada apa-apa tentang Unix yang akan dia lakukan secara berbeda kecuali untuk kesalahan ejaan kecil dalam pemanggilan sistem untuk membuat file.
15
@ jmucchiello, ini bukan kesalahan pengejaan. Ini adalah singkatan yang disengaja (meskipun tidak standar). Ini cocok dengan penggunaan berat singkatan seperti fcntl, ls, mv, dll, pada umumnya.
Matthew Flaschen
6
Setuju, tapi saya suka abbrvtns itu bahkan ketika kami memiliki TB untuk disimpan :)
tgkprog
2
Kunci teletype sulit ditekan. Itu bermanfaat untuk menyimpan beberapa surat. Yang pertama yang bisa dihilangkan adalah vokal dan konsonan berlebihan.
Erkin Alp Güney
24
Ini mengacu pada panggilan sistem UNIX untuk membuat file baru. Linker pada beberapa mesin terbatas pada pengidentifikasi paling banyak 6 karakter. Rupanya, Ken harus bekerja dengan penghubung seperti itu dan karenanya system call create disingkat menjadi creat agar sesuai dengan batasan ini. Ironisnya, buat itu juga.
Batas 6 karakter diterjemahkan menjadi 5, sebagai kompiler (untuk menghindari simbol pengguna berbenturan dengan kompiler yang dihasilkan) '_'sebelum menambahkan variabel / nama fungsi pengguna, dan berhati-hati untuk tidak menggunakan '_'saat membuat simbol.
vonbrand
3
@vonbrand: Namun, sepertinya itu tidak menjelaskan bagaimana unlinkatau umountbisa ada, yang menurut saya kontemporer creat.
Dolda2000
@ Dolda2000 Yah, sangat mungkin linker memiliki batasan ini, sedangkan kompiler tidak. Jadi umountakan berbenturan dengan umounatau umounxatau apa pun, tetapi nama itu akan diizinkan. Tapi itu spekulasi murni :)
Luaan
23
Saya terlambat enam tahun untuk menjawab, tetapi saya percaya bahwa jawaban yang ada semuanya kehilangan inti dari kutipan Thompson.
Saya akan mengejanya dengan 'e'.
Ken Thompson tidak meratapi nama fungsi yang digunakan untuk membuka dan mungkin membuat file. Sebaliknya, ia menyatakan bahwa Unix dilakukan dengan benar, yaitu tidak ada hal besar yang seharusnya dilakukan secara berbeda.
The halus titik adalah bahwa arsitektur Unix adalah suara, dan implementasi baik-baik saja. Orang perlu bikeshed untuk menemukan sesuatu untuk ditingkatkan di Unix. Dengan demikian, jelas nitpick tentang nama panggilan sistem yang umum.
Benar, dia ingin memberi tahu kami, bahwa arsitektur UNIX dapat ditingkatkan dalam aspek yang sangat kecil. Tetapi pada dasarnya UNIX telah melakukannya dengan benar. BTW. creatadalah panggilan sistem bukan perintah CLI.
creat
dengan dua e - setelah semua, satu sudah ada. Tentu saja, pesan tersirat adalah bahwa UNIX ternyata seperti yang seharusnya tanpa perubahan substansial hanya membutuhkan perbaikan salah ketik ini.Jawaban:
Ini adalah panggilan sistem Unix yang membuat file: Pada prompt Unix shell, ketik
man 2 creat
untuk mempelajari lebih lanjut.Halaman manual juga tersedia online hari ini:
creat(2)
creat(3p)
.sumber
Bukan hanya dia mengacu pada
man 2 creat
panggilan sistem. Dia juga mengacu pada tren usang untuk menghemat setiap karakter kecil, di mana mungkin, kadang-kadang ini hanya membingungkan, terutama sekarang, ketika mengetik dan menyimpan karakter lain jarang menjadi kendala.sumber
fcntl
,ls
,mv
, dll, pada umumnya.Ini mengacu pada panggilan sistem UNIX untuk membuat file baru. Linker pada beberapa mesin terbatas pada pengidentifikasi paling banyak 6 karakter. Rupanya, Ken harus bekerja dengan penghubung seperti itu dan karenanya system call create disingkat menjadi creat agar sesuai dengan batasan ini. Ironisnya, buat itu juga.
Lihat juga: Apa arti perintah ke-9?
sumber
'_'
sebelum menambahkan variabel / nama fungsi pengguna, dan berhati-hati untuk tidak menggunakan'_'
saat membuat simbol.unlink
atauumount
bisa ada, yang menurut saya kontemporercreat
.umount
akan berbenturan denganumoun
atauumounx
atau apa pun, tetapi nama itu akan diizinkan. Tapi itu spekulasi murni :)Saya terlambat enam tahun untuk menjawab, tetapi saya percaya bahwa jawaban yang ada semuanya kehilangan inti dari kutipan Thompson.
Ken Thompson tidak meratapi nama fungsi yang digunakan untuk membuka dan mungkin membuat file. Sebaliknya, ia menyatakan bahwa Unix dilakukan dengan benar, yaitu tidak ada hal besar yang seharusnya dilakukan secara berbeda.
The halus titik adalah bahwa arsitektur Unix adalah suara, dan implementasi baik-baik saja. Orang perlu bikeshed untuk menemukan sesuatu untuk ditingkatkan di Unix. Dengan demikian, jelas nitpick tentang nama panggilan sistem yang umum.
sumber
creat
adalah panggilan sistem bukan perintah CLI.