linux一键更换hosts脚本
#!/bin/bash
#请以root模式运行
#备份hosts
cp -f /etc/hosts ./hosts.bak
cp -f ./hosts.bak ./hosts.txt
#更改过程文件权限
chown $USER:$USER ./hosts.txt
#清空hosts,写入信息
sed -i 'd' ./hosts.txt
echo -e '#感谢使用,爱你的猫抛瓦\n' >> ./hosts.txt
#读取customhosts目录下的自定义hosts(一行一个),需手动创建customhosts目录
cat ./customhosts/*.txt >> ./hosts.txt
#为可读性,多加个空行
echo -e '\n' >> ./hosts.txt
#写入个人收集的互联网上的hosts
curl https://gitlab.com/ineo6/hosts/-/raw/master/next-hosts >> ./hosts.txt
#为可读性,多加个空行
echo -e '\n' >> ./hosts.txt
curl https://www.foul.trade:3000/Johy/Hosts/raw/branch/main/hosts.txt >> ./hosts.txt
#用过程文件覆盖hosts文件
cp -f ./hosts.txt /etc/hosts
#删除过程文件txt
rm ./hosts.txt
#将hosts文件权限改回为root
chown root:root /etc/hosts
exit
将上述内容复制到文本编辑器内,另存为.sh文件,如hosts.sh。
在该文件所处位置打开终端,以sudo sh hosts.sh执行,需要输入root密码。
之后即可避免一些dns污染导致打不开某些网页的情况了。