เหตุใดไดเร็กทอรี / usr และ / tmp สำหรับ Linux ที่พลาดเสียงสระในการสะกดคำ


34

ฉันมักจะเริ่มคิดเกี่ยวกับเรื่องนี้ แต่ไม่เคยพบคำตอบที่ดี เหตุใดไดเรกทอรี Unix ทั้งสองนี้จึงไม่/userและ/tempแทน?

ทั้งหมดไดเรกทอรีอื่น ๆ ภายใต้rootดูเหมือนจะเป็นสิ่งที่ใครจะคิดว่าพวกเขาจะมี แต่สองคนนี้ดูแปลกผมจะเดาได้เสมอพวกเขาเป็นและusertemp

มีเหตุผลทางประวัติศาสตร์สำหรับการสะกดคำหรือไม่?


2
มีบางอย่างบอกฉันว่ามันคือสิ่งที่สืบทอดจาก Unix จากสมมติฐานนั้นฉันเดาว่าการตัดทอนส่วนใหญ่นั้นอิงจากพยางค์ที่สำคัญ
Ken

17
ครั้งหนึ่ง Ken Thompson ถูกถามว่าเขาจะทำอะไรที่แตกต่างออกไปหรือ
เปล่า

3
"ไดเรกทอรีอื่น ๆ ภายใต้รูทดูเหมือนจะเป็นสิ่งที่ใคร ๆ จะคาดเดาว่าจะเป็น" -> นั่นไม่จริงสำหรับฉัน ยกเว้นสำหรับboot, home, mediaและrootทุกอย่างอื่นจะสั้นลง mntยังขาดเสียงสระ
phunehehe

7
ฉันคิดว่า 'u' เป็นเสียงสระ ...
นาย Shickadance

1
@นาย. Shickadance: มันคือ
0xC0000022L

คำตอบ:


49

ใช่มีเหตุผล พวกเขาเป็นผู้ใช้และอุณหภูมิที่เด่นชัด passwd คล้ายกันเช่นเดียวกับ resolv.conf Unix เป็นระบบปฏิบัติการที่เป็นมิตรและเป็นมิตรกับผู้ใช้

ฉันเป็นนักเรียนเมื่อโมเด็ม 300 Baud เป็นบรรทัดฐาน ฉันอิจฉาเพื่อนนักเรียนของฉันเนื่องจากฉันมีเทอร์มินัล Silent 700 จากข้อมูลการควบคุมที่ฉันทำงานอยู่ คุณสามารถเห็นความล่าช้าจากการพิมพ์ตัวละครแต่ละตัวและรอให้มันสะท้อนออกมา ตัวละครทุกตัวนับ ฉันก็เห็นว่ามันเป็นอุปถัมภ์การเริ่มต้นของ leet พูด

hjkl จาก vi มีประวัติที่ไม่ค่อยมีใครรู้ vi ได้รับการพัฒนาโดย Bill Joy เมื่อเขาเป็นนักเรียนที่จบการศึกษาที่ UCB ในช่วงปีเดียวกันนี้ เทอร์มินัล ADM 3a ใน Cory Hall มีปุ่มลูกศรด้านบนตัวอักษรเหล่านั้น


22
ฉันไม่คิดว่าเมื่อออกแบบแนวคิดของการเป็น "ผู้เชี่ยวชาญที่เป็นมิตรผู้ใช้ที่เป็นปรปักษ์กัน" เป็นส่วนหนึ่งของเป้าหมาย แต่ทั้งหมดของผู้ใช้ที่เป็นผู้เชี่ยวชาญจึงไม่มีความแตกต่างที่มีความหมาย
mattdm

7
LOL "เป็นมิตรกับผู้ใช้และทดลองได้ง่าย" มันทำให้วันของฉัน +1!
โก้

5
แค่โน้ตเล็ก ๆ (ไม่ใช่การแก้ไขด้วยวิธีใด ๆ ) แม้ว่าบางครั้งมันจะออกเสียงว่า "ผู้ใช้" / usr ย่อมาจาก "universal system resource" หรือ "unix system resource" ไม่ว่าจะเป็นอะไรก็ตามมันจะหายไปท่ามกลางสายหมอกแห่งประวัติศาสตร์โบราณของ Unix :)
luis.espinal

