Unix Legendry (และ * ระวังอื่น ๆ เช่นกัน)


12

นี่คือคู่ของคำถามนี้

คำตอบที่คลุมเครือมากที่สุดจะได้รับคะแนนโหวต!

ระบบ Unix และ Unix ที่เหมือนกันส่วนใหญ่มี "ประวัติดั้งเดิม" ที่สืบทอดกันมาในแต่ละรุ่นเพื่อให้ผู้มาใหม่สามารถเห็นและเข้าใจบางส่วนของระบบที่ลึกลับยิ่งขึ้น ผู้ดูแลระบบ * * * * * * * * * * * * * * * * * * ผู้ดูแลระบบระวังมีส่วนร่วมในการเป็น "ตำนาน" ของ "UNIX" เท่าที่ความรู้ลึกลับที่ผู้ดูแลระบบใหม่ควรจะสัมผัส


2
ควร wiki นี้ methinks
squillman

ฉันจะในเวลาที่ดี ;) ความจริงจะบอกฉันได้ทำหลายวิกิบริสุทธิ์เล่นและถ้ามีแม้แต่คำใบ้ของคะแนนเสียงที่จะได้รับ, ไม่มีใครจะมา อย่างจริงจังมันทำงานด้วยวิธีนี้ทุกครั้งโดยไม่ล้มเหลว ผู้คนจะไม่ใส่รายการสำหรับวิกิเว้นแต่จะเป็นเรื่องไร้สาระที่ไม่เกี่ยวข้องกับงาน (เช่น sysadmin การ์ตูนที่ชื่นชอบ ฯลฯ )
Avery Payne

2
ฉันสังเกตเห็นสิ่งที่ "ไม่มีใครแสดงความคิดเห็นในวิกิ" มันแปลกมาก ผู้คนเล่นเซิร์ฟเวอร์ผิดปกติเหมือนเป็นวิดีโอเกม โง่.
แมตต์ซิมมอนส์

1
ฉันสังเกตเห็นเช่นกัน แต่ (IMHO) ไม่ได้หมายความว่าเราควรส่งเสริมตัวแทนการขาย ... แจ้งให้เราทราบเมื่อคุณนำเมตาไปที่เมตาพวกเขามาพร้อมกับเปลวไฟที่ดีงาม (เชื่อฉัน) คุณจะได้รับมัน) :)
squillman

1
ฉันเกลียดที่จะพูด ... แต่ฉันคิดว่าควรจะมีการประนีประนอม ข้อสังเกตทั่วไปของฉันคือถ้าคุณไปถึง "มวลวิกฤต" คุณสามารถเปลี่ยนเป็นวิกิและคำถามจะรวบรวมคำตอบต่อไป ดังนั้นฉันสงสัยว่าถ้าคุณตั้งค่าสถานะของ wiki บางทีมันควรจะรอคำตอบที่เพียงพอในการเริ่มต้นคำถามและอาจใช้เวลานานกว่ากำหนด 3 ชั่วโมงพูดถึงเรื่องนี้โดยอัตโนมัติ นี่คือการประนีประนอมที่ดีความสมดุลระหว่างการให้รางวัลคนที่เต็มใจจะเริ่มกระบวนการและทำให้เป็นความพยายามของชุมชนบนพื้นฐานของการมีส่วนร่วม ไอเดีย? ความคิดเห็น?
Avery Payne

คำตอบ:


20

รายการโปรดส่วนตัวได้เสมอ "กรณีของอีเมล 500 ไมล์"

http://www.ibiblio.org/harris/500milemail.html

ผู้ทำให้เสื่อมเสีย

$ units
2411 units, 71 prefixes, 33 nonlinear units

You have: 3 millilightseconds
You want: miles
    * 558.84719
    / 0.0017893979

1
ว้าวฉันโพสต์สามคำตอบ แต่อันนี้ต้องเป็นผู้ชนะ!
HTTP500

+1 ใช่ฉันรักอันนี้ ยกเว้นคุณสะกดคำผิดโปรด (haha, jk)
squillman

@squillman ทุกอย่างที่โทลคีนโตขึ้น ;-)
faultyserver

@squilman - ไม่เขาไม่ได้ทำ นั่นคือการสะกดคำภาษาอังกฤษที่ถูกต้อง
Alnitak

@squilman ขึ้นอยู่กับว่าคุณเป็นคนแคนาดา (สี, รายการโปรด, เช็ค, ฯลฯ ) ;-)
KPWINC

