1.系统中输入输出的管理
1)管理输入输出的符号
##输出重定向。若输出的文件中原先存在内容,则重定向输出的文件内容会将原文件内容覆盖。若需保留原文件内容,对文件原内容不仅覆盖即输出追加。
> ##重定向正确输出。例如 find /etc/ -name passwd > file1
2> ##重定向错误输出。例如 find /etc/ -name passwd 2> file2
&> ##重定向所有输出。例如 find /etc/ -name passwd &> file.all
>>##追加正确输出到文件最后
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文件最后
2)管道的作用 “|”
“|”管道的作用是把前一条命令的输出变成后一条命令的输入,但管道只允许正确的输出通过,从而进入第二条命令,如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”。
例如
find /etc/ -name passwd | wc -l ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数
2.vim编辑器
vim作为Linux系统的常用文本编辑器,其基本上分为三种模式:一般命令模式、插入模式(编辑模式)、退出模式(命令行模式)。
1).vim的模式
一般命令模式
浏览文件,临时更改vim的工作方式,光标移动、复制粘贴、查找替换等对字符批量处理。
字符的搜索
键位或输入 | 含义 |
---|---|
/关键字 | 向光标之下查找关键字的字符串 |
n | 根据查找的关键字结果向下匹配 |
N | 根据查找的关键字结果向上匹配 |
yl | 复制一个字母 |
y3l | 复制3个字母 |
yw | 复制一个单词 |
y3w | 复制3个单词 |
yy | 复制1行(常用) |
y3y | 复制3行 |
dl | 删除一个字母 |
d3l | 删除3个字母 |
dw | 删除1个单词 |
d3w | 删除3个单词 |
dd | 删除1行 |
d3d | 删除3行 |
cl | 剪切1个字母 |
c3l | 剪切3个字母 |
cw | 剪切1个单词 |
c3w | 剪切3个单词 |
cc | 剪切1行 |
c3c | 剪切3行 |
p | 粘贴 |
u | 撤销 |
ctrl+r | 恢复撤销 |
注意:在剪切之后vim会进入INSERT插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴。
插入模式(编辑模式)
在一般命令模式下,通过移动光标和以下按键调整由一般命令模式进入插入模式时的编辑文本初始位置。
键位 | 含义 |
---|---|
i | 光标所在位置插入 |
I | 光标所在行行首插入 |
o | 光标所在行下一行插入 |
O | 光标所在行的上一行插入 |
a | 光标所在字符的下一个字符插入 |
A | 光标所在行的行尾插入 |
s | 光标所在字符删除并插入 |
S | 光标所在行删除并插入 |
退出模式(命令行模式)
保存、退出程序,修改vim环境。
输入 | 执行结果 |
---|---|
:q | 退出,在文件内容没有被改变时使用 |
:wq | 退出保存 |
:q! | 强制退出不保存,在改变文件后不想保存时使用 |
:wq! | 强制退出保存 |
:set nu | 在每一行前显示行号 |
:set nonu | 取消行号显示 |
:set mouse=a | 显示鼠标 |
:set cursorline | 显示行线 |
2)vim可视化模式
在初始进入vim的一般命令模式时,按ctrl + v进入可视化模式(即编辑器最下面显示为–VISUAL BLOCK–)在这个模式下可以选择区域操作,批量进行添加字符。
流程:ctrl + v 进入可视化模式—通过移动光标选中要加入字符所在的列–按大写的I
加入需要在所选区域进行添加的字符–按【esc】添加成功。
3)字符的替换
:%s/要替换的字符/替换成的字符/g
:%s/?@/g ##替换全文的:为@
:1,5s/?@/g ##替换1-5行的:为@
注意:
%s表示所有的行
g表示所有的列
示例:建立一个名为file的文件,使用vim打开,将其1-5行中“ABAB”替换为“HEHE”
4)vim 的分屏功能(在初始进入的vim一般命令模式下进行)
按ctrl+w 后,再按s ##上下分屏
按ctrl+w后,再按 v ##左右分屏
按ctrl+w ,再按c ##关闭光标所在屏幕
按ctrl+w 上下左右 ##光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
上下分屏
左右分屏
同时编辑file1和file2两个文件
5)在命令模式下光标的移动
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后
:数字 ##光标移动到到指定的行