20
ในเวลา / usr ถูกประกาศเกียรติคุณความหมายของมันคือผู้ใช้และโฮมไดเรกทอรีตั้งอยู่ที่นั่น ทรัพยากรระบบ unix / universal เป็น backronym
jlliagre

2
เมื่อ Unix ออกมา 300 bps เป็นที่เขียวชอุ่ม มีลิงก์ 75 bps อยู่ที่นั่นจัดการโดยเครื่องโทรพิมพ์ดีดไฟฟ้าที่ช้าและช้า (มักจะTeletype® ASR-33)
Alexios

20

พวกเขาครอบครองจาก Unix หน่วยความจำและพื้นที่ดิสก์ไม่เพียงพอ การแฮ็กสระสองสามตัวและตัวย่ออื่น ๆ ช่วยประหยัดเงินได้จริง บล็อกดิสก์สองสามหรือสองสามไบต์อาจหมายถึงความแตกต่างในการเรียกใช้โปรแกรมหรือไม่ (ฉันเคยต้องตัดแต่งโปรแกรม 24 ไบต์ก่อนที่มันจะทำงาน)

ทอมก็สังเกตเห็นว่าความเร็วเทอร์มินัลก็ช้าเช่นกัน 1200 baud ถูกนำมาใช้เป็นความเร็วสูงและมันก็เป็น ฉันทำงานกับระบบเดียวที่ใช้โทรศัพท์ครึ่งความเร็ว (55 baud หรือ 5 cps) เป็นคอนโซล

ในระบบที่ใช้ส่วนต่อประสานกราฟิกนั้นโดยทั่วไปไม่สำคัญว่าผู้ใช้โดยเฉลี่ยจะไม่สนใจสิ่งเหล่านี้ ไดเรกทอรีมักจะมีเอกสารที่ดีในhierหน้าคน

การเปลี่ยนเป็นชื่อที่ยาวขึ้นจะทำให้เกิดปัญหามากมายสำหรับโปรแกรมที่มีอยู่ มันจะ จำกัด การพกพาสคริปต์ การลิงก์หลายชื่อกับไดเรกทอรีเดียวกันอาจทำให้สับสนมากกว่ามีประโยชน์

แก้ไข: PDP-7 ที่ Unix ได้รับการพัฒนามีการกำหนดค่าพื้นฐานของ 4KW ของหน่วยความจำและสูงสุด 32KW คำที่กว้าง 18 บิต อินพุตเป็นโทรพิมพ์ดังนั้นความเร็วจึงน่าจะเป็น 110 baud หรือ 10cps โดยประมาณ 100 คำซึ่งช้ากว่าการพูดอย่างมาก


8
ฉันไม่ซื้อ mmory nd dsk spc แต่ช้า tltyps ตราบใดที่คุณมีตัวย่อ - ทำไมไม่?
ผู้ใช้ไม่ทราบเมื่อ

ไม่ทราบ @ ผู้ใช้: แล้วคุณยังเด็กและไม่ต้องกังวลเกี่ยวกับหน่วยความจำหรือพื้นที่ดิสก์ คอมพิวเตอร์เครื่องแรกของฉันอายุ 30 ปีแล้ว - ทึ่งกับรายละเอียด

1
ฉันไม่เคยเขียนหรือตรวจสอบระบบไฟล์ในเชิงลึก แต่ชื่อของไฟล์ / ไดเรกทอรีในระบบไฟล์นั้นใช้พื้นที่มากหรือน้อยขึ้นอยู่กับ 1 ตัวอักษรหรือไม่? ไฟล์เหล่านั้นจะมีขนาดที่หลากหลาย - วันนี้ 4k ดังนั้นไฟล์ส่วนใหญ่ที่มีเส้นทางไปยัง / usr / หรือ tmp eจะไม่ได้อย่างมีประสิทธิภาพได้รับมีขนาดเล็กหรือใหญ่ขึ้นอยู่กับความเป็นหนึ่งเดียว ดี - บางครั้งพวกเขาจะทำและจากนั้นพวกเขาก็เติบโตขึ้นเพื่อบล็อกทั้งหมด แต่ไม่ค่อยมี และใน RAM? ฉันไม่รู้
ผู้ใช้ที่ไม่รู้จัก

