Mengapa direktori / usr dan / tmp untuk Linux melewatkan vokal dalam ejaannya?

34

Saya sudah sering mulai memikirkan hal ini tetapi tidak pernah menemukan jawaban yang baik. Mengapa kedua direktori Unix ini bukan /userdan /tempsebaliknya?

Semua direktori lain di bawah roottampaknya persis seperti yang orang duga, tetapi dua ini tampak aneh, saya akan selalu menebak mereka sebagai userdan temp.

Apakah ada alasan historis mengapa ejaan itu terjadi?

Lazer
sumber
2
Sesuatu memberi tahu saya bahwa ini adalah akumulasi dari Unix. Atas asumsi itu, saya kira sebagian besar pemotongan semacam itu didasarkan pada suku kata yang menonjol.
Ken
17
Suatu ketika, Ken Thompson ditanya apakah dia akan melakukan sesuatu yang berbeda jika dia mendesain ulang Unix, dan dia menjawab "" Saya akan mengeja kreator dengan huruf e. "
mattdm
3
"Semua direktori lain di bawah root tampaknya persis seperti yang diperkirakan orang" -> Itu tidak benar bagi saya. Kecuali boot, home, mediadan rootsegala sesuatu yang lain dipersingkat. mntjuga tidak memiliki vokal.
phunehehe
7
Saya pikir 'kamu' adalah vokal ...
Tn. Shickadance
1
@Bapak. Shickadance: benar.
0xC0000022L

Jawaban:

49

Yup ada alasannya. Mereka diucapkan pengguna dan temp. passwd serupa, seperti resolv.conf. Unix adalah sistem operasi yang antagonis dan ramah pengguna.

Saya adalah seorang mahasiswa ketika 300 modem Baud adalah norma. Saya iri pada teman-teman sekolah saya, karena saya punya terminal Silent 700 dari Control Data tempat saya bekerja. Anda dapat melihat penundaan dari pengetikan masing-masing karakter dan menunggu untuk digaungkan. Setiap karakter dihitung; Saya juga melihatnya mendorong awal leet berbicara.

Hjkl dari vi memiliki sejarah yang hanya sedikit yang tahu. vi dikembangkan oleh Bill Joy ketika ia masih menjadi mahasiswa pascasarjana di UCB selama tahun-tahun yang sama. Terminal ADM 3a di Cory Hall memiliki tombol panah di atas huruf-huruf itu

Tom Murphy
sumber
22
Saya tidak berpikir bahwa ketika dirancang ide menjadi "ramah ahli, antagonis pengguna" adalah bagian dari tujuan. Sebaliknya, semua pengguna adalah ahli, jadi tidak ada perbedaan yang berarti.
mattdm
7
LOL "Experty friendly, antagonis pengguna". Itu membuat hari saya. +1!
nico
5
Hanya catatan kecil (bukan koreksi dengan cara apa pun). Meskipun kadang-kadang diucapkan "user", / usr adalah singkatan dari "universal system resource" atau "unix system resource". Apa pun itu, ia telah hilang di tengah kabut sejarah kuno Unix :)
luis.espinal
21
Pada saat / usr diciptakan, artinya adalah direktori pengguna dan home berada di sana. sumber daya sistem unix / universal sebenarnya adalah backronym.
jlliagre
2
Saat Unix keluar 300 bps sedang subur . Ada 75 bps tautan di luar sana, ditangani oleh teletypewriter elektromekanis yang rumit, lambat (seringkali Teletype® ASR-33).
Alexios
20

Mereka adalah peninggalan dari Unix. Memori dan ruang disk tidak mencukupi. Meretas beberapa vokal dan singkatan lainnya memberikan penghematan nyata. Beberapa blok disk atau beberapa byte dapat berarti perbedaan untuk dapat menjalankan suatu program atau tidak. (Saya pernah harus memangkas program dengan 24 byte sebelum akan berjalan.)

