На этот вопрос уже есть ответ здесь:
У меня есть сценарий оболочки, который я часто использую, чтобы вручную очистить dentries, inodes и кеш страниц в моей оперативной памяти: ramflush.sh
#!/bin/bash
echo " ██▀███ ▄▄▄ ███▄ ▄███▓ "
echo "▓██ ▒ ██▒▒████▄ ▓██▒▀█▀ ██▒ _____ "
echo "▓██ ░▄█ ▒▒██ ▀█▄ ▓██ ▓██░ | | F"
echo "▒██▀▀█▄ ░██▄▄▄▄██ ▒██ ▒██ | | L "
echo "░██▓ ▒██▒ ▓█ ▓██▒▒██▒ ░██▒ | | U"
echo "░ ▒▓ ░▒▓░ ▒▒ ▓▒█░░ ▒░ ░ ░ \___| S _"
echo " ░▒ ░ ▒░ ▒ ▒▒ ░░ ░ ░ || ____H__ -( (-"
echo " ░░ ░ ░ ▒ ░ ░ |_'(-------) '-'"
echo " ░ ░ ░ ░ | /"
echo "___________VERSION 1.0______________,-\__..__|_____"
echo " "
read -p "[*] Do you have a need to flush?: " yn
case $yn in
[Yy]* ) ;;
[Nn]* ) echo "[X] Understood."; exit;;
* ) echo "[X] No input detected. Exiting."; exit;;
esac
echo " "
echo " <=== OPTIONS ===>"
echo " "
echo "1. Clear RAM Page Cache."
echo "2. Clear Dentries and Inodes."
echo "3. Clear Page Cache, Dentries and Inodes."
echo " "
read -p "[*] Choose what to flush: " ans
case $ans in
[1]* ) echo 1 > /proc/sys/vm/drop_caches; echo "[*] Cache Cleared.";;
[2]* ) echo 2 > /proc/sys/vm/drop_caches; printf "[*]Dentries Cleared.\n[*]Inodes Cleared.\n";;
[3]* ) echo 3 > /proc/sys/vm/drop_caches; printf "[*]Page Cache Cleared\n[*]Dentries Cleared.\n[*]Inodes Cleared.\n";;
* ) echo "[X] No input detected. Exiting."; exit;;
esac
Однако постоянно утомительно возвращаться к моему домашнему каталогу, затем заходить в папку и вызывать сценарий. Я также отказываюсь просто выполнять команды вручную, потому что это не поддается дело в том, что я создал скрипт.
Есть ли способ добавить это в мою оболочку bash, чтобы иметь возможность запускать скрипт из любого каталога, просто набрав ramflush
для вызова и запустите этот сценарий, аналогично nmap
или ping
?
Должен ли я добавить его в диспетчер пакетов и как мне это сделать?
Можно отбросить тот сценарий как ramflush
без sh
extenion в двух местах:
~/bin
или /usr/local/bin
,поскольку первый случай включает тот путь .bashrc
со строкой export PATH=$PATH:$HOME/bin
и другой уже находится в Вашем пути. Теперь можно просто ввести ramflush
.
Самый быстрый способ сделать это - использовать псевдоним.
Добавьте это к .bashrc
:
alias ramflush='/path/to/your/script/ramflush.sh'
Затем откройте новый терминал или запустите source ~/.bashrc
, чтобы перезагрузить конфигурацию Bash.
Теперь вы можете позвонить ramflush
в любое место терминала.