유닉스 전설 (및 기타 * nix)


12

이것이이 질문의 쌍둥이 입니다.

대부분의 모호한 / 답변 된 답변은 답변 투표를받습니다!

대부분의 유닉스와 유닉스 계열 시스템은 "전통적인 역사"를 가지고 있으며, 이는 각 세대와 함께 계승되어 새로운 사람들이 시스템의 좀 더 난해한 부분을보고 이해할 수 있도록합니다. 새로운 관리자가 노출되어야한다는 난해한 지식이 있다면, "UNIX"의 "Legendry"와 관련하여 오랫동안 * nix 관리자가 기여하는 것은 무엇입니까?


2
이, 그분들의 위키해야
squillman

좋은 시간에하겠습니다. ;) 진실은 몇 가지 순수 플레이 위키를 해왔으며, 투표에 대한 힌트가 없다면 아무도 오지 않을 것 입니다. 진지하게, 그것은 항상 이런 식으로 작동합니다. 사람들이 터무니없이 업무와 관련이없는 경우 (예 : 좋아하는 시스템 관리자 만화 등)를 제외하고는 Wiki에 출품하지 않습니다.
Avery Payne

2
나는 "위키에 아무도 언급하지 않았다"는 것을 알아 차렸다. 너무 기이합니다. 사람들은 비디오 게임처럼 서버 오류를 재생합니다. 우둔한.
Matt Simmons

1
나는 또한 그것을 알아 차 렸지만 (IMHO)는 우리가 담당자를 장려해야한다는 것을 의미하지는 않습니다 ... 메타로 가져 가면 저에게 아주 좋은 불꽃이 나옵니다. , 당신은 그것을 얻을 것이다) :)
squillman

1
나는 그것을 말하기 싫어하지만 ... 어떤 종류의 타협이 있어야한다고 생각합니다. 나의 일반적인 관찰은 만약 당신이 특정한 "중요한 질량"에 도달하면, 위키로 넘어갈 수 있고 그 질문은 계속해서 혼란스러워 질 것이라는 것이다. wiki 플래그를 설정하면 질문을 시작하기에 충분한 답변을 기다려야 할 수도 있고 사전 설정된 시간이 지난 후 (예 : 3 시간) 자동으로 wiki로 시작됩니다. 이것은 좋은 타협입니다. 프로세스를 기꺼이 시작하려는 사람들에게 보상하는 것과 기여를 기반으로하는 공동체 노력으로 만드는 것 사이의 균형입니다. 아이디어? 코멘트?
Avery Payne

답변:


20

개인적으로 가장 좋아하는 것은 "500-Mile 이메일의 사례"였습니다.

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
와우, 나는 3 개의 답변을 올렸지 만이 사람이 승자가되어야한다!
HTTP500

+1 예, 저는 이것을 좋아 합니다. 당신이 좋아하는 잘못된 (하하, JK)의 철자를 제외시켰다
squillman

@squillman 모든 Tolkien 자라 ;-)
faultyserver

@ squilman-아니, 그는하지 않았다. 이것이 올바른 영어 철자입니다.
Alnitak

@squilman 캐나다인에 따라 다릅니다. (색상, 즐겨 찾기, 수표 등) ;-)
KPWINC

11

저에게 유닉스 전통에서 가장 놀라운 점은 유닉스가 기본적으로 벨 랩스에있는 동안 켄 톰슨 (Ken Thompson)이라는 한 사람이 작성했다는 것입니다. 여기에서 찾을 수있는 흥미로운 계정이 있습니다 : http://www.bell-labs.com/history/unix/

따옴표 중 일부는 귀중한 것입니다.

"저는 운영 체제, 쉘, 편집기 및 어셈블러에 각각 1 주일을 할당하여 자체를 재현합니다 ..."라고 Thompson은 설명했습니다.

파이프 :

유닉스의 또 다른 혁신은 파이프의 개발로 프로그래머에게 특정 출력을 위해 여러 프로세스를 함께 묶을 수있는 능력을 제공했습니다.

쉽지 않았습니다. 맥 일로 이는“ '그녀의 고양이가 들어간 고양이', '누가 고양이를 잡아 먹는 사람'이라고 말하기는 매우 쉽다 "고 설명했다. "하지만 이러한 명령에는 이러한 측면 매개 변수가 있습니다. 입력 및 출력 인수는 없지만 이러한 모든 옵션이 있습니다."

