我有一个经常使用的 shell 脚本来手动清除 RAM 中的 dentries、inode 和页面缓存: 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 shell 中,以便能够通过键入ramflush
以调用和运行此脚本来从任何目录运行脚本,类似于nmap
或ping
?
我是否必须将它添加到包管理器中,我该怎么做?
您可以在两个地方删除ramflush
没有sh
扩展名的脚本:
~/bin
或者 /usr/local/bin
,对于第一种情况,将该路径.bashrc
与该行一起添加,export PATH=$PATH:$HOME/bin
另一个已经在您的路径中。现在您只需键入ramflush
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句