Linux--防火墙和vim

SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使用其他方法。

大多数ssh连接不上虚拟机,都是因为防火墙和selinux阻挡了

获取selinux状态

[root@HH ~]# getenforce 
Disabled

临时关闭selinux,重启后又会生效

[root@HH ~]# setenforce 0

永久关闭selinux,写入到selinux配置文件

vim /etc/selinux/config 

SELINUX=disabled   #更改为这个

重启后selinux永久关闭

iptables防火墙

systemctl status firewalld    # 查看防火墙状态
systemctl stop firewalld      # 关闭防火墙
systemctl disable firewalld   # 关闭防火墙开机启动
systemctl is-enabled firewalld.service   # 检查防火墙是否启动
# 查看防火墙规则
iptables -L 

# 清空防火墙规则
iptables -F

# 关闭防火墙软件,这个服务永久关闭
systemctl stop firewalld 

vim 

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,想当与wins的notepad++

分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

移动光标

w(e)  # 移动光标到下一个单词
b    # 移动到光标上一个单词

5j # 向下移动5行 gg    # 移动光标到文档的首行 G    # 移动光标到文档尾行 数字0  # 移动到本行开头 $    # 移动光标到本行结尾 H    # 移动光标到屏幕首行 M    # 移动到光标到屏幕的中间一行 L    # 移动光标到屏幕的尾行 ctrl + f  # 下一页 ctrl + b  # 上一页 `.  # 移动光标到上一次的修改行

查找

/zouzou     # 在整篇文档中搜索zouzou字符串,向下查找
?zouzou     # 在整篇文档中搜索zouzou字符串,向上查找

*        # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
#        # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

gd        # 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

%    # 找到括号的另一半!!

复制 删除 粘贴

yy    # 拷贝光标所在行
dd    # 删除光标所在行
D     # 删除当前光标到行尾的内容
dG    # 删除当前行到文档尾部的内容
p     # 粘贴yy所复制的内容
x   # 删除光标所在的字符
u    #  撤销上一步的操作

数字

3yy    # 拷贝光标所在的3行
5dd    # 删除光标所在5行

底线模式

:set nu    # 显示vim行号
:set nonu   # 取消行号
:数字  # 调到数字那行
:q!     # 强制退出,不保存
:wq!    # 强制写入退出
替换
例如,有个文件内容如下
1101,jerry,1991,测试
1102,bob,1993,开发
1103,mike,1996,运维
替换当前行的第一次出现的字符串
# old 为要替换的字符串,new 为要替换成的字符串
:s/old/new/  
这将把当前中模式 old 的第一次出现修改为 new。  /(斜杆)是命令不同部分之间的分隔符(当斜杆为该行的最后一个字符时,可不写)
1101,jerry,1991,测试
1102:bob,1993,开发  # 光标在第二行
1103,mike,1996,运维

:s/,/:/ # 执行后发现只有当前光标所在的行的第一次出现的字符串被替换了

替换当前行的所有字符串

# old 为要替换的字符串,new 为要替换成的字符串,g 代表要替换所有
:s/old/new/g
把当前行 old 的每次出现改为 new,而不只是该行的第一个 old。:s 命令允许替换串后面带有选项,上面语法中的 g 代表全局( g 选项影响一行中的每个模式,不要把它与影响文件中所有行的 :g 命令混淆)
1101,jerry,1991,测试
1102:bob:1993:开发  # 光标在第二行
1103,mike,1996,运维

:s/,/:/g # 执行后发现第二行的所有 , 字符串都被替换成了 :因为加了 g

替换指定行的

通过在 :s 命令前加上地址前缀,可以把它的范围扩展到多行。例如下面命令把 2 行到 3 行的 old 的每次出现都改为 new
:2,3s/old/new/g

例如

1101,jerry,1991,测试  # 光标在第一行
1102:bob:1993:开发
1103:mike:1996:运维

:2,3s/,/:/g  # 执行后发现第二行和第三行的 , 都被替换成了 :

全局替换

# 下面的命令把整个文件中的 old 的每次出现都改为 new
:1,$s/old/new/g

# 我们知道 % 等价于 1,$,所以上行命令也可以这样写
:%s/old/new/g

例如

1101:jerry:1991:测试
1102:bob:1993:开发
1103:mike:1996:运维

:1,$s/,/:/g  # 执行后整个文件的 , 都被替换成了 :

# 等价于下面的
:%s/,/:/g

终端中使用快捷键

有时候我们会在终端中输入一些命令,如何快速的回到开头和结尾,删除光标前后的数据呢?

  • ctrl+a 或者 Home:跳到光标所在行的行首
  • ctrl+e 获取 End:跳到光标所在行的行尾
  • Ctrl + U:从光标位置删除到行首。
  • Ctrl + K:从光标位置删除到行尾
  • Alt + < (左箭头):光标移动到前一个单词
  • Alt + > (右箭头):光标移动到后一个单词
  • Ctrl + r:搜素之前使用过的命令
  • Ctrl + w:删除光标所在位置前任意个空格以及空格前的一个单词
  • Ctrl + xx:光标所在输入位置与行尾互相切换跳转
posted @ 2020-05-04 20:32  邹邹很busy。  阅读(307)  评论(0编辑  收藏  举报