Пиша това като кратък, практичен и учебен материал. Целта е да помогна на колеги да работят по-бързо в терминала. Използвам ясен език и примери. Ще представя 10 инструмента, които ме накараха да преосмисля кои команди използвам всеки ден.
Въведение: защо да заменяте стандартните команди
Класическите ls, cat, find, grep, cd и други работят чудесно.
Но новите инструменти дават по-добра производителност и UX.
Те са по-интелигентни. Често са един файл-бинар със зависимости минимални.
Тази статия е за инструменти, които остават полезни в дългосрочен план.
Ще дам кратки примери и сравнения. Целта е съдържание evergreen.
1. exa — модерен заместник на ls
exa е съвременна алтернатива на ls.
Показва цветове, git-интеграция и метаданни.
Подреждането по колони е модерно и четимо.
Пример:
exa -la --git
Това показва скрити файлове и git статус.exa е малък, бърз и удобен за ежедневна употреба. GitHub
Кога да използвам: когато искам четим, цветен списък и git контекст.
Сравнение: ls -la е по-универсален, но по-малко информативен визуално.
2. bat — читлив заместник на cat
bat добавя синтактично оцветяване и номера на редовете.
Поддръжка на git-пейджинг и „paging“ чрез less има вградено.
Пример:
bat README.md
Може да се използва като pager или в pipeline. GitHub
Кога: когато разглеждате код или конфигурации в терминала.
Сравнение: cat е минимален. bat е по-удобен при четене.
3. fd — по-бърз и по-удобен find
fd е създаден като лесна и бърза алтернатива на find.
Поддържа glob и по-разбираеми опции по подразбиране.
Пример:
fd '\.conf$' /etc
Това намира всички .conf файлове под /etc. Opensource.com
Важно: fd по подразбиране игнорира .gitignore. Това ускорява търсенето.
Сравнение: find е мощен при сложни правила. fd е по-интуитивен за бързо търсене.
4. ripgrep (rg) — бърз заместник на grep
ripgrep (наричан rg) търси рекурсивно и спазва .gitignore.
Той е значително по-бърз в големи дървета от файлове.
Пример:
rg TODO
Намира „TODO“ във всички файлове, като пренебрегва игнорирани пътища. GitHub
Сравнение: grep -R работи, но често е по-бавен и не спазва .gitignore.
5. fzf — универсален интерактивен fuzzy finder
fzf е интерактивен fuzzy филтър.
Може да се използва за файлове, команди, истории и git обекти.
Пример (файлово меню):
fd . | fzf
Избиране с fzf е бързо и интуитивно. GitHub
Интеграции: shell bindings, git-помощни скриптове и plugins.
Това е инструмент, който обогатява почти всеки workflow.
6. zoxide — интелигентен cd
zoxide запомня къде работите най-често.
Командата ще ви върне на често използваните директории с кратки ключове.
Пример:
z foo
Sкъсява пътеките и намалява нуждата от cd ../../... GitHub
Защо работи: използва оценка по честота и последна употреба.
Добра интеграция със shell и с fzf за визуален избор.
7. delta — красив git diff и pager
delta прави git diff по-четлив и цветен.
Поддържа side-by-side изглед и синтактично оцветяване.
Пример:
git --no-pager diff | delta
Може да се конфигурира като единствения pager за git. GitHub
Кога: при code review в терминала.
Сравнение: стандартният git diff е информативен, но труден за бързо сканиране.
8. tldr — кратки и практични cheat sheets
tldr предлага кратки примери за команди.
Страниците са community-driven и лесни за четене.
Пример:
tldr tar
Полезно за бързо припомняне на флагове и примери. GitHub
За кого е: начинаещи и за тези, които не искат да четат дълги man страници.
9. starship — минимален и бърз prompt
starship е персонализируем shell prompt.
Работи във всички популярни shell среди.
Показва релевантна информация бързо и ненатрапчиво.
Пример (инициализация в .bashrc):
eval "$(starship init bash)"
Подобрява продуктивността със статични и динамични модули. starship.rs
Защо го обичам: бърз е и не блокира работата ми в shell.
10. HTTPie — по-добър интерфейс за API заявки от curl
HTTPie прави HTTP заявки лесни за четене.
Синтактично оцветяване и семпъл синтаксис ускоряват тестовете.
Пример:
http GET api.example.com/users/1
По-четимо от сложни curl команди. httpie.io
Кога: при експериментиране с REST API или бърза проверка.
Практически сценарии и комбинации
Комбинациите са където тези инструменти блестят.
Няколко мои любими примера:
- Търсене на файл и преглед с оцветяване:
fd '\.py$' | fzf | xargs bat
- Бързо намиране на код с
rgи преглед на diff:
rg 'TODO' | fzf -n 2 | cut -d: -f1 | uniq | xargs -I{} sh -c 'git diff {} | delta'
- Jump в често използвана директория:
z proj && ls -la
Всеки от тези скриптове е кратък и лесен за запомняне.
Съвети за внедряване в ежедневната ви среда
- Инсталирайте инструментите чрез пакетния мениджър.
- Не заменяйте системните команди насилствено.
- Добавете aliases вместо заместване, ако искате безопасност.
- Тествайте на една машина преди глобална промяна.
- Документирайте промяната за екипа.
Пример за alias:
alias ls='exa --git'
alias cat='bat'
Имайте резервен план. Ако скрипт зависи от ls, alias може да създаде проблем.
Заключение: кои да започнете да използвате първо
Ако искаш само един инструмент — избери fzf.
Той подобрява навигацията и се интегрира навсякъде. GitHub
За четимост на код — bat и delta. GitHub+1
За бързо търсене — fd и ripgrep. Opensource.com+1
За навигация в директории — zoxide. GitHub

