Unix Legendry (и другие * nix также)

12

Это близнец к этому вопросу .

Самый непонятный / проголосовавший ответ получит ответный голос!

Большинство Unix и Unix-подобных систем имеют «традиционную историю», которая передается с каждым поколением, так что новички могут увидеть и понять некоторые из более эзотерических частей системы. Какие давние администраторы * nix могут внести свой вклад в «Легенду» о «UNIX», насколько это эзотерическое знание, которому должны подвергаться новые администраторы?

Эйвери Пэйн
источник
2
Если вики это,
метинкс
Я буду, в свое время. ;) По правде говоря, я сделал несколько чистых игровых вики, и если не будет даже намека на голоса, которые можно получить, никто не придет . Серьезно, это работает каждый раз, в обязательном порядке. Люди не будут вносить записи для вики, если это не абсурдно не связано с работой (например, любимый мультфильм сисадмина и т. Д.)
Эвери Пейн
2
Я заметил "никто не комментирует вики". Это так странно. Люди играют на сервере, как будто это видеоигра. Тупой.
Мэтт Симмонс
1
Я тоже это заметил, но (ИМХО) не значит, что мы должны поощрять репортинг ... Дайте мне знать, когда вы перейдете к мета, у них там будет довольно хорошее пламя (поверьте мне) , вы получите) :)
squillman
1
Ненавижу это говорить ... но я думаю, что должен быть какой-то компромисс. Мое общее наблюдение состояло в том, что если вы достигнете определенной «критической массы», вы можете перейти в вики, и вопрос будет продолжать собирать ответы. Итак, мне интересно, если вы установите флаг вики, возможно, ему следует подождать достаточно ответов, чтобы начать вопрос, и, возможно, через заданное время - скажем, 3 часа - он автоматически включится в вики. Это хороший компромисс, баланс между вознаграждением людей, желающих начать процесс, и объединением усилий на основе вклада. Идеи? Комментарии?
Эйвери Пейн

Ответы:

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 Да, я люблю это. За исключением того, что вы написали любимый неправильно (хаха,
JK
@squillman Все это Толкиен рос ;-)
faultyserver
@squilman - нет, он не сделал. Это правильное английское правописание.
Альнитак,
@squilman Зависит, если вы канадец. (цвет, избранное, проверка и т. д.) ;-)
KPWINC
11

Для меня самое удивительное в традиции UNIX заключается в том, что UNIX был в основном написан одним парнем - Кеном Томпсоном в Bell Labs. Об этом можно узнать здесь: http://www.bell-labs.com/history/unix/.

Некоторые цитаты просто бесценны:

«Каждую неделю я выделял операционной системе, оболочке, редактору и ассемблеру для воспроизведения себя», - пояснил Томпсон.

Трубы:

Еще одним нововведением UNIX стала разработка каналов, которая дала программистам возможность связывать воедино несколько процессов для конкретного вывода.

Это было нелегко. «Очень легко сказать« кошка в grep в ... »или« кто в кошку в grep », - объяснил Макилрой. «Но есть все эти побочные параметры, которые есть у этих команд; у них просто нет входных и выходных аргументов, но у них есть все эти опции».

Макилрой, несмотря на тупик, не отказался от этой идеи. «И в период с 1970 по 1972 год я время от времени говорил:« Как насчет того, чтобы сделать что-то подобное? », И я выдвигал другое предложение, другое предложение, другое предложение. И однажды я пришел с синтаксисом для оболочки, которая сопровождала трубопровод, и Кен сказал: «Я собираюсь сделать это!»

«Он устал слышать это», - объяснил Макилрой. «Он не сделал именно то, что я предложил для системного вызова pipe. Он изобрел немного лучшую, которая, наконец, снова изменилась на то, что мы имеем сегодня. Он использовал мой неуклюжий синтаксис».

«Томпсон увидел, что аргументы файла не будут соответствовать этой схеме вещей, и он вошел и изменил все эти программы в одну и ту же ночь. Я не знаю как ... и на следующее утро у нас была одна оргия -liners «.

« Он поместил трубы в UNIX, он поместил эту запись в оболочку, все за одну ночь» , - удивленно сказал МакЭлрой.

С технической точки зрения, когда достижение Томпсона создавало каналы, он также вложил в UNIX что-то еще - философию.

Как сказал Макилрой, «философия, которую все начали выдвигать, заключалась в том, чтобы« писать программы, которые делают одно и делают это хорошо. Пишите программы для совместной работы. Пишите программы, которые обрабатывают текстовые потоки, потому что это универсальный интерфейс »».

HTTP500
источник
7
Лучший. All-бессонную ночь. Когда-либо.
Мэтт Симмонс
8

tar никогда не выходит с ошибкой. НИКОГДА. Осторожно.

