加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

3.0-vim编辑器和bash条件测试

发布时间:2020-12-15 09:20:54 所属栏目:安全 来源:网络整理
导读:多文件模式: vim FILE1 FILE2 FILE3... :next下一个 :prev前一个 :first第一个 :last最后一个 :wall保存所有 :qall退出所有 窗口分隔模式: vim -o|-O FILE1 FILE2... -o:水平分割 -O:垂直分割 在窗口间切换:Ctrl+w然后Arrow(箭头:键盘上的-标志) 单文件窗

多文件模式:

vim FILE1 FILE2 FILE3...

:next下一个

:prev前一个

:first第一个

:last最后一个

:wall保存所有

:qall退出所有


窗口分隔模式:

vim -o|-O FILE1 FILE2...

-o:水平分割

-O:垂直分割

在窗口间切换:Ctrl+w然后Arrow(箭头:键盘上的->标志)


单文件窗口分割:

Ctrl+w,s:split 水平分割

Ctrl+w,v:vertical 垂直分割


定制vim的工作特性:

配置文件:永久有效

全局:/etc/vimrc

个人:~/.vimrc

末行:当前vim进程有效

(1)行号

显示:set number,简写为:set nu

取消显示:set nonumber,简写为:set nonu

(2)括号匹配(编程中左右括号自动匹配用)

匹配:set showmatch,简写为:set sm

取消匹配:set noshowmatch,简写为:set nosm

(3)自动缩进

启用:set ai

禁用:set noai

(4)高亮搜索

启用:set hlsearch

禁用:set nohlsearch

(5)语法高亮

启用:syntax on

禁用:syntax off

(6)忽略字符大小写

启用:set ic

禁用:set noic

获取帮助

:help

:help subject

问题:如何设置tab缩进为4个字符


练习:

1.复制/etc/rc.d/init.d/functions文件至/tmp目录中:替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

2.删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号

#hello

# hello(把这个#后有空格的#字符删除)


bash条件测试:

测试方式:

test EXPRESSION

[ EXPRESSION ]

[[ EXPRESSION ]]

测试表达式的类别:

数值比较

字符串测试

文件测试


文件测试

存在性测试:

-a FILE(同-e,很少用)

-e FILE:文件存在性测试,存在为真,不存在为假

存在性及类别测试:

-b FILE:是否存在且为块设备文件

-c FILE:是否存在且为字符设备文件

-d FILE:是否存在且为目录文件

-f FILE:是否存在且为普通文件

-h FILE或 -L FILE:是否存在且为符号链接文件

-p FILE:是否存在且为命名管道文件

-S FILE:是否存在且为套接字文件

文件权限测试:

-r FILE:是否存在且可读

-w FILE:是否存在且可写

-x FILE:是否存在且可执行

文件特殊权限测试:

-g FILE:是否存在且拥有sgid权限

-u FILE:是否存在且拥有suid权限

-k FILE:是否存在且拥有sticky权限

文件大小测试:

-s FILE:是否存在且非空

文件是否打开:

-t fd:fd表示文件描述符是否已经打开且与某终端相关


-N FILE:文件自动上一次被读取之后被修改过

-O FILE:当前有效用户是否为文件属主

-G FILE:当前有效用户是否为文件属组

双目测试:

FILE1 -ef FILE2:FILE1与FILE2是否指向同一个设备上的相同inode

FILE1 -nt FILE2:FILE1是否新于FILE2

FILE1 -ot FILE2:FILE1是否旧于FILE2

组合测试条件:

逻辑运算:

第一种方式:

COMMAND1 && COMMAND2

COMMAND1 || COMMAND2

! COMMAND

例如:[ -e FILE ] && [ -r FILE ] 文件存在且可读

Note:在做文件测试时一定要注意是root还是普通用户,如果是root权限判断会有问题


第二种方式:

EXPRESSION1 -aEXPRESSION2

EXPRESSION1 -o EXPRESSION2

EXPRESSION

必须使用测试命令进行

#[ -z $hostName -o $hostName == bogon ] && hostname test

# [ -f /bin/cat -a -x /bin/cat ] && cat /etc/fstab

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读