11

สำหรับฉันสิ่งที่น่าทึ่งที่สุดเกี่ยวกับประเพณีของ UNIX คือ UNIX เขียนโดยผู้ชายคนหนึ่ง - Ken Thompson ขณะที่ Bell Labs มีเรื่องราวที่น่าสนใจเกี่ยวกับเรื่องนี้ที่สามารถพบได้ที่นี่: http://www.bell-labs.com/history/unix/

บางส่วนของคำพูดที่ล้ำค่าเพียง:

"ฉันจัดสรรแต่ละสัปดาห์ให้กับระบบปฏิบัติการเชลล์ตัวแก้ไขและแอสเซมเบลอร์เพื่อทำซ้ำตัวเอง ... " ธ อมป์สันอธิบาย

ท่อ:

อีกหนึ่งนวัตกรรมของ UNIX คือการพัฒนาไปป์ซึ่งทำให้โปรแกรมเมอร์มีความสามารถในการรวมกระบวนการต่าง ๆ เข้าด้วยกันเพื่อผลลัพธ์เฉพาะ

มันไม่ง่ายเลย “ มันง่ายมากที่จะพูดว่า 'แมวกลายเป็น grep เป็น ... ' หรือ 'ใครเป็นแมวเข้าไปใน grep' 'McIlroy อธิบาย "แต่มีพารามิเตอร์ด้านข้างทั้งหมดที่คำสั่งเหล่านี้มี แต่พวกมันไม่มีอาร์กิวเมนต์อินพุตและเอาต์พุต แต่มีตัวเลือกเหล่านี้ทั้งหมด"

ถึงแม้ว่าจะเป็นคนมีสติก็ตาม McIlroy ไม่ได้คิด "และในช่วงเวลาระหว่างปี 1970 ถึงปี 1972 ฉันจะพูดเป็นครั้งคราวว่า 'แล้วจะทำอะไรแบบนี้?' และฉันจะเสนอข้อเสนออีกข้อเสนอข้อเสนออีกข้อเสนอและวันหนึ่งฉันก็มาถึง ด้วยไวยากรณ์สำหรับเปลือกที่ไปพร้อมกับท่อและเคนพูดว่า 'ฉันจะทำมัน!' "

“ เขารู้สึกเบื่อหน่ายที่ได้ยินเรื่องนี้” McIlroy อธิบาย “ เขาไม่ได้ทำสิ่งที่ฉันเสนอให้กับการเรียกระบบท่อเขาคิดค้นสิ่งที่ดีกว่าเล็กน้อยซึ่งในที่สุดก็เปลี่ยนไปอีกครั้งกับสิ่งที่เรามีในวันนี้เขาใช้ไวยากรณ์ซุ่มซ่ามของฉัน”

"ทอมป์สันเห็นว่าการขัดแย้งกันของไฟล์ไม่เหมาะกับรูปแบบของสิ่งต่าง ๆ และเขาก็เข้ามาและเปลี่ยนแปลงโปรแกรมเหล่านั้นทั้งหมดในคืนเดียวกันฉันไม่รู้ว่า ... และในเช้าวันรุ่งขึ้นเรามีเรื่องประหลาดนี้ -liners."

" เขาใส่ท่อเข้าไปใน UNIX เขาใส่สัญลักษณ์นี้ลงในเปลือกหอยในคืนเดียว " McElroy กล่าวด้วยความสงสัย

ความเรียบร้อยทางเทคนิคนั้นสำเร็จเมื่อ Thompson สร้างท่อเขายังนำสิ่งอื่น ๆ มาสู่ UNIX ซึ่งเป็นปรัชญา

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


7
ดีที่สุด All-nighter เคย
Matt Simmons

8

tar ไม่เคยออกด้วยข้อผิดพลาด ไม่เคย ระวัง.

