Утилита hash — инструмент командной строки Linux, который используется для ведения хеш-таблицы расположения исполняемых файлов. Когда пользователь выполняет команду в терминале, операционная система находит местоположение исполняемого файла, связанного с этой командой. Вместо того, чтобы искать его по всей файловой системе каждый раз, когда пользователь применяет команду, оболочка ведет хеш-таблицу, куда записывает пути к исполняемым файлам, которые она недавно находила.
В этой статье мы расскажем, как использовать утилиту hash в ОС Linux.
Содержание:
- Синтаксис команды hash
- Посмотрите хеш-таблицу исполняемых файлов утилит Linux
- Узнайте, хеширован ли исполняемый файл утилиты
- Добавьте путь к исполняемому файлу команды в хеш-таблицу
- Удалите записи из хеш-таблицы исполняемых файлов
- Полностью очистите хеш-таблицу
- Создайте псевдоним для команды с помощью hash
- Выводы
Синтаксис команды hash
Общий синтаксис команды hash имеет следующий вид:
Здесь,
[options]— необязательные опции, которые расширяют функционал утилиты;[command]— необязательные аргументы, которые представляют собой команды Linux.
Чтобы вывести на экран список всех опций hash, выполните в терминале:
Посмотрите хеш-таблицу исполняемых файлов утилит Linux
Каждый сеанс оболочки Linux ведет собственную хеш-таблицу, поэтому изменения, внесенные в хеш-таблицу в одном сеансе оболочки, не повлияют на другие. Если пользователь откроет несколько окон терминала или вкладок, каждая из них будет иметь свою отдельную хеш-таблицу, управляемую соответствующим процессом оболочки.
Сразу же после запуска терминала Linux хеш-таблица пуста. В этом можно убедиться, выполнив команду:
Тем не менее, при использовании различных команд в терминале, хеш-таблица будет постепенно наполняться обновленными данными.
В колонке hits отображается количество раз, которое команда была использована, а в колонке command — путь к исполняемому файлу.
Узнайте, хеширован ли исполняемый файл утилиты
Вы можете вручную проверить, хеширован ли исполняемый файл команды или нет. Для этого используйте утилиту type. Например:
На скриншоте выше видно, что утилита type вывела на экран сообщение awk is hashed. Это означает, что исполняемый файл awk хеширован.
Если путь к исполняемому файлу не был добавлен в хеш-таблицу, команда type не будет выводить сообщение is hashed в терминале. Например:
Добавьте путь к исполняемому файлу команды в хеш-таблицу
Вы можете самостоятельно добавить исполняемый файл утилиты в хеш-таблицу. Для этого используйте следующую команду:
Например, добавим в хеш-таблицу команды apt, vim и file:
Удалите записи из хеш-таблицы исполняемых файлов
Чтобы удалить исполняемый файл какой-либо команды из хеш-таблицы, воспользуйтесь опцией -d и названием команды в качестве аргумента. Например:
Полностью очистите хеш-таблицу
Чтобы удалить из хеш-таблицы все записи, примените команду hash с опцией -r:
Создайте псевдоним для команды с помощью hash
Утилита hash позволяет создавать псевдонимы для утилит. Для этого используйте следующую команду:
Где:
/path/to/command— путь к исполняемому файлу утилиты;<renamed-command>— желаемое название псевдонима.
Для примера создадим псевдоним d для команды date:
Выводы
Мы рассказали Вам, как использовать команду hash в Linux. С ее помощью Вы сможете находить местоположение исполняемых файлов, создавать псевдонимы и управлять хеш-таблицей. Помните, что каждое окно терминала будет иметь собственную хеш-таблицу, поэтому все настройки будут индивидуальны для каждой сессии.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
































