Linux
Q:iptables 有几表几链,分别是什么?
A: 表 filter、nat、managle、raw 链:INPUT、FORWARD、OUTPUT、PREROUTING、POSTROUTING
Q:iptables 禁止来自10.0.0.188 ip地址访问80端口的请求
A:iptables -A INPUT -p tcp --dport 80 -j DROP
Q:实现把访问10.0.0.3:80的请求转到172.16.1.17:80
A:iptables -t nat -A PREROUTING -d 10.0.0.3 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.6:80
Q:实现172.16.1.0/24段所有主机通过124.32.54.26外网IP共享上网
A:iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 124.32.54.26
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
Q:for 循环的基础语法
A:
for 变量 in 循环列表 do 命令1 命令2 ... 最后命令 done
AI 代码解读
Q: while 的基础语法
A:
while [ 条件 ] do 命令… done
AI 代码解读
Q: case 基础语法
A:
case 变量 in 值1) 命令1 命令2 ….. 最后命令 !! 值2) 命令1 命令2 …… 最后命令 ;; esac
AI 代码解读
Q: if 基础语法
A:
if [ 条件 ] then 命令1 命令2 ….. else if [ 条件 ] then 命令1 命令2 …. else 命令1 命令2 ….. fi fi
AI 代码解读
Q:获取字符串abcd长度
A:
string="abcd" echo ${#string} #输出 4
AI 代码解读
Q:仅列出 /etc/passwd 文件内的第 5-7 行
A:
[root@www ~]# nl /etc/passwd | sed -n '5,7p' 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
AI 代码解读
Q: sed 搜索 /etc/passwd有root关键字的行
A:
nl /etc/passwd | sed '/root/p' 1 root:x:0:0:root:/root:/bin/bash 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 3 bin:x:2:2:bin:/bin:/bin/sh 4 sys:x:3:3:sys:/dev:/bin/sh 5 sync:x:4:65534:sync:/bin:/bin/sync ....下面忽略
AI 代码解读
Q:sed 删除/etc/passwd所有包含root的行,其他行输出
A:
nl /etc/passwd | sed '/root/d'
2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
3 bin:x:2:2:bin:/bin:/bin/sh
....下面忽略
#第一行的匹配root已经删除了
AI 代码解读
Q:sed 全文替换某个字符串
A:
sed 's/要被取代的字串/新的字串/g'
AI 代码解读
Q:awk 内置变量NR NF代表什么
A: NF 一条记录的字段的数目 NR 已经读出的记录数,就是行号,从1开始
Q:查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
A:
# find /var/log -type f -mtime +7 -ok rm {} \;
AI 代码解读