1
และมันน่ารำคาญกว่าที่จะพิมพ์ "temporary vs tmp" เอ่อ ... ทำไมทุกคนถึงต้องการมันอีกต่อไป?
xenoterracide

4
ไดเร็กทอรี Unix สมัยใหม่มีรายการที่มีความยาวผันแปรได้ ย้อนกลับไปใน Research Unix รายการไดเร็กทอรีคือ 16 ไบต์คงที่: 14 สำหรับชื่อไฟล์ 2 สำหรับหมายเลขไอโหนด และอาจมีขนาดเล็กลงเมื่อ / usr ฯลฯ ถูกทำให้เป็นนักบุญ
geekosaur

5

ฉันประหลาดใจที่ไม่มีใครมีความเห็นเกี่ยว/userเลย อันนี้ชัดเจน: เนื่องจากไม่ใช่ "ผู้ใช้" เป็น "Universal System Resources"

สำหรับ/tmpมันสั้นและง่ายกว่าในการพิมพ์ โปรแกรมเมอร์ C มีนิสัยใช้ชื่อสั้น ๆ เมื่อเป็นไปได้เพราะท้ายที่สุดพวกเขาก็พิมพ์โปรแกรมหลายครั้ง เป็นเรื่องธรรมดามากที่มีตัวแปรชั่วคราวชื่อ "tmp" แทนที่จะเป็น "temp" ด้วยเหตุผลเดียวกันคุณใช้ "i" i สำหรับดัชนีใน a for loop แทน "index" หรือ "counter"


22
ในเวลา / usr ถูกประกาศเกียรติคุณความหมายของมันคือผู้ใช้และโฮมไดเรกทอรีตั้งอยู่ที่นั่น ทรัพยากรระบบ unix / universal เป็น backronym
jlliagre

3
@jlliagre ยอดเยี่ยม ฉันพบกระทู้อื่นที่มีแหล่งข้อมูลที่เชื่อถือได้จริง us.generation-nt.com/answer/…
Shawn J. Goff

2
โปรแกรมเมอร์ C ยุคแรกส่วนใหญ่เป็นโปรแกรมเมอร์คนแรกของ FORTRAN วิธีที่คุณพิมพ์จำนวนเต็มใน Fortran IV คือเริ่มตัวระบุด้วยอักขระจาก 'i' ถึง 'n' ทุกอย่างเป็นหมายเลขจริง ดังนั้นดัชนีการวนซ้ำมักจะเป็น i, j หรือ k; ซึ่งก็เพียงพอแล้วสำหรับเมทริกซ์ที่โปรแกรมเมอร์ทางวิทยาศาสตร์ของเรากำลังสร้างปัญหา
Tom Murphy

@ TomMurphy คนส่วนใหญ่ที่เริ่มต้นด้วย C อาจเป็นโปรแกรมเมอร์ภาษาแอสเซมบลีหรืออาจเป็นผู้ใช้ BCPL หรือ B RATFORถูกคิดค้นขึ้นสำหรับคนจนที่ไม่มีภาษาที่เหมาะสม และหนังสือ Kernighan และ Plaugher "เครื่องมือซอฟต์แวร์" ถูกเขียนใน (และแสดงรายการตัวประมวลผลล่วงหน้าแบบเต็มสำหรับ) RATFOR ยังคงคุ้มค่าต่อการอ่าน
vonbrand

1
/usrไม่ใช่ "Universal System Resources" แต่เป็นผู้ใช้จริง ๆ ดูyoutube: AT & T Archives: ระบบปฏิบัติการยูนิกซ์ (ผลิตรอบ 1982) ที่ประมาณ 13min 35sec, /usr/bwkเด่นชัดอย่างชัดเจน "ใช้ BWK" และ/usrที่เด่นชัดคือ "เฉือนผู้ใช้" โดยไบรอัน W. Kernighan / usr ยังบอกเป็นนัยว่าเป็นตำแหน่งที่มีโฮมไดเร็กตอรี่ในไดอะแกรมที่ 13 นาที 30 วินาที ฉันไม่คิดว่าคุณจะได้รับอำนาจมากไปกว่านั้น
CVn

4

