1.编辑 件的内容,命令 编辑 具vi/vim
命令 的情况
vim path( 件)
当使 vim指定 个 本 件的时候,会进 该 本 件,并查看到该 本 件的内容。此时,默认情况下是不能对该 件进 内容修改的。
vim分为4 模式:
命令模式(确定光标在哪)
编辑模式
末 模式
可视化模式
只有在编辑模式下,才能类似于windows记事本那样去编辑 件。
当vim指定 件然后回 ,进 的第 个模式是命令模式。
hjkl分别代表←↓↑→,这四个字 都属于命令模式 的“命令”。
有些系统提供的命令 不 持 键盘,或者你的键盘压根就没有 键盘。
4个命令已经讲完了,hjkl表示命令模式 调整光标 向的命令。
论光标在任何位置,输 gg,就能将光标切换到 ( 本的第 的最前 )输 G就能切换到最后 ,shift+g=G
输 nG就能切换到第n ,3G,就能切换到第三 ,123456G是什么意思。
按完3,松 ,然后再按G,不是按住3,再按G。
光标所在位置按x,能删除光标所在位置的字符。如果连续按x,就会不断的向右删除字符。
光标所在位置按X,就能删除光标所在位置左侧的第 个字符,如果练习按X,就会不断的向左删除字符。
按u能撤回上 次的操作,相当于windows 的ctrl+z,windows的ctrl+z是有限制的。windows能撤回次数有限,取决于编辑软件的缓冲区设置。vim命令模式下的u, 乎可以 限次的撤回到 件内容最开始的部分。按住u,就会 直撤回,直到恢复你刚进到 本的样 。
在命令模式下,输 i,I,o,O,a,A都能进 编辑模式,在编辑模式(任何模式)按ESC键就能退回到命令模式,为了防 有些同学按ESC键没按到,或者ESC没起作 。
经验: 定能退回到命令模式-(狂按ESC)
编辑模式:
命令模式下按i,就会开始从光标所在位置的左侧开始插 本
命令模式下按I,光标就会 刻到达光标所在 的 开始插 本
命令模式下按a,就会开始从光标所在位置的右侧开始插 本
命令模式下按A,光标就会 刻到达光标所在 的 尾开始插 本
命令模式下按o,就会在光标所在 下 另起 开始插 本
命令模式下按O,就会在光标所在 上 另起 开始插 本
让你在某个配置的 件第486 配置下 另起 ,添加Listen 223
486G o
Listen 223
在命令模式下还有很多命令
在命令模式下按dd就能删除光标所在
在命令模式下按5dd就能删除包含光标所在 的下5在命令模式下按yy就能复制光标所在
在命令模式下按8yy就能复制包含光标所在 的下8
如果在命令模式的上 次操作中包含dd或者yy这种命令,dd和yy所删除或者复制的那些 ,都可以通过p命令粘贴出来。
当在命令模式下输 p时,会将上次dd或者yy指定的 ,增加到光标所在 的下 当在命令模式下输 p时,会将上次dd或者yy指定的 ,增加到光标所在 的上
在命令模式下输 “/”或者“:”就能进 末 模式末 模式下常 的操作就如下 种:
1:查看指定的字符串
在命令模式下输 "/"然后输 要查找的字符串,然后回 ,就会将查找到的字符串 亮的颜 显示出来。如果没找到,则会报错。
如果找到了内容,会以 亮颜 显示。如果找到了多个,可以按n切换到下 个找到的字符串,按N可以切换到上 个找到的字符串。
3:保存 本内容
在命令模式下输 :可以切换到末 模式,按w(write)然后回 ,就可以将修改的内容保存,即使保存了内容,命令模式的u仍然可以撤回。
:wq相当于:x表示保存退出
4:退出vim编辑器(如果修改的内容没有保存是不能正常退出编辑器的,如果强制退出会导致编辑的内容丢失)
保存之后可以在":"的末 模式输 q(quit)然后回 退出。
:q!表示强制退出。之前编辑的内容就不会保留。
在":"的末 模式下 持:wq直接保存退出。
由于Linux是 个多 户的操作系统,所以有可能出现多个 户同时编辑同 个 件的情况,所以要学会查看vim的异常状态。
:set number回 能显示 号
:set nonumber回 去掉 号
2: 本内容的替换
:n1,n2s/old content/new content/global
上 的操作会将第n1 开始,n2 结束,这些 之间且包含n1和n2 中old content替换成new content
:5,10s/123/456/g
第5 到第10 的123全部替换成456
:100,2000s/789/abdddddd/g
第100 到2000
:1,$s/1.1.1.1/172.16.33.90/g
第 到最后 的所有1.1.1.1替换成172.16.33.90
$就表示最后 。
如果要替换前的 本和替换后的 本 有特殊字符,需要 转义字符\,转义 下。
:1,$s///
替换结尾是否加g,表示是否进 全局替换。如果不加g,只会在每 的第 个找到的字符串做替换。
可视化模式:命令模式下按v或者V,或者ctrl+v能进 到可视化模式。
vi编辑器和vim编辑器
vim可以理解是vi plus
有些linux的发 版本默认没有vim,只有vi,你可以选择安装vim。
上 讲的所有操作,在vi上也可以使 。同样适 。
2.输出重定向
当我输 个命令之后,回 ,命令产 了结果,结果默认是输出到屏幕上的。
默认情况, 论 个命令执 正确与否,结果都会默认输出到屏幕上。
在有些情况下,我可能需要保留命令或者脚本输出的结果。当做log, 作后 分析。
将命令或者脚本产 的结果保存下来的意义。
cat /etc/hosts 产 的结果是正确的,我们可以使 >和>>将这个命令正确的结果输出到 个 件中
cat /etc/hosts > /root/file1 就是将">"前 命令的结果送到/root/file1 件中, 不是屏幕那个上。
>和>>是正确的重定向,能将正确的结果重定向到 件中,区别是
>会将指向的 件内容完全覆盖
>>会将重定向的内容追加到指定的 件
>就是正确的覆盖
>>就是正确的追加
2>就是错误的覆盖
2>>就是错误的追加
&>正确错误都覆盖
&>>正确错误都追加
&>> /dev/null
/dev/null是 个特殊的 件,如果将重定向指向这个 件,那么就相当于将执 结果送到 洞中。直接没了。
有些时候,我们不想让这个命令的输出显示到任何地 ,就送到 洞中。
3.输 重定向(可以将交互式命令变成 交互式命令)
cat
<
<<
完全不 样
4.引 些shell脚本的思想
shell脚本其实就是Linux命令的集合体
个脚本 可以有N个Linux命令
但是shell脚本 要尽可能的是 交互式命令这样才能让脚本“ 动”