linux一鍵更換hosts腳本
#!/bin/bash
#請(qǐng)以root模式運(yùn)行
#備份hosts
cp -f /etc/hosts ./hosts.bak
cp -f ./hosts.bak ./hosts.txt
#更改過(guò)程文件權(quán)限
chown $USER:$USER ./hosts.txt
#清空hosts,寫(xiě)入信息
sed -i 'd' ./hosts.txt
echo -e '#感謝使用,愛(ài)你的貓拋瓦\(yùn)n' >> ./hosts.txt
#讀取customhosts目錄下的自定義hosts(一行一個(gè)),需手動(dòng)創(chuàng)建customhosts目錄
cat ./customhosts/*.txt >> ./hosts.txt
#為可讀性,多加個(gè)空行
echo -e '\n' >> ./hosts.txt
#寫(xiě)入個(gè)人收集的互聯(lián)網(wǎng)上的hosts
curl https://gitlab.com/ineo6/hosts/-/raw/master/next-hosts >> ./hosts.txt
#為可讀性,多加個(gè)空行
echo -e '\n' >> ./hosts.txt
curl https://www.foul.trade:3000/Johy/Hosts/raw/branch/main/hosts.txt >> ./hosts.txt
#用過(guò)程文件覆蓋hosts文件
cp -f ./hosts.txt /etc/hosts
#刪除過(guò)程文件txt
rm ./hosts.txt
#將hosts文件權(quán)限改回為root
chown root:root /etc/hosts
exit
將上述內(nèi)容復(fù)制到文本編輯器內(nèi),另存為.sh文件,如hosts.sh。
在該文件所處位置打開(kāi)終端,以sudo sh?hosts.sh執(zhí)行,需要輸入root密碼。
之后即可避免一些dns污染導(dǎo)致打不開(kāi)某些網(wǎng)頁(yè)的情況了。