Linux学习笔记(一 ) sed和firewalld命令使用

Linux下 sed命令使用

黎晟 2020年12月26日 14:43

 简单整理下上周用到的sed命令

一、sed命令

1、命令格式

sed [options] 'command' file(s)

2、选项

  • -e :直接在命令行模式上进行sed动作编辑,此为默认选项;

  • -f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作;

  • -i :直接修改文件内容;

  • -n :只打印模式匹配的行;

  • -r :支持扩展表达式;

  • -h或–help:显示帮助;

  • -V或–version:显示版本信息。

2、实例

替换文本中的字符串并打印出出来:

sed 's/book/books/' linux-test.txt

-n选项和p命令一起使用表示只打印那些发生替换的行:

sed -n 's/book/books/p' linux-test.txt

直接 编辑 文件选项-i,会匹配file文件中每一行的第一个book替换为books:

sed -i 's/book/books/' linux-test.txt

全面替换标记g:

sed 's/book/books/g' linux-test.txt

当需要替换每行的第N处,可以使用 /N:

sed 's/book/books/2' linux-test.txt

当需要从每行的第N处开始替换之后所有时,可以使用 /Ng:

sed 's/book/books/2g' linux-test.txt

定界符

以上命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符

sed 's:test:TEXT:g' 
sed 's|test|TEXT|g' 

定界符出现在样式内部时,需要进行转义:

sed 's/\/bin/\/usr\/local\/bin/g'

删除操作:d命令

删除空白行:

 sed '/^$/d' file

删除文件的第2行:

 sed '2d' file

删除文件的第2行到末尾所有行:

 sed '2,$d' file

删除文件最后一行:

 sed '$d' file

删除文件中所有开头是test的行(d放在里面和外面效果一致,注意空格也算):

 sed '/^test/'d file

删除文件中所有结束是test的行(d放在里面和外面效果一致,注意空格也算):

sed '/test$/d' file

参考链接:https://www.linuxprobe.com/linux-sed-command.html

二、Firewalld 命令

1、安装Firewalld命令

yum -y install firewalld

2、开机启动/禁用firewad服务

systemctl enable/disable firewalld

3、启动/关闭firewad服务

systemctl start/stop firewalld

4、查看firewad服务状态

systemctl status firewalld
二、常用命令

1、查看已经开放的service和port

firewall-cmd --list-services

firewall-cmd --zone=public --list-services# 只查看指定pubilc区域的

firewall-cmd --list-ports

firewall-cmd --zone=public --list-ports# 只查看指定pubilc区域的

firewall-cmd --list-all-zones# 查看所有区域的

2、获取活动的区域

firewall-cmd --get-active-zones

3、重新加载

firewall-cmd --reload

通常手动修改zone配置进行规则添加后,需要进行重载生效,如–permanent参数就需要reload重载; root 身份执行命令,重新加载防火墙,并不中断用户连接,即不丢失状态信息;

4、启用某个服务/端口

firewall-cmd --zone=public --add-service=https#临时
firewall-cmd --permanent --zone=public --add-service=https #永久
firewall-cmd --zone=public --add-port=8080-8081/tcp #临时
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久

如果是要删除,直接修改成remove-service或者remove-port;

5、添加拒绝某个IP访问ssh端口

firewall-cmd --add-rich-rule "rule family=ipv4 source address=10.0.10.1 service name='ssh' reject"

6、允许来自此IP允许通过防火墙

firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.10.1" accept'

7、允许一个IP(10.0.10.1)仅能通过指定端口(8080-8090)访问到目标(10.0.10.13):

firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.10.1" destination address="10.0.10.13/32" port port="8080-8090" protocol="tcp" accept'

规则说明:
rule:规则;
family:ipv4指定ipv4的地址;
source address=10.0.10.1要拒绝的IP,可以是IP或者是IP段;
service name='ssh’指定的是ssh服务 ;
drop:就是此条规则的执行方法是丢弃;
port:端口
如果要放行直接修改后面的reject为accept即可;

防火墙firewalld预定义的服务配置文件是xml文件,目录在 /usr/lib/firewalld/services/; 在 /etc/firewalld/services/ 这个目录中也有配置文件,但是/etc/firewalld/services/目录优先于 /usr/lib/firewalld/services/ 目录;

如果规则中没有参数–permanent都是即时生效的,而且reload或者重启服务后都不会再有记录;
添加了参数–permanent后需要手动reload或者重启服务才生效。 同时可以加入–zone 应用于于哪个区域的参数;

参考链接:https://blog.csdn.net/lovequanquqn/article/details/104845969

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值