Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-22/post/srv_admin/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
​​Недавно рассказывал про то @ServerAdmin.ru
TG Telegram Group & Channel
ServerAdmin.ru | United States America (US)
Create: Update:

​​Недавно рассказывал про то, как команды выполняются в оболочке 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

​​Недавно рассказывал про то, как команды выполняются в оболочке 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


>>Click here to continue<<

ServerAdmin.ru






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Too many connections in /var/www/db.php:16 Stack trace: #0 /var/www/db.php(16): mysqli_connect() #1 /var/www/hottg/function.php(212): db() #2 /var/www/hottg/function.php(115): select() #3 /var/www/hottg/post.php(351): daCache() #4 /var/www/hottg/route.php(63): include_once('...') #5 {main} thrown in /var/www/db.php on line 16