Tom juga mencatat kecepatan terminal lambat. 1200 baud diperkenalkan dengan kecepatan tinggi dan benar. Saya bekerja dengan satu sistem yang menggunakan teletype setengah kecepatan (55 baud atau 5 cps) sebagai konsol.

Pada sistem yang menjalankan antarmuka grafis umumnya tidak masalah sebanyak rata-rata pengguna yang tidak akan melihat-lihat. Direktori biasanya didokumentasikan dengan baik di hierhalaman manual.

Mengubah ke nama yang lebih panjang akan menyebabkan banyak masalah untuk program yang ada. Ini juga akan membatasi portabilitas skrip. Menghubungkan banyak nama ke direktori yang sama kemungkinan akan lebih membingungkan daripada membantu.

EDIT: PDP-7 di mana Unix dikembangkan memiliki konfigurasi basis memori 4KW dan maksimum 32KW. Kata-kata di mana lebar 18 bit. Input adalah teletype, jadi kecepatan mungkin 110 baud atau 10cps, kira-kira 100 kata yang secara signifikan lebih lambat daripada ucapan.

BillThor
sumber
8
Saya tidak membeli mmory nd dsk spc, tetapi lambat tltyps. Selama Anda dapat menulis kronim - mengapa tidak?
pengguna tidak diketahui
@ pengguna tidak dikenal: Maka Anda masih muda dan tidak pernah perlu khawatir tentang memori atau ruang disk. Komputer pertama saya berusia 30 tahun sekarang - kagum dengan spesifikasi.
1
Saya tidak pernah menulis atau memeriksa sistem file secara mendalam, tetapi apakah nama file / direktori di sistem file menempati lebih banyak atau sedikit ruang, tergantung pada 1 karakter? File-file itu sendiri selalu menempati beberapa ukuran - hari ini 4k. Jadi sebagian besar file yang berisi path ke / usr atau / tmp tidak akan secara efektif menjadi lebih kecil atau lebih besar, tergantung pada satu file e. Yah - kadang-kadang mereka mau, dan kemudian mereka tumbuh secara keseluruhan, tapi jarang. Dan dalam RAM? Saya tidak tahu
pengguna tidak diketahui
1
dan itu akan lebih menyebalkan untuk mengetik. "temporary vs tmp" ugh ... kenapa ada yang mau lebih lama?
xenoterracide
4
Direktori Unix modern memiliki entri panjang variabel. Kembali di Research Unix, entri direktori adalah tetap 16 byte: 14 untuk nama file, 2 untuk nomor inode. Dan itu mungkin lebih kecil ketika / usr dll dikanonisasi.
geekosaur
5

Saya terkejut bahwa belum ada yang mengomentari /user. Yang ini jelas: karena itu bukan "pengguna", itu "Sumber Daya Sistem Universal".

Adapun /tmp, itu hanya lebih pendek dan lebih mudah untuk diketik. Pemrogram C memiliki kebiasaan menggunakan nama pendek bila memungkinkan karena mereka akhirnya mengetiknya berulang kali dalam suatu program. Sangat umum memiliki variabel sementara bernama "tmp" daripada "temp" untuk alasan yang sama, Anda menggunakan "i" i untuk indeks dalam for loop, bukan "index" atau "counter".

