Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

3 года назад
Открыть в
​​В комментариях как-то раз увидел упоминание утилиты f*ck. Заинтересовался. Думаю, что это может быть, ни разу не слышал. Прям так и загуглил со звёздочкой. Оказалось, что речь идёт об open source проекте The Fuck. Было очень любопытно, что же скрывается под таким неговорящим названием. Причём явно что-то популярное и полезное, потому что 77.7k звёзд на гитхабе. Оказалось, что это утилита для исправления опечаток или неполностью набранных команд. Показываю сразу на примерах. Допустим, вы устанавливаете софт через пакетный менеджер и забыли написать sudo: # apt install mc Появляется ошибка: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) Вы расстраиваетесь и материтесь, потому что нервы у айтишников никудышные. Сидячая работа, стрессы, кофе и т.д. Пишите в консоль с досады: # fuck TheFuck понимает ошибку и предлагает выполнить команду с учётом исправления. # sudo apt-get install mc TheFuck распознаёт популярные ошибки, опечатки, не только в командах, но и в их ключах, параметрах. Например: # git push fatal: The current branch master has no upstream branch. # fuck # git push --set-upstream origin master То есть запустили гит пуш, забыли обязательные параметры, fuck добавил дефолтные параметры для этой команды. Ещё больше примеров можно в репе посмотреть. Все исправления описаны правилами, которые лежат в соответствующей директории. Правила написаны на python, можете изменить готовые или написать свои. Например, есть правило для chmod. Если в консоли запускается скрипт через ./ и в выводе появляется сообщение permission denied, что типично, если у файла нет прав на исполнение, fuck исправляет это, добавяля права через chmod +x. Больше всего правил написано для git. Судя по всему этот инструмент писался для разработчиков и немного девопсов, поэтому так много звёзд на гитхаб. Если будете пробовать в Debian, утилита живёт в стандартных репах: # apt install thefuck Автор пакет заботливо отключил все правила для sudo. На всякий случай. По умолчанию бинарники ставятся в $HOME/.local/bin, поэтому надо добавить этот путь в PATH: # export PATH="$PATH:$HOME/.local/bin" Если что, матершину не одобряю. Сам не матерюсь. #linux #консоль