Linux命令行和vi编辑器的使用

一、Linux命令行使用

基本格式:提示符 命令 选项 参数(由空格或者制表符隔开)。命令行是严格区分大小写的,有的参数是可以不带任何选项与参数的。
选项前有一个“-”连字符,例如xxx@Linux:~$ ls -a。多个选项时还可以简化输入ls -l -a简化为ls -la。不过多个字符组成的选项(的名称)就没法简写,前面必须有“-”如-directory
参数一般是命令的操作对象,例如不带参数的ls命令列出当前目录下的文件和目录,而xxx@Linux:~$ ls /home/test是列出指定目录的。
通常选项位于参数前。

1.调用历史命令

默认情况bash存储1000个历史命令。按上下箭头可以查看。如果命令非常多,可以使用history列出最近使用过的所有命令,显示的结果也非常友好是历史命令加上数字编号。如果要执行其中某一条历史命令可以输入“!编号”。

2.自动补全命令

bash有命令自动补全,输入命令或者文件名的一部分按<Tab>可以补全剩余。如果补不全就再按一次,获得与输入部分匹配的命令或文件名列表,自己选。好处是减少不必不要的错误输入。

3.命令行续行

前面一篇博客提到过一行多个命令用“;”隔开。那么一个命令输入几行可以用“\”反斜杠将一个命令持续到下一行。

4.输入重定向

Shell打开的标准输入文档(stdin)一般对应终端键盘。如果要让输入源来自文件命令 < 文件名。举个例子,wc命令统计文件行数、字数、字符数。如果执行不带参数的wc,用户输入命令按<Ctrl><D>表示提交一个文件结束符以结束键盘输入,于是对输入内容进行统计。而xxx@Linux:~$ wc < /ect/protocols将统计指定文件的。

5.输出重定向

Shell程序通常自动打开标准输出文档(stdout)和标准错误输出文档(stderr)。要将显示到屏幕上的东西保存至指定文件中则命令 > 文件名例如ls > /home/test(没有该文件夹将新建一个)。如果是追加到指定文件末尾可用ls >> /home/test。如果是标准错误输出重定向,将>改为2>,>>改为2>>。如果两个同时重定向&>。

6.管道

管道用于将一个命令的输出作为另一个命令的输入,符号“|”连接命令。例如将ls命令输出结果交给grep命令搜索ls | grep "ab"。对于输出内容较多的命令可以通过管道使用more命令分页例如cat /ect/log/message | more

7.命令替换

前一篇博客说过,反引号内的会先计算,并将结果带入命令行中。命令替换就是将一个命令的输出作为另一个命令的参数,由反引号实现。

8.执行脚本

执行脚本前要将Shell脚本权限设置为可执行的,直接编辑生成的脚本是没有执行权限的。用chmod命令,例如chmod +x 某脚本名

二、vi编辑器使用

Ubuntu使用的版本是vim相当于vi增强版。在命令行中输入vi进入vi编辑器。如果没指定文件,保存时会要求给出,如果指定文件不存在,保存时将以这个命名。

刚进入vi处于命令模式,需要输入字符进入插入模式。

1.插入模式

a: 从当前光标位置右边开始输入下一字符。
A: 从当前光标所在行的行尾开始输入下一字符。
i: 从当前光标位置左边插入新的字符。
I: 从当前光标所在行的行首开始插入字符。
o: 从当前光标所在行新增一行并进入插入模式,光标移到新的一行行首。
O: 从当前光标所在行上方新增一行并进入插入模式,光标移到新的一行行首。

从插入模式切换到命令模式,只需按<ESC>键。
命令模式下输入“:”切换到末行模式,从末行模式切换到命令模式,也需按<ESC>键。
如果不知道当前处于哪种模式,可以直接按<ESC>键确认进入命令模式。

2.移动光标

vi可以直接用键盘上的光标键来上下左右移动,但正规的vi的用法是用小写英文字母h、i、k、1,分别控制光标左、下、上、右移格(9j表示向下移动9行)。常用的光标操作还有以下几种情况。
●按<CtrI>+<b>键 上翻一页, 按<Ctrl>+<f>键 下翻一页。
●按0键移到光标所在行行首,按$键移到该行开头,按w键光标跳到下个单词开头。
●按G键移到文件最后一行,再按nG键(n为数字,下同),移到文件第n行,gg移动到文件第一行。
f{char}正向移动到下一个char字符所在位置。
+光标移动到非空格符的上一行,-光标移动到非空格符的上一行。
H移动到屏幕最上方那一行的第一个字符,L屏幕最下方。
nEnter光标下移N行。

3.删除

  • 字符删除:按x键向后删除一个字符;按nx键,向后删除n个字符(相当于Del键)。X删除光标所在前一个字符,相当于Backspace键。
  • 行删除:按dd键删除光标所在行;按ndd键,从光标所在行开始向下删除n行。

4.复制与粘贴

删除和复制的内容都将放到内存缓冲区。
进行大段文字复制时输入命令v进入可视选择模式。

字符复制:按y键复制光标所在字符,按yw复制光标所在处到字尾的字符。
行复制:按yy键复制光标所在行;按nyy键,复制从光标所在行开始往下的n行。
使用命令p将缓冲区内的内容粘到光标所在位置。
u撤销前一个命令。

5.查找字符串

  • /关键字:先按/键,输入要寻找的字符串,再按回车键向下查找字符串。
  • ?关键字:先按?键,输入要寻找的字符串,再按回车键向上查找字符串。

6.撤销或重复操作

如果误操作一个命令,按u恢复到上一次操作。按键.可以重复上一次操作。

7.保存文件和退出vi

保存文件和退出vi要进入末行模式才能操作(“:”切换到末行模式)。
:w filename将文件存入指定的文件名filename。
:wq将文件以当前文件名保存并退出vi编辑器。
:w将文件以当前文件名保存并继续编辑。
:q退出vi编辑器。
:q!不保存文件强行退出vi编辑器

在末行模式下还可执行以下操作(8,9,10,11)。

8.列出行号

输入set nu按回车键,在文件的每一行前面都会列出行号。

9.跳到某一行

输入数字,再按回车键,就会跳到该数字指定的行。

10.替换字符串

输入“范围/字符串1/字符串2/g”,将文件中指定范围字符串1替换为符串2,g表示替换不必确认;如果g改为c,则在替换过程中要求确认是否替换。范围使用“m,ns’的形式表示从m行到n行。对于整个文件,则可表示为“1,$s"。

11.多文件操作

要将某个文件内容复制到另一个文件中当前光标处,可在末行模式执行命令:r filename将filename的内容贴进来。要同打开多个文件,启动v时加上多个文件名,如:vi filename1 filename2。打开多个文件之后,在末行模式下可以执行命令:next:previous在文件之间切换。


参考书目《Ubuntu Linux 操作系统》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值