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
Q: while 的基础语法
A:
while [ 条件 ]
do
命令…
done
Q: case 基础语法
A:
case 变量 in
值1)
命令1
命令2
…..
最后命令
!!
值2)
命令1
命令2
……
最后命令
;;
esac
Q: if 基础语法
A:
if [ 条件 ]
then
命令1
命令2
…..
else
if [ 条件 ]
then
命令1
命令2
….
else
命令1
命令2
…..
fi
fi
Q:获取字符串abcd长度
A:
string="abcd"
echo ${#string} #输出 4
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
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
....下面忽略
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已经删除了
Q:sed 全文替换某个字符串
A:
sed 's/要被取代的字串/新的字串/g'
Q:awk 内置变量NR NF代表什么
A: NF 一条记录的字段的数目 NR 已经读出的记录数,就是行号,从1开始
Q:查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
A:
# find /var/log -type f -mtime +7 -ok rm {} \;