Источник: Справочник UNIX-HATERS, стр. 31 ( http://simson.net/ref/ugh.pdf ) К сожалению, HTML-версия отсутствует.

Эта книга переполнена другими легендами, и в основном она все еще применима. За годы использования Linux я столкнулся со многими из этих ошибок ... но не с теми, которые касаются работы с моим диском, слава богу. Мне удивительно, что большая часть этой книги все еще точна, хотя она была написана более 15 лет назад.

А теперь моя собственная история ужасов, почти точная копия истории UNIX-HATERS. Та же ошибка, 14 лет спустя!

Я хочу, чтобы мой беспроводной работал на моем eeepc, для которого я должен скачать драйвер, скомпилировать и установить его. Я загружаю все, что мне нужно, и отправляюсь в библиотеку на работу. На полпути я понимаю, что да, мне для чего-то нужен Интернет, поэтому я иду к установке.

tar -cvf somewirelessdriver.tar ./importantcompilerfiles

Ох, дерьмо. Я просто набрал -cvf вместо -xvf?

Ага.

Разве tar просто создавал tar-файл из случайного мусора, перезаписывая мой используемый файл?

Ага. Отлично. Я думаю, я просто обойдусь без доступа в интернет. Хорошо, что это был не файл размером в несколько гигабайт ... Ой, подождите, это случилось неделю назад.

Честно говоря, что за хрень с загадочными аргументами командной строки и программами linux? Разве они не могут просто автоматически выполнять основную операцию при вызове файла с соответствующим расширением. Почему, черт побери, я должен сказать tar, что делать с АРХИВОМ? Думает ли я, что я мог бы хотеть заархивировать это СНОВА?

Я думаю, что наконец-то понял, что такое «смоляная яма». ЭТО МЕСТО, ЧТО ФАЙЛЫ ИДЕТ УМИРАТЬ.

оборота SilentW
источник
1
Вау. Просто вау. Есть ли шанс, что вы можете отредактировать со ссылкой на это?
Эйвери Пейн
4
Да ладно, ошибка будет означать, что tar потерпел неудачу. Вы должны просто заявить правду ... tar никогда не подведет ;-)
Мэтт Симмонс
Ссылка добавлена, а также больше комментариев. Как примечание, я фактически купил свой MSI Wind, потратив дополнительные 350 долларов, просто чтобы мне не пришлось использовать Linux, если я не чувствую этого. Эта история является одной из многих причин, почему.
SilentW
Есть ли что-нибудь, что вы делаете в наши дни, чтобы избежать подобных ошибок? Если да, есть ли у вас ответы на stackoverflow.com/questions/1122977/…
Эндрю Гримм
7

Вход со всеми заглавными буквами

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

HRM. Боюсь, я мог неправильно понять вопрос :-)

Но я оставляю ссылку, потому что нахожу это интересным!

Мэтт Симмонс
источник
На самом деле, ответ точен; цель этого вопроса состояла в том, чтобы собрать эзотерику (так же, как ее родственный вопрос) из опыта разных людей.
Эйвери Пейн
6

Оригинальный символ трубы был ^

Исходный ключ удаления был #

Исходный ключ «убить» (стереть все в строке) был @

Если вы когда-либо входите в старую систему и не можете набрать комментарий или адрес электронной почты, stty становится вашим другом.

Это пример седьмого сеанса входа в систему, когда человек, делающий журнал, был достаточно любезен, чтобы запустить stty. Кроме того, как упоминалось здесь, он говорит: «Как определить традиционную оболочку Bourne? 1 Простая проверка часто недокументированной, но характерной особенности: Вы можете использовать круговой ^ (каретка) в качестве замены | (труба). "

Крис
источник
1
Интересный. Любой источник для этого, для дальнейшего чтения?
слеске
2

Вероятно, многие новички в Linux не знают, что создатель Linux (Линус Торвальдс) позаимствовал у ОС MINIX (образовательный инструмент) профессора Эндрю Таненбаума: http://en.wikipedia.org. /wiki/Andrew_S._Tanenbaum#MINIX .

Линус и профессор Таненбаум также подробно обсудили достоинства / прагматизм монолитного ядра (Linux) по сравнению с микроядром (MINIX, Solaris). Дискуссия была публичной и может быть найдена здесь: http://oreilly.com/catalog/opensources/book/appa.html

ура

HTTP500
источник
1
Дебаты Торвальдса и Таненбаума - настоящая классика :-).
Слеск
2

Искусство программирования Unix - это хорошая книга для всех, кто интересуется компьютерными технологиями, а не только для тех, кто интересуется Unix. Да, некоторые из них устарели, но это все еще необходимо прочитать.

липкая
источник
2

Все является файлом, или может рассматриваться как таковой ... кроме чертова пользователя.

Ошибка шины означает, что вы пытаетесь выполнить данные, которые были сохранены на стороне данных разделенной шины данных / программы PDP / 11.

Unix - единственная операционная система, которая с самого начала получила каландры и часы только потому, что одним из создателей был астроном. (Дополнительный комментарий-кредит: назовите этого автора. Дополнительный кредит: назовите олимпийского медалиста в команде UNIX.)

Поле GCOS в / etc / passwd было названо в честь операционной системы GECOS и размещено там только потому, что они использовали мэйнфрейм GECOS в качестве сервера печати для исходного Unix mini, и ему требовались данные для принятия задания на печать.

кмарш
источник
1
и сеть. Кто знает, что они курили, когда делали модель BSD для работы в сети в Unix, но это точно не Unixy.
Крис
AT & T внедрила Streams в качестве более сетевого сетевого API UNIXy и поместила поверх него слой Socket API для совместимости. Затем BSD (я думаю, 4.4) добавил Streams как API уровня совместимости, который называется Sockets.
кмарш
1

Не очень забавная вещь, которую я однажды сделал с tar и tar, на запуск которого ушла неделя:

  1. tar zcf foo.tar.gz ...
    • Некоторое время в течение следующего дня или около того экранная сессия была на моем экране: <UP>
    • Примерно через день: <enter>
    • Тар закончил, угадай, какие ключи удерживались в буфере, и вошел в оболочку через секунду после того, как смол закончил ...

Откровение в их комментарии для первого лица, чтобы объяснить, что произошло :-) Мораль истории, запустить материал на фоне сеанса экрана.

При этом я все еще люблю * NIX. Я не против, когда что-то напутает, потому что это была моя вина.

Кайл Брандт
источник
Больше ответ на ответ SilentW, чем сам вопрос :-)
Кайл Брандт