ที่มา: คู่มือ UNIX-HATERS หน้า 31 ( http://simson.net/ref/ugh.pdf ) ขออภัยไม่มีรุ่น HTML

หนังสือเล่มนี้เป็นหนังสือที่เต็มไปด้วยตำนานอื่น ๆ และส่วนใหญ่ยังคงใช้งานได้ ในช่วงเวลาหลายปีที่ฉันใช้งาน Linux ฉันได้พบกับ gotchas เหล่านี้มากมาย ... ไม่ได้เกี่ยวข้องกับไดรฟ์ทั้งหมดของฉันขอบคุณพระเจ้า มันน่าทึ่งสำหรับฉันที่หนังสือเล่มนี้ส่วนใหญ่ยังคงมีความถูกต้องแม้ว่าจะถูกเขียนขึ้นเมื่อ 15 ปีก่อน

และตอนนี้เรื่องราวสยองขวัญของทาร์ของฉันเกือบจะเป็นแบบจำลองที่แน่นอนของ UNIX-HATERS ข้อผิดพลาดเดียวกัน 14 ปีต่อมา!

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

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

โอ้อึ ฉันเพิ่งพิมพ์ -cvf แทนที่จะเป็น -xvf หรือไม่?

ได้.

tar เพิ่งสร้างไฟล์ tar ของขยะสุ่มสร้างไฟล์ที่ใช้งานได้หรือไม่

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

สุจริตอะไรขึ้นอยู่กับอาร์กิวเมนต์บรรทัดคำสั่งที่เข้ารหัสลับและโปรแกรม linux? พวกเขาไม่สามารถดำเนินการพื้นฐานโดยอัตโนมัติเมื่อเรียกใช้ไฟล์ที่มีนามสกุลที่เหมาะสม ทำไมในไฟฉันต้องบอก tar ว่าจะทำอย่างไรกับ ARCHIVE? คิดว่าฉันอาจต้องการเก็บมันอีกครั้งหรือไม่

ฉันคิดว่าในที่สุดฉันก็เข้าใจว่า 'หลุมบ่อ' คืออะไรในตอนนี้ มันเป็นสถานที่ที่จะไปตาย


1
ว้าว. เพียงแค่ ... ว้าว โอกาสใด ๆ ที่คุณสามารถแก้ไขได้อีกครั้งด้วยลิงก์ในนี้
Avery Payne

4
Come on, ข้อผิดพลาดจะหมายความว่า tar ล้มเหลว คุณก็ควรจะระบุความจริง ... tar ไม่เคยล้มเหลว ;-)
แมตต์ซิมมอนส์

เพิ่มลิงก์รวมถึงความเห็นเพิ่มเติม ในฐานะที่เป็นข้อความด้านข้างฉันจริง ๆ แล้วซื้อ MSI Wind ของฉันใช้จ่ายเพิ่มอีก 350 $ เพื่อให้ฉันไม่ต้องใช้ Linux หากฉันไม่รู้สึกว่ามันชอบ เรื่องนี้เป็นหนึ่งในเหตุผลหลายประการ
SilentW

ทุกวันนี้คุณทำอะไรเพื่อหลีกเลี่ยงข้อผิดพลาดของ tar ชนิดนี้หรือไม่? ถ้าเป็นเช่นนั้นคุณจะมีคำตอบใด ๆ สำหรับstackoverflow.com/questions/1122977/...
แอนดรูกริมม์

7

เข้าสู่ระบบด้วยตัวพิมพ์ใหญ่ทั้งหมด

http://utcc.utoronto.ca/~cks/space/blog/unix/UnixFossilizationExample

การบริหารทรัพยากรมนุษย์ ฉันกลัวว่าฉันอาจเข้าใจผิดคำถาม :-)

แต่ฉันออกจากลิงก์เพราะฉันคิดว่ามันน่าสนใจ!


ที่จริงแล้วคำตอบคือจุดบน; ความตั้งใจของคำถามคือการรวบรวมความลับ (เหมือนคำถามพี่น้อง) จากประสบการณ์ของคนหลายคน
Avery Payne

6

เดิมสัญลักษณ์ท่อเป็น ^

รหัสลบเดิมคือ #

คีย์ "kill" ดั้งเดิม (ลบทุกอย่างบนบรรทัด) คือ @

ถ้าคุณเคยเข้าสู่ระบบเก่าระบบและดูเหมือนจะไม่สามารถพิมพ์ความคิดเห็นหรือที่อยู่อีเมล stty กลายเป็นเพื่อนของคุณ

นี่คือตัวอย่างเซสชั่นการเข้าสู่ระบบครั้งที่ 7 ที่ผู้สร้างบันทึกมีความสง่างามพอที่จะเรียกใช้ stty .. นอกจากนี้ตามที่กล่าวไว้ที่นี่มันบอกว่า "วิธีการระบุบอร์นเชลล์แบบดั้งเดิม? 1 การตรวจสอบง่าย ๆ คุณสามารถใช้หมวกวงล้อม ^ (คาเร็ต) แทน | (pipe) "


