TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #87 7.58K
Здарова! У меня на машине имеется пачка всяких alias’ов для продуктивной работы. К примеру есть такой alias cat='batcat’.

Я привязал команду cat к нужной мне утилите. В данном случае это batcat. Про нее я рассказывал в предыдущих постах.

Все работает отлично, но что мне делать когда требуется деактивировать этот alias и воспользоваться чистой командой cat?

Ты скажешь - дак залезь в файл ~/.bashrc/.zshrc да закомментируй всю эту срамоту. Справедливо! Но это какое-то топоровое решение.

Есть несколько вариантов как это осуществить нативно и красиво. Ща покажу.

Посмотреть все прописанные alias, можно через одноименную команду alias, выведется полный список.

Первый вариант

Перед командой ставим символ «\»:

# \cat /tmp/test.txt

И всё! Теперь в моем случае alias с batcat проигнорирован и сработала нативная утилита cat. Красота!

Второй вариант

Помещаем команду в кавычки, хоть в двойные хоть в одинарные:

# 'cat' /tmp/test.txt
# "cat" /tmp/test.txt

Результат будет таким же, как и в первом варианте. Алиас заигнорится, запустится коробочный cat.

Третий вариант

Капитанский вариант с указанием полного пути к команде:

# /usr/bin/cat /tmp/test.txt

Ну тут всё логично, я четко указал что и откуда запускать. Алиасы в пролете. Нативочка в профите.

Чтобы узнать полный путь к команде, воспользуйся одним из этих способов, они очень часто встречаются в bash скриптах, я приводил пример в этом посте.

whereis cat
which cat
type -a cat

Четвертый вариант

С помощью команды command

# command cat /tmp/test.txt

Команда command заставляет оболочку рассматривать указанную команду и аргументы как простую команду, подавляя поиск функций оболочки, или отображает информацию о заданных командах.

Пятый вариант

Этот вариант пожалуй более глобальный, который отключает алиасы в текущем сеансе. Не удаляет, а именно «анлиасит» в текущей сессии.

# unalias cat

Хаба-хаба и всё! Теперь у нас в текущей сессии чистый cat, без хвостатых мышек сюси.

А чтобы вообще дропнуть все алиасы в текущей сессии, запускай такое:

# unalias -a

Ну вот и все, теперь вообще никаких alias’ов нет, голый король. Ну а чтобы не перезапускать сессию и восстановить как было, делаем так:

source ~/.bashrc
source ~/.zshrc

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

Я использую первый вариант, он достаточно быстрый и менее трудозатратный. Ну а если что-то дебажу, то применяют пятый вариант. Для чистоты экспериментов, чтобы на грабли не наступить там где не нужно.

С пятницей коллеги! Хороших тебе предстоящих выходных и береги себя! Пойду дальше мемы для Псины рисовать, забегай если скучно.

Спасибо всем проголосовавшим в этом посте, большинство ЗА, так что в ближайшее время прикручу комменты. Но терзают меня пока сомнения, в общем решим этот вопрос. Увидимся!

tags: #bash
#linux
—
💩 @bashdays
  • 👍 161
More from @bashdays
  1. Oct 4, 2026Архивирование и хранение. Часть 2/4. Всем привет, с вами снова TagdTagd. Первая часть тут:…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →