Этимология команд linux

Просто для удовольствия... Я стараюсь держать себя в курсе, ища любопытные головоломки в течение дня. Одна из вещей, которые мне нравятся в Linux, - это бесконечное количество умности, которое она воплощает, от своей элегантной простоты вплоть до комментариев на своих страницах руководства.

Можете ли вы сформулировать неписаные правила, которые определяют, как будут называться новые команды, или предоставить некоторую историю за общим командам? Какая существенная команда отсутствует в дистрибутивах linux linux - что бы она сделала и что бы вы назвали?

<сильные > Примеры:

  • cat используется для привязки файлов. Он был заменен на dog в некоторых дистрибутивах.
  • ssh обеспечивает безопасную оболочку, но не может быть совпадением, что он просто просит произнести "ssssshhhhh!"

Бонусная головоломка: одним из наших давних клиентов был MCI, а их адрес доставки был 1101 Summit Ave. Теперь MCI была крупной компанией и, вероятно, могла выбрать любой адрес... так почему же 1101? Удивительно, но я никогда не сталкивался с сотрудником MCI, который знал этот ответ... но у них тогда не было ТАК!

РЕДАКТИРОВАТЬ: Прежде чем это выходит из-под контроля: пожалуйста, не просто перечисляйте команды! Я ищу ответы на вопросы, выделенные курсивом выше. Спасибо!

Ответ 1

Вид шутки, но ссылаясь на http://www.mindspring.com/~blackhart/requium.html:

Я только смог придумать один алгоритм для создания имен команд Unix: подумайте о хорошем английском слове, чтобы описать, что вы хотите сделать, а затем подумайте о неясном близком или частичном синониме, выбросьте все гласные, произвольно сокращают то, что осталось, а затем, наконец, как сосок для грамотного программиста, возможно, повторно вставьте одну из пропавших гласных.

Ответ 2

MCI = 1101 в римских цифрах... Я никогда не щелкал это, пока только сейчас:)

Ответ 3

  • ed = EDitor
  • ex = EXtended (ed)
  • vi = VIsual (визуальная команда в ex)
  • vim = Vi IMproved
  • vile = VI Как Emacs

  • TECO = текстовый редактор и корректор

  • Emacs = Редактирование MACroS (для TECO)

Ответ 4

grep был из команды ed, g/re/p или глобально для поиска регулярных выражений и печати. ​​

yacc, конечно, был еще одним компилятором компилятора.

perl был практическим извлечением и языком отчетов (см. также комментарии).

roff было простым сокращением "runoff" (аналогичная система, существовавшая на других не-Unix-машинах); troff был 'typsetting roff' или около того; Я предполагаю, что nroff был "не-набор символов roff"; tbl - простое сокращение таблицы; eqn является простым сокращением "уравнения"; grap - простое сокращение "графа" (и почему было необходимо отказаться от "h", остается для меня загадкой); pic, вероятно, просто простое сокращение "картины"; refer - простое сокращение "ссылок"; и chem является простым сокращением "химии" (или "химического", или...).

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


Непосредственно отвечая на вопрос - какая команда отсутствует (и имеет причудливое имя)...

$ dribbler -h
Usage: dribbler [-hV][-s sleep][-f file][-m message][-o openstr]
  -V           Print version information and exit
  -f file      Write to named file
  -h           Print this help message and exit
  -m message   Write message on each line of output
  -o openstr   Flags passed to fopen()
  -s sleep     Sleep for given interval between writes

Это неодушевленный аналог yes. В то время как yes записывает материал так быстро, как может, на выходной канал, напротив, dribbler отправляет свод информации, достаточный для того, чтобы процесс на принимающем конце был немного активным, но недостаточно, чтобы нагрузить систему.


Другая команда, которой я люблю, - bombard:

бомбардировка - бомбардировать тестируемую программу сигналами

 bombard [-s sig][-rvV][-t mintime][-T maxtime][-i iterations] -- cmd [args ...]

