IPv4:
grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}" filename
IPv6:
grep -Eo "([0-9a-fA-F]{4}[:])([0-9a-fA-F]{0,4}[:]){0,6}([0-9a-fA-F]{0,4})" filename
因為目前有效的IPv6格式,前置為 2001、ff80、ff02,所以使用 ([0-9a-fA-F]{4}[:]) 做為開頭 (排除 ::1 格式)。
IPv4:
grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}" filename
IPv6:
grep -Eo "([0-9a-fA-F]{4}[:])([0-9a-fA-F]{0,4}[:]){0,6}([0-9a-fA-F]{0,4})" filename
因為目前有效的IPv6格式,前置為 2001、ff80、ff02,所以使用 ([0-9a-fA-F]{4}[:]) 做為開頭 (排除 ::1 格式)。
一、先建立黑名單:
ipset create blacklist hash:ip hashsize 4096
二、加入 IP 位址:
ipset add blacklist 192.168.0.5
ipset add blacklist 192.168.0.100
ipset add blacklist 192.168.0.220
三、建立 firewalld 規則:
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m set --match-set blacklist src -j DROP
有時在寫 BASH Script 時,會用 date 查詢時間,在中文環境中的結果會是中文格式:
# date
五 11月 15 11:45:01 CST 2019
需求是要英文格式,但又不想用 # export LC_TIME=en_US.utf8 改變環境設定,可以用以下方式:
# LC_TIME=en_US date
Fri Nov 15 11:47:53 CST 2019
利用這種方式,LC_TIME=en_US 只會作用在該行指令,而不會影響系統的環境設定。