TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #430 2.16K
❓ Как узнать, что за команда выполняется в Linux

При работе в терминале можно столкнуться с командами, о которых мало информации в man-страницах или которые не являются бинарниками. Один из таких примеров - fc.

▪️ fc vs history. Для просмотра истории команд в Linux обычно используют history, но есть ещё команда fc, которая делает примерно то же самое:


# fc -l -5 # Покажет последние 5 команд
# history 5 # Тоже покажет последние 5 команд


На первый взгляд, непонятно, чем fc лучше или отличается от history. Попробуем разобраться, что это вообще за команда.

▪️ Поиск информации о fc
1️⃣ Проверяем документацию и ищем бинарник:


man fc

No manual entry for fc

which fc


Man-страницы нет и бинарника тоже.

2️⃣ Проверяем, алиас ли это:


alias | grep fc


Нет, алиаса тоже нет.

3️⃣Используем type, чтобы определить природу команды:


type fc

fc is a shell builtin


fc оказывается встроенной командой в оболочку Bash, как и pwd, cd, history, type.

▪️ Как Bash обрабатывает команды? Важно понимать, в каком порядке оболочка ищет и исполняет команды. Bash проверяет их в следующем порядке:

1. Сначала проверяются алиасы.
2. Затем встроенные в оболочку команды.
3. Только потом ищутся бинарники в $PATH (слева направо по списку директорий).

Это объясняет, почему при наличии нескольких версий Python или PHP выполняется конкретная версия – она первая в $PATH.

▪️ Как временно "сломать" команду? Можно использовать алиас, чтобы подменить стандартное поведение команды. Например, так можно отключить history:


alias history='echo "Здесь истории нет"'
history


Здесь истории нет. Теперь history не работает, пока не удалить алиас:


unalias history


Чтобы проверить, какие версии одной и той же команды существуют в системе, используем:


type -a history
history is aliased to `echo "Здесь истории нет"'
history is a shell builtin


#linux #history

🧑‍💻 NetworkAdmin
  • 👍 13
  • 🔥 2
  • ❤ 1
  • 🤔 1
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
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 →