Bombard запускает тестовую программу, обозначенную `cmd [args...] ', и подвергает ее одному или нескольким сигналам. Его можно использовать для стохастического тестирования характеристик обработки сигнала программы.

Параметр '-s' указывает, какой сигнал отправлен; по умолчанию используется SIGINT. Опция '-V' печатает номер версии программы и завершает работу. Опция '-r' повторно посылает сигнал. Параметр "-i" указывает, сколько раз сигнал должен быть повторен; значение по умолчанию - 1000, если указано "-r", а "-i" - нет. Если параметр "-r" не указан, флаг не действует. Опция '-v' печатает подробные сведения о результатах каждого запуска тестовой программы. Параметр "-t" указывает минимальную задержку (в секундах) перед сигнализацией; значение по умолчанию равно 0. Параметр "-T" указывает максимальную задержку (в секундах) перед сигнализацией. Сепаратор '--' настоятельно рекомендуется отделить элементы управления от бомбардировки от команды и ее аргументов.

Если задано только "-t" , то бомбардирует спящий режим в течение указанного времени, а затем посылает сигналы процессу. Если заданы оба значения "-t" и "-T", то бомбардирует сон в течение произвольного промежутка времени в указанном диапазоне и затем отправляет сигналы процессу.

Очевидно, что все сроки зависят от особенностей алгоритма планирования ядра.


Ответ 5

Утилита "больше" была названа из-за подсказки после каждой страницы. Утилита "меньше" - другое приложение для пейджера, так называемое, потому что "меньше - больше".

У Mailers есть длинная история фанковых имен. Элм был "электронной почтой". Сосна - это аббревиатура "сосна больше не вяз". Бальза должна быть легкой.

Not Linux, но инструмент Mac OS X для склеивания нескольких одноадресных двоичных файлов в один многоадресный двоичный файл (так называемый "жирный" двоичный код) называется "липо".

Ответ 6

tac перечисляет файл в порядке обратной линии, т.е. вывод cat назад.

Ответ 7

Unix biff cmd (объявить о приходе электронных писем) был назван в честь кого-то собаки, которая лаяла всякий раз, когда прибыл почтальон. http://en.wikipedia.org/wiki/Biff

Много других подобных интересных лакомых кусочков с первых дней вычислений можно найти в The Jargon File. http://en.wikipedia.org/wiki/Jargon_File

Ответ 8

Не забывайте, что схема рекурсивного именования не:

  • pine = P ine I s n ot E lm (хотя один из оригинальных авторы отрицают это, и теперь это официально означает " P ine I nternet N ews и E -mail" ).

  • wine = W ine Является n от E mulator

и, конечно же:

  • GNU = G NU N ot U nix (хотя и не сама по себе)

Ответ 9

zsh был логином своего автора Zhong Shao

Ответ 10

Замена GNU генератора синтаксиса yacc называется bison.

В соответствующей заметке мы недавно внесли небольшое изменение в команду tee, чтобы вставить метки времени в свой вывод для отладки неприятной проблемы. Что мы назвали новой командой? teetime, конечно: -)

Ответ 11

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

Что касается MCI, у них было несколько адресов, начиная с 1101, MCI - 1101 в Roman Numerals.

Ответ 12

О mp3-кодировщике LAME, это означает L ame A in M p3 E ncoder:)

Ответ 13

fsck = Файловая система ChecK (обратите внимание на ранее зарегистрированное правило отбрасывания всех гласных и как можно большего количества согласных.

Наиболее часто используется в моем опыте как profanity, и я слышал, что он произносился двумя разными способами: "FSCK" ( т.е. ламе) и "F-Suck" (правильно).

Ответ 14

awk назван в честь инициалов его авторов: Альфреда В. Ахо, Питера Дж. Вайнбергера и Брайана У. Кернигана.

Ответ 15

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

Ответ 16

Команды с длинным ветром VMS с параметром "mode = mode" были добавлены в "dd", потому что кто-то жаловался на короткие загадочные параметры в командах unix.

Ответ 17

pic - текстовый интерфейс для генерации изображения на фоне troff cip - GUI, который считывает/генерирует файлы pic

Терминал Blit не является интеллектуальным терминалом Bell Labs, а просто из операции bitblt. Диспетчер Mgr Window Manager, как утверждается, выступает за "менеджера" . Когда я начал работать с/на нем, все еще были люди, которые называли munger из глагола в mung (e).

Ответ 18

Этот ответ на вопрос о свадебном пироге дал мне новое представление о том, что на самом деле является мотивацией этих имен....

боевой crontab:

# DO NOT EDIT THIS FILE - until death
# (/marriage/crontab.XXX installed on Sat Apr  4 11:26:10 2009)
# (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $)
0 21 * * * unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep

Ответ 19

sed= s tream ed итор... но я не могу не думать, Это не то, что я сделал! Совпадение?