王哲伟11.27
vim vi文本编辑器 重点
vim FILENAME 若存在该文件,对文件进行内容编辑,若不存在在则创建这样一个文件
命令模式:
d+enter 表示删除光标所在行以及光标下一行
dd 删除所在行
4dd 从光标所在行开始,一共删除四行
dG 删除光标所在行,以及到文档尾
dgg 删除光标所在行,以及到文件首
s 替换,替换光标所在字符(删除光标所在字符)
S 替换,替换光标所在行 -----进入插入模式
G 跳转到文档末行的行首
gg 跳转到文档首行的行首
5G 跳转到文件的第五行
yy 复制光标所在行 4yy 4,8yy
p 粘贴在光标的下一行
cc 剪切光标所在行
u 向左撤销
ctrl+r 向右撤销(保存之后不能进行给进行撤销)
命令模式-进入插入模式
s 删除光标所在字符进入插入模式
S 删除光标所在行进行插入模式
a 插入到光标后
A 插入到光标所在行的行尾
i 插入到光标行前
I 插入到光标所在行行首
o 插入到光标所在行下一行
O 插入到光标所在行上一行
命令-末行模式
:w 写入保存
:w FILENAME
:wq 保存并推出
:q! 强制退出
:set nu 显示行号
:set nonu 取消行号
:s /root/000/ 把root字符转换到000中
:1,5 ///
:%s /root/000/ 匹配所有行中第一次出现root关键字替换为000
:12,18 co 40 把十二行到十八行复制到第四十行
:r FILENAME 可以把指定文件内容读取到下一行信息的
echo 打印标准输入输出
-$ 引用变量
-$? 上一条命令的返回结果(0-255) 0表示成功状态,非0则为失败(退出码)
echo $SHELL 打印变量值
“” 弱引用 可以解析特殊字符的含义
‘’ 强引用 不解释特殊字符的含义
``或$() 命令替换,可以执行输出命令
linux中的文件描述符0 1 2 0:标准输入 1:标准输出 2:错误输出
> 输出重定向符,将输出结果重定到指定文件 1> 2>
>> 追加输出重定符(不会覆盖)
> 若之前不存在命名文件,则可以重新创建一个新文件
---------将之前一个命令的输出(正确或者错误)结果写到下一个文件
< 输入重定向符
<< 终止结束符
| 管道符 将前一个程序(命令)输出结果通过管道符按照字符流的形式传递给后面程序对字符进行处理
|tee T型管道 |tee -a
横向输出 将程序的输出结果重定到指定文件
纵向输出 将程序结果显示到终端
文件内容处理的相关命令
(1)通过处理命令只是将处理结果显示在终端不会对源文件更改
(2)按照指定文件的行进行处理
cut 文本剪切
-c 对字符进行剪切
-d 分隔符类型
-f 指定字段
sort 文本排序命令(由第一个字符大小进行排序)
-n 从小到大进行排序
-nr 从大到小进行排序
-u 只显示一次,从第一个字符大小开始比较
-t 分隔符
-k 字段
uniq 去重(去掉相邻的相同字符)
-c 第一行中显示出现次数
-d 显示出重复的字符
-D 显示出重复字符
wc 文本统计
wc FILENAME 默认统计结果为行数,单词数,字节数,文件名
-l 行数
-w 单词数
-c 字节
-m 字符
tr 字符替换命令 :%s /root/123
tr set1 set2
tr ab 123 3带入没有影响
#tr -t 等长字符替换
-c 反选定(除了指定不变,其他都改变)
-d 删除指定字符
-s 将多个连续重复字符替换为单个字符
grep 文本关键过滤显示 一整行
grep ‘模式匹配’ FILENAME
-i 可以忽略大小写
-o 只显示关键字
-v 把没有指定文字的行显示出来
-v '^$'表示为把空白行进行过滤
'^#'忽略不重要信息