McIlroy는 곤경에 빠졌지 만 아이디어를 포기하지 않았습니다. "그리고 1970 년에서 1972 년 사이에 나는 때때로 '이와 같은 것을 만드는 방법은 어떻습니까?'라고 말하고 또 다른 제안, 또 다른 제안, 또 다른 제안을 제안했습니다. 배관과 함께 제공된 껍질에 대한 구문으로 켄은 '내가 할거야!'

맥 일로 이는 "그는이 소식을 듣고 피곤했다"고 설명했다. "그는 파이프 시스템 호출에 대해 내가 제안한 것을 정확하게 수행하지 않았습니다. 그는 오늘날 우리가 한 번 더 변경 한 약간 더 나은 것을 발명했습니다. 그는 서투른 구문을 사용했습니다."

"톰슨은 파일 주장이이 계획에 맞지 않을 것을보고 같은 날 밤에 모든 프로그램을 변경했습니다. 나는 다음 날에 어떻게 ... 라이너. "

" 그는 유닉스에 파이프를 넣고 밤새이 표기법을 쉘에 넣었습니다 ."

톰슨이 파이프를 만들었을 때 기술적으로는 깔끔한 기술로 UNIX에 철학을 추가했습니다.

McIlroy가 설명했듯이, "모든 사람들이 내놓기 시작한 철학은 '한 가지 일을하고 잘 수행하는 프로그램을 작성하십시오. 함께 작동하는 프로그램을 작성하십시오. 이것이 보편적 인 인터페이스이기 때문에 텍스트 스트림을 처리하는 프로그램을 작성하십시오."


7
베스트. 밤새도록 이제까지.
매트 시몬스

8

tar는 절대 오류없이 종료되지 않습니다. 못. 조심하십시오.

출처 : UNIX-HATERS 핸드북, 31 페이지 ( http://simson.net/ref/ugh.pdf ) 죄송합니다. HTML 버전이 없습니다.

이 책은 다른 전설으로 가득 차 있으며 여전히 대부분 적용 가능합니다. 몇 년 동안 리눅스를 사용하면서, 나는 이러한 많은 문제를 겪었습니다. 내 전체 드라이브를 rming하는 것과 관련된 것은 아닙니다. 이 책이 15 년 전에 쓰여졌음에도 불구하고이 책의 많은 부분이 여전히 정확하다는 것은 놀랍습니다.

그리고 지금 내 자신의 타르 공포 이야기, 거의 UNIX-HATERS 복제의 복제품. 14 년 후 같은 버그!

eeepc에서 무선으로 작업하고 싶습니다. 드라이버를 다운로드하여 컴파일하고 설치해야합니다. 필요한 모든 것을 다운로드하고 작동하도록 라이브러리로 출발했습니다. 중간 쯤에, 나는 그렇습니다, 나는 무언가를 위해 인터넷이 필요하다는 것을 알고 있습니다.

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

젠장. 방금 -xvf 대신 -cvf를 입력 했습니까?

예.

tar가 사용 가능한 파일을 덮어 쓰면서 임의 가비지의 tar 파일을 자동으로 작성 했습니까?

예. 큰. 인터넷에 연결하지 않아도 될 것 같아요. 멀티 기가 바이트 파일이 아니었다는 것은 좋은 일입니다. 잠깐만 요, 일주일 전에 일어났습니다.

솔직히 말해서, 명령 행 인수와 리눅스 프로그램이 무엇입니까? 적절한 확장자를 가진 파일에서 호출 될 때 자동으로 기본 작업을 수행 할 수는 없습니다. 타르에게 ARCHIVE로 무엇을해야하는지 알려 주어야하는 이유는 무엇입니까? 다시 보관하고 싶을까요?

나는 '타르 피트'가 무엇인지 마침내 이해한다고 생각합니다. 파일이 죽을 장소입니다.


1
와. 그냥 ... 와우 이것에 대한 링크로 다시 편집 할 수 있습니까?
에이버리 페인

4
오류가 발생하면 tar가 실패했음을 의미합니다. 당신은 진실을 말해야합니다 ... 타르는 결코 실패하지 않습니다 ;-)
Matt Simmons

