一、vim编辑器
vim 编辑器共有三种工作模式,分别是命令模式、输入模式和末行模式。
〖例2.24〗使用vim编辑器创建并编辑文件hello.c。
二、查看文件内容命令
1. more/less 浏览文件全部内容
当文件内容过多时,可以用more或less命令来查看。
命令格式:more 文件名
less 文件名
〖例2.25〗使用vim编辑器创建并编辑文件info,文件内容不少于30行,使用more和less命令分别查看文件内容。
#vim info //输入不少于30行
#more info //注意底部的百分比显示
#less info //注意退出使用“q”
2. cat 查看文件内容
该命令用于将文件的内容打印输出到显示器或终端窗口上。
命令格式:cat [选项] 文件名
选项 |
功能说明 |
-n |
从1开始对所有输出的行数进行编号 |
-b |
从1开始对所有输出的非空白行的行数进行编号 |
-s |
当遇到连续两行以上的空白行时,用一个空白行代替 |
3. head/tail 显示文件头部/尾部信息
head命令用来查看文件前若干行,tail命令用来查看文件后若干行。
命令格式:head [选项] 文件名
tail [选项] 文件名
默认情况下,查看10行的内容,可以通过对选项的设置来决定要查看的行数。
〖例2.26〗查看文件hello.c文件第一行的内容和后两行的内容。
#head -1 hello.c
#tail -2 hello.c
4. grep查询字符串
grep命令可以在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容。
命令格式:grep 关键字 查找范围
〖例2.27〗在当前目录下的myfile文件中查找字符串this。
#grep this myfile
三、管道与重定向命令
1. 管道命令
有时在操作Linux命令时,需要将一个命令的执行结果作为另一个命令输入来执行,这时候就需要用到管道命令。
管道命令是“|”。管道命令可以将多个命令连接在一起,每一个命令都独立运行,每一个命令的运行结果都作为下一个命令的输入。管道的单向性决定了命令处理的单向性。
命令格式:cmd1 | cmd2 | cmd3 |……|cmd(n)
管道命令可以实现将一个命令的输出当作另一个命令的输入,后者的输出又可作为第三条命令的输入,以此类推,这样,管道命令行中最后一条命令的输出才会显示在屏幕上。因此,可以利用管道操作,将多条相关的命令连接起来。在使用的时候,第一个命令正常写,后面的命令都只写操作,不写操作的对象,因为操作的对象就是前一个命令的输出结果。
〖例2.28〗查看/etc目录下的内容。
#ls /etc|less
本例中,如果执行#ls /etc 命令,会发现由于/etc目录下内容比较多,所以无法看到全部的内容,一种解决方案就是使用|命令,将ls /etc的执行结果作为less命令的输入,达到分页显示ls /etc内容的功能。
〖例2.29〗显示/etc目录中文件名以pass开头的的文件。
#ls /etc | grep pass*
2. 重定向
Linux命令在执行的时候,常规下都会有输入,命令处理完成后会有结果的输出。输入通常使用标准输入设备,输出通常使用标准输出设备和标准错误设备端口。
stdin表示标准输入设备端口,命令的输入都从其获取。默认是键盘。
stdout表示标准输出设备端口,命令执行的结果都向其输出。默认是控制台的显示屏。
stderr表示标准错误设备端口,命令执行过程中出现的错误信息都向其输出。默认是控制台的显示屏。
所谓重定向,指不使用系统的标准输入、输出、错误端口进行信息的获取或输出,而是通过重新的指定,让命令从非默认的输入输出设备获取或输出信息。所以重定向分为:输入重定向、输出重定向和错误重定向。
命令 |
说明 |
> |
输出重定向。如果原来目标文件存在,则新的内容会覆盖文件中原有的内容 |
>> |
输出重定向。如果原来目标文件存在,则新的内容会追加在原来内容的后面,不覆盖文件中的原有内容 |
< |
输入的重定向。即命令的输入不通过键盘来完成,而通过其他的方式 |
2> |
错误重定向 |
&> |
输出重定向和错误重定向同时实现 |
〖例2.30〗将ls /命令的执行结果记录到list的文件中。
#ls / > list
执行后在本目录下会新建一个list文件,文件内容为ls / 命令的执行结果。
〖例2.31〗如果命令useradd lolo在执行时发生错误,则将错误信息保存到当前目录下的errlog文件中。
#useradd lolo 2>errlog
如果命令执行正常,没有错误出现,则该错误重定向操作不会被执行。只有在命令执行出现错误的情况下,该错误重定向才会被执行。错误信息重定向经常用于对程序的调试。
〖例2.32〗将程序hello的执行结果和错误信息全部都重定向输出到/tmp目录下的outfile文件中。
#./hello &> /tmp/outfile
项目二:使用vim编辑文档
操作过程:
$cd //切换至guestuser1用户主目录。
$vim guestuser1.plan
输入“i”切换到输入模式,输入: :
Data access:8a.m.
Reading program:10p.m.
Project design:13a.m.
Discussion items:15p.m.
输入完成后,使用“:”切换至末行模式,保存退出。
$less guestuser1.plan
$less guestuser1.plan >> /dev/tty2