Как быстро получить краткие объяснения команд в Linux и macOS с помощью tldr
Что такое tldr
tldr — это клиент командной строки, название которого происходит от «too long; didn’t read». Он показывает краткие, полезные примеры и синопсисы для часто используемых команд Unix-подобных систем. Определение: tldr — утилита для получения сжатых справочных примеров и типичных сценариев использования команд.
Важно: tldr не заменяет man. Он ускоряет обучение и напоминание, но опускает подробности и редкие параметры.
Установка tldr на Ubuntu
На Ubuntu пакет tldr не всегда доступен в стандартных репозиториях, поэтому самый простой путь — через Node.js и npm.
- Откройте Терминал (Ctrl + Alt + T).
- Установите Node.js и npm:
sudo apt install nodejs npm- Установите tldr глобально через npm:
sudo npm install -g tldrПосле установки можно запускать tldr. Иногда при запуске появляется ошибка «No such file or directory» — это связано с тем, что бинарник Node называется nodejs, а некоторые пакеты ожидают node.
Исправление: создайте символическую ссылку от /usr/bin/nodejs к /usr/bin/node:
sudo ln -s /usr/bin/nodejs /usr/bin/nodeПримечание: если у вас другая система управления пакетами или специальная конфигурация Node (nvm, asdf), следуйте документации выбранного менеджера версий.
Установка tldr на macOS
На macOS удобнее всего использовать Homebrew — менеджер пакетов для macOS. Если Homebrew не установлен, откройте «Terminal» в папке Utilities → Applications и скопируйте команду установки с официального сайта Homebrew, затем вставьте её в Терминал и выполните.
После установки Homebrew выполните:
brew install tldrПосле этого tldr доступен из терминала так же, как и на Linux.
Совет: если вы используете macOS с M1/M2‑чипом и устанавливали Homebrew в нестандартный путь, проверьте корректность PATH в вашем .zshrc или .bash_profile.
Быстрое сравнение man и tldr
man показывает полную документацию, включая все параметры, подробные описания и поведение в разных реализациях. tldr даёт краткие примеры и самые полезные опции.
Например, посмотрите на ls:
man lsman ls выведет длинную страницу с описаниями, примерами, опциями и разделами. Навигация — стрелки, PageUp и PageDown.
А команда:
tldr lsвыведет короткую подборку распространённых примеров использования ls и базовых опций. Это удобно, если нужно быстро вспомнить синтаксис.
Веб‑версия tldr
Если вы не хотите устанавливать утилиту, используйте веб‑версию: https://tldr.ostera.io/. Веб‑интерфейс показывает те же краткие страницы с поиском по названию команды. Это удобно, когда вы работаете в браузере.
Введите, например, “ls” в поисковой строке, и результаты появятся мгновенно.
На сайте обычно есть ссылка «Edit this page on GitHub» для правок и улучшений. Можно также загрузить PDF‑копию страниц для офлайн‑использования или установить мобильное приложение (примечание: Android [No Longer Available]).
Когда tldr не хватает
tldr полезен для типичных задач, но иногда нужны дополнительные сведения:
- Более редкие или странные параметры команды.
- Подробное описание поведения в краевых случаях.
- Технические детали реализации или история изменения опций.
Примеры, которые стоит открыть в man:
- ls: tldr показывает основные опции, но man ls содержит подробные описания и примечания. Например, tldr может не объяснить поведение опции сортировки по расширению в разных системах.
Полезные параметры ls (чувствительны к регистру):
-R — рекурсивный вывод поддиректорий.
-X — сортировка по расширению файла.
-d — отображать только каталоги, не их содержимое.
rm: tldr показывает базовое использование, но man объяснит тонкости. Например, использование rm с параметром -r или -R для рекурсивного удаления и то, что rm по умолчанию не удаляет непустые каталоги.
Полезные параметры rm:
- -I — запрос подтверждения один раз при удалении более трёх файлов или при рекурсивном удалении. Менее навязчиво, чем -i, но даёт защиту от случайного удаления.
- -d — удалить пустые директории.
Важно соблюдать осторожность с rm — рекурсивное удаление может привести к потере критически важных данных.
Практические советы и устранение проблем
- Ошибка «No such file or directory» при запуске tldr обычно решается созданием симлинка node → nodejs (см. выше).
- Если npm устанавливает пакеты в каталог, не включённый в PATH, добавьте путь в переменную PATH или используйте sudo для глобальной установки (с пониманием рисков).
- Пользователи nvm/asdf: ставьте tldr в среде, где активна нужная версия Node.
- На macOS проверьте, что brew в PATH: eval “$(/opt/homebrew/bin/brew shellenv)” для ARM‑Mac.
Важно: избегайте установки глобальных npm‑пакетов под root без крайней необходимости — это может осложнить управление правами.
Альтернативы и дополнения
Если tldr вам не подходит, рассмотрите следующие инструменты:
- man — классическая полная документация.
- help — встроенная справка для shell‑билдингов (например, help в bash для builtin команд).
- apropos / whatis — ищут страницы man по ключевым словам.
- cheat / cheat.sh — предоставляют «шпаргалки» и примеры для команд.
- bropages — короткие практичные примеры от сообщества.
- tldr веб‑сайты и браузерные расширения.
Выбор инструмента зависит от задачи: краткость, полнота или возможность правки страниц сообществом.
Ментальные модели для выбора между tldr и man
- Если нужна быстрая шпаргалка или пример — tldr.
- Если нужно понять тонкости, опции, форматы или поведение в исключительных случаях — man.
- Если требуются параметры встроенных команд shell (например, cd) — используйте man bash-builtins.
Правило большого пальца: tldr = «быстро и практично», man = «подробно и точно».
Мини‑методика: как изучать новую команду
- Ищите в tldr для быстрого знакомства и примеров.
- Пробуйте примеры в тестовой директории (sandbox). Создайте папку ~/tmp-tldr-test.
- Если нужны детали — читайте man и секцию EXAMPLES или OPTIONS.
- Сделайте заметку/шпаргалку в личном репозитории заметок.
Критерии приёмки
- Вы можете выполнить основную задачу с командой, используя примеры из tldr.
- Вы понимаете риски (удаление, перезапись) и протестировали действие в безопасной среде.
Чек‑листы по ролям
Для новичка:
- Установить tldr.
- Выполнить tldr <команда> и изучить 2–3 примера.
- Попробовать примеры в тестовой директории.
Для разработчика:
- Проверить наличие встроенных альтернатив (help, man bash-builtins).
- Добавить полезные примеры команд в личную документацию.
- Подписаться на обновления tldr или PR репозиториев с улучшениями страниц.
Для системного администратора:
- Убедиться, что в системных образах tldr доступен или установить tldr для операторов.
- Документировать опасные операции (rm, dd) и включить дополнительные предупреждения.
- Использовать скриншоты/примеры для обучения команды.
Когда tldr не работает: контрпримеры
- Редкие или устаревшие опции: tldr может их опустить.
- Платформозависимое поведение: некоторые опции могут отличаться в GNU coreutils и BSD (macOS).
- Команды без страницы tldr в локальном кэше: обновите кэш или используйте веб‑версию.
Команда для обновления локальных страниц tldr:
tldr -uБезопасность и лучшие практики
- Всегда тестируйте команды, которые меняют файловую систему, в непроизводственной директории.
- Будьте осторожны с rm -rf и аналогичными командами. Добавьте alias в ваш shell для защиты, например:
alias rm='rm -I'- Для критичных систем используйте дополнительные проверки и бэкапы перед массовыми операциями.
Визуальная подсказка: как выбирать источник
flowchart TD
A[Нужно быстро вспомнить синтаксис?] -->|Да| B[tldr]
A -->|Нет| C[Нужно подробно понять поведение?]
C --> D[man]
B --> E[Выполнил пример в тесте?]
E -->|Да| F[Готов использовать]
E -->|Нет| DЧасто задаваемые вопросы
Q: tldr поддерживает локализации?
A: Сообщество tldr иногда содержит локализованные страницы; веб‑версия и репозиторий позволяют вносить правки. Но локальные наборы страниц зависят от выбранной сборки.
Q: Как обновлять страницы tldr?
A: Выполните tldr -u для обновления локального кэша страниц.
Конец и выводы
tldr экономит время и помогает быстро вспомнить синтаксис и обычные сценарии использования команд. Используйте tldr для быстрых подсказок и man для глубокого изучения. Комбинация инструментов даёт гибкость: tldr для скорости, man для точности.
Итоговые рекомендации:
- Установите tldr, если часто забываете флаги команд.
- Держите man под рукой для сложных случаев.
- Тестируйте опасные команды в песочнице и применяйте alias‑защиту для rm.
Поделитесь: считаете ли вы tldr удобнее man? Напишите ваш опыт и примеры в комментариях.