Shawn J. Goff
sumber
22
Pada saat / usr diciptakan, artinya adalah direktori pengguna dan home berada di sana. sumber daya sistem unix / universal sebenarnya adalah backronym.
jlliagre
3
@ jlliagre Luar Biasa. Saya menemukan utas lain yang sebenarnya memiliki sumber otoritatif untuk itu. us.generation-nt.com/answer/…
Shawn J. Goff
2
Kebanyakan programmer C awal adalah programmer FORTRAN pertama. Cara Anda mengetik bilangan bulat di Fortran IV adalah memulai pengenal dengan karakter dari 'i' ke 'n', yang lainnya adalah nomor NYATA. Dengan demikian indeks loop biasanya i, j, atau k; yang cukup untuk matriks kami programmer ilmiah yang hancur saat itu.
Tom Murphy
@ TomMurphy, kebanyakan orang yang memulai dengan C mungkin adalah programmer bahasa assembly, atau mungkin pengguna BCPL atau B. RATFOR diciptakan untuk jiwa-jiwa miskin yang tidak memiliki bahasa yang baik. Dan buku Kernighan dan Plaugher "Perangkat lunak" ditulis dalam (dan mencantumkan preprosesor penuh untuk) RATFOR. Masih sangat layak dibaca.
vonbrand
1
/usrbukan "Sumber Daya Sistem Universal", itu benar-benar pengguna . Lihat Youtube: AT&T Archives: Sistem Operasi UNIX (diproduksi sekitar 1982) di mana, sekitar 13 menit 35 detik, /usr/bwkdiucapkan dengan jelas "user-bwk" dan /usrdiucapkan "slash-user" oleh Brian W. Kernighan . / usr juga jelas tersirat menjadi lokasi yang berisi direktori home dalam diagram pada 13 menit 30dtk. Saya pikir Anda tidak bisa mendapatkan otoritas lebih dari itu.
CVn
4

Faktor yang tidak disebutkan oleh siapa pun adalah, mengingat teknologi keyboard saat itu, ada keuntungan besar dalam menggunakan nama pendek yang lebih mudah untuk diketik. Mencetak uservs. usr, bahkan pada teletype 110-BPS, mungkin bukan masalah besar; harus mengetikkan surat tambahan itu mungkin lebih penting.

Keith Thompson
sumber
1

Semua direktori lain di bawah root tampaknya persis seperti yang orang duga,

Ada juga / var, / mnt dan / opt;)

tetapi dua ini tampak aneh, saya akan selalu menebak mereka sebagai pengguna dan temp.

Hampir sampai. Seperti yang dikatakan Shawn, "pengguna" adalah singkatan dari "Universal System Resources" (meskipun sumber daya lain menurut google menunjukkan kependekan dari "Unix System Resources").

Apakah ada alasan historis mengapa ejaan itu terjadi?

Jalan pintas, singkatan. Ingatlah bahwa perintah dalam sistem operasi apa pun dimaksudkan untuk mengakses secara interaktif dan terprogram. Khususnya untuk administrasi sistem di mana skrip cepat adalah salah satu perhatian utama, singkatan, mnemonik sama baiknya (atau bahkan lebih baik) daripada kata / perintah yang dieja lengkap.

Juga, kembali pada hari itu, jika Anda menghubungkan jarak jauh melalui modem lambat sebagai molase, mencukur beberapa vokal di sana-sini akan membuat hidup Anda lebih mudah (atau kurang sengsara jika Anda seorang sysadmin berusaha mencari tahu apa-apaan salah dengan kotak remote.)

Seperti yang dikatakan sebelumnya, ini tidak unik untuk / usr dan / tmp (lihat / var, / mnt dan / opt).

Juga, ini tidak unik untuk Unix. Ambil DOS sebagai contoh (chkdsk, misalnya.) Mnemonik tempat Anda mencukur vokal adalah konsep yang kuat dan praktis.

Bahkan dalam bahasa alami (seperti bahasa Semit) ada konsep (di mana akar kata-kata secara universal dan hampir secara jelas diidentifikasi oleh kelompok 3-konsonan.) Ini adalah mekanisme manusia bawaan untuk mengelola informasi.

luis.espinal
sumber
/ Var, / mnt dan / opt datang JAUH kemudian. Namun, / bin, / dev, dan / etc berada di awal UNIX dan karena alasan yang sama orang menyatakan - karena ttys lambat dan tidak semua CRT dan ruang disk. Ada sistem boot UNIX di luar sana menggunakan pita kertas, drive mahal kecil (bijaksana-ruang) dan bahkan disket 8 ". Ruang bagi mereka yang di premium.
Arcege
1
Dapat dikatakan bahwa bahasa semitik tidak benar-benar menggunakan konsonan, tetapi suku kata dengan vokal tak tentu. Jadi, suku kata root memberikan makna semantik, sedangkan vokal spesifik menambah makna tata bahasa.
ninjalj