1
น่าสนใจ แหล่งข้อมูลใดสำหรับการอ่านเพิ่มเติม
sleske



2

สิ่งหนึ่งที่ผู้มาใหม่กับลีนุกซ์จำนวนมากไม่รู้ก็คือผู้สร้าง Linux (Linus Torvalds) ยืมมาจากระบบปฏิบัติการ MINIX (เครื่องมือทางการศึกษา) ที่สร้างขึ้นโดยศาสตราจารย์ Andrew Tanenbaum: http://en.wikipedia.org /wiki/Andrew_S._Tanenbaum#MINIX

Linus และศ. Tanenbaum ยังถกเถียงกันในเรื่องความยาวข้อดี / ประโยชน์ของเคอร์เนลเสาหิน (Linux) เทียบกับ microkernel (MINIX, Solaris) การอภิปรายเป็นสาธารณะและสามารถพบได้ที่นี่: http://oreilly.com/catalog/opensources/book/appa.html

ไชโย


1
การถกเถียง Torvalds-Tanenbaum เป็นจริง :-) คลาสสิก
sleske


2

ทุกอย่างเป็นไฟล์หรือสามารถถือเป็น ... ยกเว้นผู้ใช้ยี้

ข้อผิดพลาดของบัสหมายความว่าคุณกำลังพยายามเรียกใช้ข้อมูลซึ่งถูกจัดเก็บในด้านข้อมูลของบัสแยกข้อมูล / โปรแกรมของ PDP / 11

Unix เป็น O / S เดียวที่ได้รับปฏิทินและนาฬิกาตั้งแต่ต้นเพียงเพราะนักดาราศาสตร์เป็นหนึ่งในผู้สร้าง (ความคิดเห็นพิเศษเครดิต: ชื่อนักเขียนเครดิตพิเศษพิเศษ: ชื่อผู้ชนะเหรียญโอลิมปิกในทีม UNIX)

ฟิลด์ GCOS ใน / etc / passwd ได้รับการตั้งชื่อตามระบบปฏิบัติการ GECOS และวางไว้ที่นั่นเพียงเพราะพวกเขาใช้เมนเฟรม GECOS เป็นเซิร์ฟเวอร์การพิมพ์ไปยัง Unix mini ดั้งเดิมและจำเป็นต้องใช้ข้อมูลเพื่อรับงานพิมพ์


1
และเครือข่าย ใครจะรู้ว่าพวกเขาสูบบุหรี่อะไรเมื่อสร้างเครือข่าย BSD ในรูปแบบ unix แต่มันไม่แน่ใจว่าเป็น unixy
chris

AT&T นำ Streams มาใช้เพื่อเป็น UNIXy API เครือข่ายที่มากขึ้นและใส่ Socket Socket Layer ไว้เพื่อความเข้ากันได้ จากนั้น BSD (4.4 ฉันคิดว่า) เพิ่ม Streams เป็น API เลเยอร์ความเข้ากันได้ที่เรียกว่า Sockets
kmarsh

1

สิ่งที่ไม่ตลกเลยที่ฉันทำกับ tar หนึ่งครั้งและน้ำมันดินที่ใช้เวลาหนึ่งสัปดาห์ในการทำงาน:

  1. tar zcf foo.tar.gz ...
    • บางครั้งในช่วงวันถัดไปเซสชั่นหน้าจอก็ปรากฏขึ้นบนหน้าจอของฉัน: <UP>
    • หนึ่งวันหรือมากกว่านั้นในภายหลัง: <enter>
    • น้ำมันดินเสร็จแล้วเดาว่าจะเก็บกุญแจไว้ในบัฟเฟอร์อะไรและเข้าสู่เชลล์ตัวที่สองหลังจากน้ำมันดินเสร็จสิ้น ...

การลงคะแนนในความคิดเห็นของพวกเขาสำหรับคนแรกที่จะอธิบายสิ่งที่เกิดขึ้น :-) คุณธรรมของเรื่องราวที่ทำงานในพื้นหลังของหน้าจอ

ที่ถูกกล่าวว่าฉันยังคงรัก * ห้าม ฉันไม่รังเกียจเมื่อสิ่งต่าง ๆ เกิดความสับสนเพราะมันเป็นความผิดของฉัน


มากขึ้นเพื่อตอบสนองต่อคำตอบ SilentW กว่าคำถามที่ตัวเอง :-)
ไคล์ Brandt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.