TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #1264 6.32K
​​Недавно рассказывал про то, как команды выполняются в оболочке Linux. А так же про утилиту type, которая позволяет точно узнать, какая программа будет выполнена при вводе команды в консоли. В продолжении этой темы расскажу про утилиту hash, которая дополняет всю эту историю с командами.

Для начала узнаем, что это вообще такое:
# type -a hash
hash is a shell builtin

Hash встроена в оболочку bash. С ее помощью можно посмотреть кэш путей к исполняемым файлам, который хранится до перезапуска оболочки. Возможно где-то в инструкциях в интернете по настройке чего-либо вы видели запуск этой команды для очистки кэша путей. Иногда это нужно сделать при установке нового софта, когда изменился по какой-то причине путь к исполняемому файлу, который вы ранее уже запускали в консоли в текущем сеансе.

Покажу на практике, как и на что влияет hash.
# htop
# hash
hits command
  1 /usr/bin/htop
# mv /usr/bin/htop /usr/local/bin
# htop
-bash: /usr/bin/htop: No such file or directory
# hash -r
# htop
# hash
hits command
  1 /usr/local/bin/htop

Я запустил htop, он уехал в кэш с путём /usr/bin/htop. Потом я его перенёс в /usr/local/bin/htop и не смог запустить через консоль, пока не очистил кэш команды. На практике заниматься подобным обычно не приходится, но у меня были иногда ситуации, когда этот кэш нужно было почистить. Так что лучше про него знать.

Впервые с hash я познакомился еще во freebsd. Там часто в руководствах после установки чего-то из портов предлагалось очистить hash оболочки командой:
# rehash

В bash на linux аналог этой команды:
# hash -r

Вы можете отключить или снова включить использование кэша исполняемых команд:
# set +h
# hash
-bash: hash: hashing disabled
# set -h

#bash #terminal
  • 👍 3
More from @srv_admin
  1. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  2. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
  3. Sep 23, 2026Расскажу тем, кто не знает, и напомню тем, кто забыл, как я. Не надо в Proxmox в LXC конте…
  4. Sep 22, 2026Недавно случайно заметил любопытную информацию на тему Proxmox VE и новой функциональности…
  5. Sep 22, 2026✔️ Сети для всех — сообщество для тех, кто развивается в сетевом и системном администриров…
  6. Sep 22, 2026Я ранее уже рассказывал, что приобрёл себе домой полноценную серверную платформу на базе S…
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 →