Откуда имена команд: grep, awk, chmod, sudo
Тема дорожной карты · Английский для IT
🔊 Словарь терминов с произношением →
Имена Unix-команд кажутся случайным набором букв, но почти каждое — сокращение английской фразы, и знание расшифровки помогает и запомнить команду, и правильно её произнести. grep — global regular expression print, от команды g/re/p редактора ed; произносится /ɡrɛp/ и используется как глагол: grep for errors. awk — инициалы авторов Aho, Weinberger, Kernighan; /ɔːk/, как hawk без h. sed — stream editor, /sɛd/. chmod — change mode, читается «ч-мод» или change mode. chown — change owner, «ч-оун». chgrp — change group. sudo — superuser do (по одной из версий substitute user do), /ˈsuːduː/. su — substitute user или switch user. cd — change directory, по буквам. ls — list, по буквам. pwd — print working directory. mkdir — make directory, «мейк-дир». rmdir — remove directory. rm — remove. cp — copy. mv — move. cat — concatenate, /kæt/. tac — cat наоборот. less — игра слов с more, программой постраничного вывода: less is more. head и tail — начало и конец файла. wc — word count. tr — translate. cut, sort, uniq (unique), tee (тройник, как труба). ps — process status. top — процессы «сверху» по нагрузке. kill — послать сигнал, не обязательно убить. nohup — no hangup. df — disk free. du — disk usage. dd — data definition (спорно; шутливо disk destroyer). tar — tape archive. gzip — GNU zip. ssh — secure shell. scp — secure copy. rsync — remote sync. curl — client URL, /kɜːrl/. wget — web get, «дабл-ю-гет». dig — domain information groper. nslookup — name server lookup. ping — по звуку сонара. vi — visual, /ˌviː ˈaɪ/. vim — vi improved, /vɪm/. emacs — editor macros. nano — маленький, по аналогии с pico. man — manual. apropos — «кстати» по-французски. whoami — who am I. env — environment. tmux — terminal multiplexer. cron — от греческого chronos, время. systemd — system daemon, с буквой d как у демонов. fsck — file system check. etc — et cetera, каталог «прочего».
Как произносится
Правило: команды из двух букв читают по буквам (cd, ls, rm, cp, mv, ps, df, du, wc, tr), из трёх и более, если они произносимы, читают словом (grep, sed, awk, cat, tar, sudo, vim, curl, ping, ssh исключение — по буквам). Составные из ch читают через «ч»: chmod «ч-мод», chown «ч-оун», chgrp «ч-груп». mkdir — «мейк-дир» или «эм-кей-дир». rsync — «ар-синк». nohup — «ноу-хап». fsck — «эф-эс-си-кей» или неформально «фиск». etc — «эт-си». usr — «юзер» (хотя исторически Unix system resources). lib — «либ». bin — «бин». var — «вар». tmp — «темп». opt — «опт». proc — «прок». dev — «дев».
Как употребляется
- Grep the logs for the request id. — Поищи в логах id запроса.
- Pipe it through awk to pull the third column. — Прогони через awk, чтобы вытащить третью колонку.
- Chmod plus x the script and run it. — Сделай скрипт исполняемым и запусти.
- You'll need sudo for that. — Для этого нужен sudo.
- Tar it up and scp it to the box. — Заархивируй и скопируй на машину по scp.
- Curl the health endpoint. — Дёрни health-эндпоинт через curl.
- Tail dash f the log. — Смотри лог через
tail -f. - Cat the file into less. — Выведи файл в less.
Ловушки
Первая ловушка — русское произношение через транслитерацию: «грэп», «чмод», «судо» с русским ударением, «курл» с русским «у». Вторая — kill понимать буквально: kill -TERM просит процесс завершиться, kill -HUP просит перечитать конфиг; «убить» — только kill -9. Третья — less и more: обе программы для постраничного просмотра, less новее и умеет листать назад. Четвёртая — cat как «показать файл»: изначально это concatenate, склеить файлы; для просмотра одного файла носители чаще говорят cat it out или open it in less. Пятая — sudo как «от рута»: sudo выполняет одну команду с повышенными правами, su переключает пользователя; на вопрос are you root? ответ no, I'm using sudo. Шестая — etc читать как «и так далее» в смысле каталога: произносится «эт-си», хотя происхождение именно от et cetera.