더 많은 논평과 함께 링크가 추가되었습니다. 부수적으로, 실제로 MSI Wind를 구입하여 350 달러를 추가로 소비했기 때문에 Linux가 마음에 들지 않으면 Linux를 사용할 필요가 없었습니다. 이 이야기는 많은 이유 중 하나입니다.
SilentW

이런 종류의 타르 오류를 피하기 위해 요즘 무엇을해야합니까? 그렇다면 stackoverflow.com/questions/1122977/…에
Andrew Grimm


6

원래 파이프 심볼 ^이었다

원래 삭제 키는 #

원래의 "kill"키 (라인의 모든 항목 지우기)는 @

이전 시스템에 로그온 한 후 주석이나 이메일 주소를 입력 할 수없는 경우 stty가 친구가됩니다.

이것은 로그를 작성하는 사람이 stty를 실행하기에 충분히 은혜로운 7 번째 로그인 세션의 예입니다. 또한 여기에 언급 된 것처럼 "전통적인 Bourne 쉘을 식별하는 방법은 무엇입니까?" circumflex ^ (캐럿)을 | (파이프) 대신 사용할 수 있습니다. "


1
흥미 롭군 더 읽을 거리가 있습니까?
sleske



2

Linux를 처음 접하는 많은 사람들이 모르는 것 중 하나는 Linux (Linus Torvalds) 제작자가 Andrew Tanenbaum 교수가 만든 MINIX 운영 체제 (교육 도구)에서 많은 돈을 빌렸다는 것입니다. http://en.wikipedia.org /wiki/Andrew_S._Tanenbaum#MINIX .

Linus와 Tanenbaum 교수는 모 놀리 식 커널 (Linux) 대 마이크로 커널 (MINIX, Solaris)의 장점 / 실용주의에 대해 긴 시간 동안 토론했다. 토론은 공개되었으며 여기에서 찾을 수 있습니다 : http://oreilly.com/catalog/opensources/book/appa.html

건배


1
Torvalds-Tanenbaum 토론은 실제 고전입니다 :-).
sleske


2

darn 사용자를 제외한 모든 것이 파일이거나 그렇게 취급 될 수 있습니다.

버스 오류는 PDP / 11의 분할 데이터 / 프로그램 버스의 데이터 측에 저장된 데이터를 실행하려고 함을 의미합니다.

Unix는 천문학자가 창조자 중 하나이기 때문에 처음부터 캘린더와 시계를 얻는 유일한 O / S입니다. (추가 의견-신용 : 해당 작가 이름, 추가 추가 크레딧 : 유닉스 팀에서 올림픽 메달 수상자 이름 지정)

/ etc / passwd의 GCOS 필드는 GECOS 운영 체제의 이름을 따서 명명되었으며 GECOS 메인 프레임을 원래 Unix mini의 인쇄 서버로 사용하고 인쇄 작업을 허용하기 위해 데이터가 필요했기 때문에 배치했습니다.


1
그리고 네트워킹. 유닉스에서 네트워킹의 BSD 모델을 만들 때 그들이 무엇을 피우고 있는지는 누가 알지만, 유닉스가 아닙니다.
chris

AT & T는 Streams를보다 유닉스 네트워크 API로 구현하고 호환성을 위해 그 위에 Socket API 레이어를 추가했습니다. 그런 다음 BSD (4.4)는 Streams를 Sockets라는 호환성 레이어 API로 추가했습니다.
kmarsh

1

타르로 한 번 웃기는 일이 없었으며 타르로 일주일이 걸린 타르 :

  1. tar zcf foo.tar.gz ...
    • 다음 날 정도 시간이 지나면 화면이 화면에 나타납니다. <UP>
    • 하루 정도 후에 : <enter>
    • 타르 완료, 버퍼에 키가 무엇인지 추측하고 타르 완료 후 두 번째로 쉘에 입력했습니다 ...

첫 번째 사람이 무슨 일이 있었는지 설명하기 위해 자신의 의견에 대한 찬성 :-) 이야기의 도덕은 스크린 세션의 배경에서 물건을 실행합니다.

나는 여전히 * NIX를 좋아합니다. 잘못 이기 때문에 일이 엉망이 될 때 나는 신경 쓰지 않는다 .


질문 자체보다 SilentW의 답변에 대한 답변 더 :-)
Kyle Brandt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.