vim编辑器,管道,输入输出重定向
1.vim的认识及其一些常用指令
a, 认识vim的命令行模式和插入模式;
当vim运行后默认进入该模式,他可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert
mode下,或者到 last line mode。
b, vim不写保存退出文件编辑和写保存退出;
q (表示不保存退出,加[!]可强制退出
) wq(退出并保存)
c,编辑时,不是用方向键进行上下左右移动;
k(上移) j(下移)
h(左移) l(右移)
d,如何跳到文章第一行,最后一行,指定的某一行,怎么回到行首,行尾
gg(文章第一行)G(最后一行) nG(n表示你想跳到行数)
0(数字‘0’,跳行首)
$(跳到行尾)
e,删除光标后的字符,光标前的字符;
小‘x’(删除光标后字符,即光标右边)
大‘X’(删除光标前字符,即光变左边)
f,删除光标的当前行,删除光标当前行及其下N行
dd(删当前行) Nd[enter](删除光标当前行及其下N行) Nyy(删除光标当前行及其下N-1行)
g, 复制光标的当前行,复制光标当前行及其下N行并找到相印位置粘贴;
yy(复制光标的当前行) Nd[]enter](复制光标当前行及其下N行) Nyy(复制光标当前行及其下N-1行)
p(粘贴)
h,复制粘贴选定的一片区域字符;
v(选择) y(复制) p(粘贴)
i, 在当前光标前插入字符,在当前光标后插入字符,替换当前光标上的字符;
i(在当前光标前插入字符) a(在当前光标后插入字符)
s(替换当前光标上的字符,直接删除替代的字符) r(同等s,只是不直接删除字符)
j,如何在vim下做搜索,怎么搜索上一个,先一个匹配;
?或者/ [要搜索的内容] 然后n选择自己要找的
2,认识标准输入,标准输出和标准出错,想想他们默认都是什么?什么是重定向,给个三个命令例子分别使用标准输入,标准输出和标准出错重定向;
标准输入为键盘(0),标准输出为屏幕(1),标准出错也是屏幕(2)。
重定向:改变程序的标准输入或输出目标
注:wc显示特定文件的字节数,行数,字数并显示结果
3,认识管道,并使用管道完成下面功能:
使用ping命令发送5个数据包用来测试到某个IP地址的连通性,然后从输出的结果中找到丢包率。如ping命令执行后的结果如下:
PING 4.2.2.2(4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=4 ttl=53time=810 ms
--- 4.2.2.2 ping statistics ---
5 packets transmitted, 1 received, 80% packetloss, time 5621ms
rtt min/avg/max/mdev =810.998/810.998/810.998/0.000 ms
用命令获取80% packet loss中的80这个数字。
可用cut(用单字符做空格符)和awk(用字符串做分隔符)命令:
ping –c 5 4.2.2.2| grep “packets transmitted” | cut –d “,” –f 3 | cut –d “%” –f 1
ping –c 5 4.2.2.2| grep “packets transmitted” | awk -F "," '{print $3}' | awk -F "%" '{print $1}'