vim vi 文本编辑器 (重点)
1.vim <名字>
2.命令模式
d+enter 删除光标所在行以及下一行
dd 删除光标所在行
4dd 从光标所在行开始一共删除4行
dG 删除光标所在行,以及到文档尾
dgg 删除光标所在行,以及到文档首
s 替换,替换光标所在字符(删除光标所在字符) ……进入插入模式
S 替换,替换光标所在行 ……进入插入模式
x 删除光标字符
G 跳转到文档末行的行首
gg 跳转到文档首行的行首
5G 跳转到文件的第五行
^ 光标跳转到行首
$ 光标跳转到行尾
yy 复制光标所在行
p 粘贴在光标的下一行
cc 剪切光标所在行 ……进入插入模式
u 向左撤销
ctrl+r 向右撤销
2.如何通过命令模式进入插入模式
s 删除光标所在字符进入插入模式
S 删除光标所在行进入插入模式
a 插入到光标后
A 插入到光标所在行尾
i 插入光标前
I 插入到光标所在行的行首
o 插入到光标所在行的下一行
O 插入到光标所在行的上一行
3.命令------末行模式
:w 写入保持
:w <名字>
:q 退出
:q! 强制退出
:wq! 强制保持退出
:set nu 显示行号
:set nonu 取消行号
:%s /root/000/ 匹配所以行中第一次出现root关键字,替换为000
:%s /root/000/g 匹配所以行中所以root关键字,全部替换为000
:12,18 co 40 复制12到18行显示到40
:r <文件名> 将指定文件的内容读取到光标属性的下一行
:!cat/etc/passwd 将cat/etc/passwd命令的结果显示在文档中
/关键字 显示关键字
4.echo 打印标准输入输出
echo $SHELL 打印变量值
echo $? 查看上一条命令的返回值
$ 应用变量
$? 上一条命令的返回结果(0-255)0成功,非0失败
'' 强引用,不解释特殊字符的含义 不可以显示变量的值
"" 弱引用,可以解释特殊字符的含义 可以显示变量的值
5.Linux中的程序对于文件的描述符0,1,2 标准输入 1帮助输出 2错误输出
基于cat
输出重定向符,将程序的输出结果重定到指定文件 1> 2>
>> 追加输出重定向符
……………………将前一个命令的输出(正确或错误)结果写入一个文件……………………
< 输入重定向符
<< 终止结束符
6.| 管道符 :将前一个程序(命令)输出结果通过管道符按照字符流的形式传递后面程序,后面程序继续对字符流进行处理
|tee ( T管道符 ) |tee -a
横向输出 将程序的输出结果重定向到指定文件
纵向输出 将程序的输出结果显示到终端
7.文本内容处理相关的命令
(1)通过处理命令只是将处理结果显示在终端不会对源文件更改
(2)按照指定文件的行就行处理
cut 文本剪切
-c 字符
-d 分割符类型
-f 指定字段
sort 文本排序
按照第一个字符比较(从小到大)
-r 降序
-n 数值排序(从小到大)
-u 去重
-t 分隔符
-k 字段
uniq 去重 (重复行必须相邻)
-c 显示重复次数
-d 显示哪些有重复
-D 显示所以重复行
eg:
[root@www /]# date
Sun Nov 27 15:57:51 CST 2022
[root@www /]# date | cut -d " " -f 4
15:59:02
[root@www /]# echo 当前系统的时间是`date | cut -d " " -f 4`
当前系统的时间是16:00:02
eg: /etc/passwd
[root@www /]# echo "/sbin/nologin在/etc/passwd重复出现过`cut -d : -f 7 /etc/passwd | sort |uniq -c |head -4 | tail -1| cut -d " " -f 6`"
/sbin/nologin在/etc/passwd重复出现过41
8.wc (word count)
wc <文本名>(行数 单词数 字节数 文件名)
-l 行数
-w 单词数
-c 字节
-m 字符
9.tr 字符替换命令
tr set1 set2
-t 等长字符替换
-c 反选定(除了选定的其他都替换)
-d 删除选定字符
-s 将多个连续重复字符替换为单个字符
10.grep 文本关键字过滤显示
grep '模式匹配' <文本名>
-o 只显示关键字
-v 反过滤(把没有关键字的行显示出来)
-i 忽略大小写