ปัจจัยที่ไม่มีใครพูดถึงคือเมื่อใช้เทคโนโลยีคีย์บอร์ดในเวลานั้นมีข้อได้เปรียบอย่างมากในการใช้ชื่อย่อที่พิมพ์ได้ง่ายกว่า การพิมพ์userกับusrแม้แต่โทรพิมพ์ 110-BPS อาจไม่ใช่เรื่องใหญ่อะไร การพิมพ์ตัวอักษรพิเศษนั้นอาจมีความสำคัญมากกว่า


1

ไดเรกทอรีอื่น ๆ ทั้งหมดภายใต้รูทดูเหมือนจะเป็นสิ่งที่ใคร ๆ จะคาดเดาได้

นอกจากนี้ยังมี / var, / mnt และ / opt;)

แต่ทั้งสองดูเหมือนแปลกฉันจะเดาพวกเขาเสมอในฐานะผู้ใช้และอุณหภูมิ

เกือบจะมี. ดังที่ Shawn กล่าวว่า "ผู้ใช้" หมายถึง "Universal System Resources" (ถึงแม้ว่าทรัพยากรอื่น ๆ ตามgoogleจะระบุว่าเป็น "Unix System Resources")

มีเหตุผลทางประวัติศาสตร์สำหรับการสะกดคำหรือไม่?

ทางลัดตัวย่อ โปรดจำไว้ว่าคำสั่งในระบบปฏิบัติการใด ๆ มีไว้สำหรับการเข้าถึงทั้งแบบโต้ตอบและแบบเป็นโปรแกรม โดยเฉพาะอย่างยิ่งสำหรับการดูแลระบบที่การเขียนสคริปต์อย่างรวดเร็วเป็นหนึ่งในความกังวลหลักตัวย่อคำย่อช่วยจำได้ดี (หรือดีกว่า) กว่าคำ / คำที่สะกดแบบเต็ม

ถ้าคุณกำลังเชื่อมต่อจากระยะไกลผ่านโมเด็มที่ช้าเหมือนกากน้ำตาลโกนหนวดสักสองสามใบที่นี่และจะทำให้ชีวิตของคุณง่ายขึ้น (หรือทุกข์น้อยลงถ้าคุณเป็นผู้ดูแลระบบที่พยายามค้นหาว่านรกคืออะไร ผิดกับกล่องรีโมต)

ดังกล่าวก่อนหน้านี้มันไม่ซ้ำกับ / usr และ / tmp (ดู / var, / mnt และ / opt)

นอกจากนี้มันไม่ได้เป็นเอกลักษณ์ของ Unix ยกตัวอย่างเช่น DOS (chkdsk เป็นต้น) Mnemonics ที่คุณกำจัดสระเป็นแนวคิดที่ทรงพลังและมีประโยชน์

แม้ในภาษาธรรมชาติ (เช่นภาษาเซมิติก) แนวคิดก็มีอยู่ (ซึ่งรากของคำนั้นครอบคลุมและเกือบจะคลุมเครือโดยกลุ่มพยัญชนะ 3 ตัว) มันเป็นกลไกของมนุษย์โดยกำเนิดในการจัดการข้อมูล


กระบวนการ / var, / mnt และ / opt มาจำนวนมากในภายหลัง อย่างไรก็ตาม, / bin, / dev, และ / etc อยู่ในช่วงต้นของ UNIX และด้วยเหตุผลเดียวกันกับที่ผู้คนกล่าว - เพราะ ttys ช้าและไม่ใช่ทั้งหมดคือ CRT และพื้นที่ดิสก์ มีระบบบูต UNIX อยู่ข้างนอกโดยใช้เทปกระดาษไดรฟ์ราคาแพงขนาดเล็ก (พื้นที่ฉลาด) และแม้กระทั่งฟล็อปปี้ขนาด 8 นิ้วพื้นที่สำหรับผู้ใช้ระดับพรีเมี่ยม
Arcege

1
อาจเป็นที่ถกเถียงกันอยู่ว่าภาษาเซมิติกไม่ได้ใช้พยัญชนะ แต่พยางค์ที่มีสระไม่แน่นอน ดังนั้นรูตพยางค์จะให้ความหมายเชิงความหมายในขณะที่เสียงสระที่เฉพาะเจาะจงจะเพิ่มความหมายทางไวยากรณ์
ninjalj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.