初学Linux之输入输出管理及管道、vim的常用功能

1.系统中输入输出的管理

为将系统输出重新定向到我们想要的文件中,可以使用输出重定向命令。输出结果分为正确输出1与错误输出2。因为root超级用户拥有最大访问文件权限,不存在错误输出,所以本次实验在普通用户student下进行。
1.1 管理输入输出的符号
1.1.1 输出重定向
>     #重定向正确输出
2>   #重定向错误输出
&>   #重定向所有输出
注意:重定向会覆盖原文件内容

1.1.2 输出追加重定向
>>   #追加正确输出到文件最后
2>>   #追加错误输出到文件最后
&>>   #追加所有输出到文件最后

注意:追加不会覆盖源文件内容

1.2 重定向示例:(1)将find /etc/ -name passwd 命令输出的正确结果保存在file,错误输出保存在file1,全部输出保存在file2 ;(2)追加正确输出到file,追加错误输出到file1,追加全部输出到file2;(3) 查看file,file1,file2中的内容
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能
1.3 管道的应用
1.3.1 管道的作用
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入,管道只允许正确输出通过。通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”
1.3.2 示例1:
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能

如上图所示:find /etc/ -name passwd | wc -l                               结果为2,因为错误输出不能通过管道,并且没有处理的错误输出显示出来
find /etc -name passwd 2>&1|wc -l
结果为19,因为编号为2的输出被“2>&1”转换为编号1
find /etc -name passwd 2>&1|tee file |wc -l
保存一份输出到file再统计行数
1.3.2 示例2:
(1)在student用户下查找/etc下passwd文件,屏蔽错误输出
(2)在student用户下查找/etc下passwd文件,正确输出保存到/tmp/westos.out,错误输出保存到/tmp/westos.err
(3)在student用户下查找/etc下passwd文件,命令输出保存到westos.all,并统计个数
初学Linux之输入输出管理及管道、vim的常用功能
初学Linux之输入输出管理及管道、vim的常用功能

2.vim的常用功能

2.1 vim的模式
命令模式:浏览文件,临时更改vim的工作方式,对字符批量处理
插入模式:对文件内容进行编辑
退出模式:退出vim程序
2.1.1 命令模式
(1)
调整vim的工作方式:在vim程序中,:set 调整参数
示例:
:set nu   #在每一行前显示行号
:set nonu   #取消行号显示
:set mouse=a   #显示鼠标
:set cursorline   #显示行线
注意:
在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源
如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc

(2)
字符的搜索:/关键字,n向下匹配,N向上匹配
(3)字符的管理
y:字符的复制
yl  #复制一个字母
y3l  #复制3个字母
yw  #复制一个单词
y3w  #复制3个单词
yy  #复制1行
y3y  #复制3行
d:字符的删除
dl  #删除一个字母
d3l  #删除3个字母
dw  #删除1个单词
d3w  #删除3个单词
dd  #删除1行
d3d  #删除3行
c:字符的剪切
cl  #剪切1个字母
c3l  #剪切3个字母
cw  #剪切1个单词
c3w  #剪切3个单词
cc  #剪切1行
c3c  #剪切3行
注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴。p为粘贴,u为撤销,ctrl+r 为恢复撤销

(4)vim可视化模式:ctrl + v
在这个模式下可以选择区域操作,若要批量添加字符:(1)ctrl + v 选中要加入字符所在的列,(2)按大写的I ,加入字符,(3)按【esc】完成添加

(5)字符的替换
:%s/要替换的字符/替换成的字符/g
:%s/sbin/@/g   #替换全文的sbin为@
:1,5s/sbin/@/g   #替换1-5行的sbin为@
注意:%s标示所有的行,g标示所有的列

(6)vim 的分屏功能
ctrl+w s   #上下分屏
ctrl+w v   #左右分屏
ctrl+w c   #关闭光标所在屏幕
ctrl+w 上下左右   #光标移动到指定屏幕
:sp file2   #同时编辑当前文件和file2

(7)在命令模式下光标的移动
gg   #光标移动到文件的第一行
G   #光标移动到文件的最后
:数字   #光标移动到到指定的行

2.1.2 插入模式
插入模式下光标的移动:
i   #光标所在位置插入
I   #光标所在行行首插入
o   #光标所在行下一行插入
O   #光标所在行的上一行插入
a   #光标所在字符的下一个字符插入
A   #光标所在行的行尾插入
s   #光标所在字符删除并插入
S   #光标所在行删除并插入

2.1.3 vim的退出模式
:q    #退出,在文件内容没有被改变时使用
:wq   #退出保存
:q!    #强制退出不保存,在改变文件后不想保存时使用
:wq!   #强制退出保存,在对只读文件编写时使用,
    注意,所编辑的只读文件必须时当前用户的文件或者当前操作的用户是root

End