Unix Legendry (и другие *nix также)
Самый непонятный / проголосовавший ответ получит ответный голос!
Большинство Unix и Unix-подобных систем имеют "традиционную историю", которая передается с каждым поколением, так что новички могут увидеть и понять некоторые из более эзотерических частей системы. Какие давние администраторы *nix внесли свой вклад в "Легенду" о UNIX, а также в эзотерические знания, которым должны подвергаться новые администраторы?
11 ответов
Личным фаворитом всегда был "Случай 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
Для меня самое удивительное в традиции UNIX заключается в том, что UNIX был написан одним человеком - Кеном Томпсоном в Bell Labs. Об этом можно узнать здесь: http://www.bell-labs.com/history/unix/
Некоторые цитаты просто бесценны:
"Каждую неделю я выделял операционной системе, оболочке, редактору и ассемблеру для воспроизведения себя", - пояснил Томпсон.
Трубы:
Еще одним нововведением UNIX стала разработка каналов, которая дала программистам возможность связывать воедино несколько процессов для конкретного вывода.
Это было нелегко."Очень легко сказать" кошка в grep в..."или" кто в кошку в grep ", - объяснил Макилрой."Но есть все эти побочные параметры, которые есть у этих команд; у них просто нет входных и выходных аргументов, но у них есть все эти опции".
Макилрой, несмотря на тупик, не отказался от этой идеи."И в период с 1970 по 1972 год я время от времени говорил:" Как насчет того, чтобы сделать что-то подобное? ", И я выдвигал другое предложение, другое предложение, другое предложение. И однажды я пришел с синтаксисом для оболочки, которая сопровождала трубопровод, и Кен сказал: "Я собираюсь сделать это!"
"Он устал слышать это", - объяснил Макилрой."Он не сделал в точности то, что я предложил для системного вызова. Он изобрел немного лучшую, которая, наконец, снова изменилась на то, что мы имеем сегодня. Он использовал мой неуклюжий синтаксис".
"Томпсон увидел, что аргументы файла не будут соответствовать этой схеме вещей, и он вошел и изменил все эти программы в одну и ту же ночь. Я не знаю как... и на следующее утро у нас была одна оргия -liners ".
"Он поместил трубы в UNIX, он поместил эту запись в оболочку, все за одну ночь", - удивленно сказал МакЭлрой.
Как бы технически ни был хорош этот успех, когда Томпсон создавал каналы, он также вложил в UNIX что-то еще - философию.
Как сказал Макилрой,"философия, которую все начали выдвигать, заключалась в том, чтобы" писать программы, которые делают одно и делают это хорошо. Пишите программы для совместной работы. Пишите программы, которые обрабатывают текстовые потоки, потому что это универсальный интерфейс "".
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, что делать с архивом? Считает ли я, что я, возможно, захочу заархивировать его снова?
Я думаю, что наконец-то понял, что такое "смоляная яма". ЭТО МЕСТО, ЧТО ФАЙЛЫ ИДЕТ УМЕР
Вход со всеми заглавными буквами
http://utcc.utoronto.ca/~cks/space/blog/unix/UnixFossilizationExample
HRM. Боюсь, я неправильно понял вопрос:-)
Но я оставляю ссылку, потому что нахожу это интересным!
Оригинальный символ трубы был ^
Исходный ключ удаления был #
Исходный ключ "убить" (стереть все в строке) был @
Если вы когда-либо входите в более старую систему и не можете набрать комментарий или адрес электронной почты, stty становится вашим другом.
Это пример седьмого сеанса входа в систему, когда человек, делающий журнал, был достаточно любезен, чтобы запустить stty. Кроме того, как уже упоминалось, здесь говорится: "Как определить традиционную оболочку Борна? 1 Простая проверка часто недокументированной, но характерной особенности: Вы можете использовать круговой ^ (каретка) в качестве замены | (труба)."
Знаменитая лекция Кена Томпсона о премии Тьюринга:
http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf [PDF]
Когда вы кладете бэкдор для login
в вашем компиляторе C могут произойти неприятные вещи...
NetBSD может работать практически на чем угодно. Есть 57 (57!) Поддерживаемых портов:
ура
Все является файлом, или может рассматриваться как таковой... кроме чертова пользователя.
Ошибка шины означает, что вы пытаетесь выполнить данные, которые были сохранены на стороне данных разделенной шины данных / программы PDP/11.
Unix - это единственная операционная система, которая с самого начала получила каландры и часы только потому, что одним из создателей был астроном. (Дополнительный комментарий-кредит: назовите этого автора. Дополнительный кредит: назовите олимпийского медалиста в команде UNIX.)
Поле GCOS в /etc/passwd было названо в честь операционной системы GECOS и размещено там только потому, что они использовали мэйнфрейм GECOS в качестве сервера печати для оригинального Unix mini, и ему требовались данные для принятия задания на печать.
Вероятно, многие новички в Linux не знают, что создатель Linux (Линус Торвальдс) позаимствовал у ОС MINIX (образовательный инструмент) профессора Эндрю Таненбаума: http://en.wikipedia.org/wiki/Andrew_S._Tanenbaum.
Линус и профессор Таненбаум также подробно обсудили достоинства / прагматизм монолитного ядра (Linux) по сравнению с микроядром (MINIX, Solaris). Дискуссия была публичной и может быть найдена здесь: http://oreilly.com/catalog/opensources/book/appa.html
ура
Искусство программирования Unix - это хорошая книга для всех, кто интересуется компьютерными технологиями, а не только для тех, кто интересуется Unix. Да, кое-что из этого датировано, но это все еще существенное чтение.
Не очень забавная вещь, которую я сделал с tar один раз, и tar, на запуск которого ушла неделя:
tar zcf foo.tar.gz ...
- Некоторое время в течение следующего дня или около того экранная сессия была на моем экране:
<UP>
- Примерно через день:
<enter>
- Тар закончил, угадай, какие ключи удерживались в буфере, и вошел в оболочку через секунду после того, как смол закончил
- Некоторое время в течение следующего дня или около того экранная сессия была на моем экране:
Откровение на их комментарии для первого лица, чтобы объяснить, что произошло:-) Мораль истории, запустить материал на фоне сеанса экрана.
При этом я все еще люблю *NIX. Я не против, когда все напутано, потому что это была моя вина.