Linux(Ubuntu)命令1
Linux(Ubuntu)命令1链接:
https://blog.csdn.net/weixin_44679038/article/details/102825817
Linux(Ubuntu)命令2
Linux(Ubuntu)命令2链接:
https://blog.csdn.net/weixin_44679038/article/details/103202091
vi文本编辑器
vi是Ubuntu Linux中基于文本界面的编辑器,是Linux中最基本的编辑工具。
启动与退出
启动:vi [文件名]
文件名存在则打开这个文件,文件名不存在则创建一个新文件
退出:在vi中输入推出命令即可
:wq 存盘退出
:q 退出(没有对文本进行修改,则可以用命令q退出)
:w 存盘
:w! 强制存盘
:q! 强制退出
工作模式
-
命令模式 command mode
在命令模式中,输入的任何字符vi都把它当作相应的命令来执行,输入的字符不在屏幕上显示。【vi启动之后先进入命令模式】 -
插入模式
在插入模式下,输入的字符都作为文件的内容显示在屏幕上。
进入vi之后进入插入模式的方法:
i(I)插入命令
a(A)追加命令
o(O)开辟空行
添加完成之后按Esc即可回到命令模式 -
转义模式
在转义模式下,光标停留在屏幕最末行,以接受输入命令的执行。该模式用于执行一些全局性的操作,如文件操作、参数设置、查找与替换、复制与粘贴、执行shell命令等。【按Esc回到命令模式,再输入转义字符“:”,“/”,“?”等就会进入转义模式】
基本应用
vi编辑器的文本编辑及修改等操作通过普通键盘即可完成,不支持鼠标操作。
vi命令严格区分大小写,大写字母和小写字母代表的是不同的命令。
添加文本
①光标的移动
- h、j、k、l:光标向 左、下、上、右 移动一个字符
- w:以单词为单位向后移动光标
- b:以单词为单位向前移动光标
- e:光标移动到该单词的词尾
- (、):光标移动到句首、句尾
- {、}:光标移动到段首、段尾
②光标定位
- $:光标移至尾行
- 0:(0=零)光标移至首行
- f:光标移至指定的字符下
- [n]G:光标移至第n行。未指定n时,光标移动到最后一行
③在命令模式下,对光标的定位和移动
- Home:光标移动到首行
- End:光标移动到尾行
- PageUp:向上翻页
- PageDown:向下翻页
- Backspace:光标前移一个字符
- Space:光标后移一个字符
- Enter:光标下移一个字符
- 小键盘上的↑↓←→:光标按箭头方向移动一个字符
④屏幕的滚动
可以使用PageUp、PageDown进行翻页也可以使用下面的命令进行翻页
- Ctrl+u: 向上翻半屏
- Ctrl+d:向下翻半屏
- Ctrl+b:向上翻一屏,功能和PageUp相同
- Ctrl+f:向下翻一页,功能和PageDown相同
⑤常用的插入命令
- a:在光标位置后开始接收输入
- A:在行尾后开始接收输入
- i:在光标位置前开始接收输入
- I:在行首前开始接收输入
- o:(o≠零)在光标所在行之后开辟一个新的空行,并开始接收输入
- O:在光标所在行之前开辟一个新的空行,并开始接收新的输入
删除文本
-
x:删除光标处的单个字符
-
X:删除光标左边的单个字符
-
D:删除一行文本。如果光标在文本的中部,则删除此行光标右边的文本
-
dd:删除光标所在行的文本,包括硬回车
-
J:当前行与下一行合并为一行,光标置于第二行,即删除当前行的行尾处的换行符
-
d+定位符:删除从光标位置到指定位置范围内的字符
-
- d0:删除光标左边的文本
-
- d$:删除光标右边的文本
-
- dG:删除光标所在行之后的所有行
-
Inset:实现替换与插入的转换功能
-
Backspace:删除光标前的字符
-
Space:空格
-
Enter:换行
-
↑↓←→:光标按箭头方向上下左右移动
文本的修改与替换
替换=“先删除后插入”
②常用的替换命令
使用替换命令和修改命令都需要在命令模式下进行,所以在插入模式下要先按Esc回到命令模式,然后再进行下面的操作
- s:用输入的新文本替换光标处的字符(可以输入一个或多个)
- S:用输入的新文本替换光标所在的行(如果不输入新文本,执行效果就是将整行删掉,变成一个空白行)
- r:用输入的新字符替换光标处的字符(一个新字符换一个旧字符)
- R:用输入的新文本逐个替换从光标处开始的各个字符
②常用的修改命令
- c0:(0=零)修改光标左边的字符
- c$:修改光标右边的字符
- c1:(1=一)修改光标处的字符
- cG:修改光标所在行之后的所有行
文本的剪切、复制、粘贴
在插入模式下,不允许剪切,复制,粘贴文本。这些操作要在命令模式下进行
- yy:复制光标所在的行
- y0:(0=零)复制光标左边的文本内容
- y$:复制光标右边的文本内容
- p:粘贴文本到光标处
- dd:剪切光标所在行的文本
撤销与重复执行
在命令模式下:
- u:(undo)取消刚刚执行的命令
- . :重复执行上一个命令
全文范围的字符查找与替换
在转义模式下进行
进入转义模式:先按Esc进入命令模式,再单击转义字符(如:“:”、“/”、“?”等字符),进入转义模式。
①关键字的查找
/关键字:从当前光标位置开始查找,直至如果能够找到匹配的字符串,则光标会停留在第一个匹配字符串的首字符处。输入命令n可以继续向后进行查找,搜索到文件尾后,继续输入命令n,则返回文件开头继续查找。
②字符串的替换
命令::[替换起始处,替换结束处] s/要被替换的字符串/替换的字符串/ [g] [c]
- “替换起始处”,“替换结束处” 指的是行号的范围:其中^符号代表行首,$符号代表行尾(全文的最后一行)
- “要被替换的字符串”:要在文中查找的模式串
- “替换的字符”:用作替换的模式串
- g:替换目标行中所匹配的字符串【没有g则只能替换目标行中的第一个匹配的字符串】
- c:替换以互动的方式进行,替换前会提示用户进行确认
保存与退出
在转义模式下进行
先按Esc键,确保处于命令模式,然后输入转义字符:,再输入相关命令,最后执行。
- :q 如果原文未修改,不保存文件,直接退出vi
- :q! 不保存文件,强制退出。“!”代表强制性操作
- :wq! 强制保存文件并退出
- :e! 放弃修改,编辑区恢复为文件原样
- :w 保存当前文件
- :w:路径/文件名 另存为一个新文件
高级应用
多窗口编辑
①在vi中依次打开两个文件
vi 文件名1
打开一个“文件1”文件→在已打开的文件中按Esc
回到命令模式→输入命令:sp 文件名2
打开文件2【此时,屏幕被分成上下两个窗口,上面的窗口显示的是“文件2”的内容,下面的窗口显示的是“文件1”的内容,光标停留在“文件2”的开始处】
②光标在两个窗口中切换
- 如果当前光标正处于 下 面的窗口中,按Esc键,再按Ctrl+W键,最后按K键,使光标定位到 上 面的窗口
- 如果当前光标正处于 上 面的窗口中,按Esc键,再按Ctrl+W键,最后按J键,使光标定位到 下 面的窗口
③全文复制
把另一个窗口的文件全文复制到本文件中
先按Esc确保处于命令模式下,再输入命令:r 被复制的文件名
即可
④关闭窗口
依次使用退出命令关闭所有文件
复制区域
打开某文件 →
光标移动到需要复制的第一行 →
按Esc键,确保当前处于命令模式 →
按Ctrl+V键 →
使用小键盘上的上下左右方向键,进行区域选取 →
按Y键结束区域选取 →
光标移动到目标位置→
按P键粘贴
在vi中实现与shell的交互
在用vi进行文件的编辑时,如果需要执行shell命令,可以在不退出vi的情况下进行
在vi模式下,使用“!”命令来访问shell
命令格式:: ! shell命令
执行的结果显示在vi中,按Enter键即可继续进行文件的编辑