Linux初窥:常用命令之(文件编辑与查看)

来源:互联网 发布:北京景观设计软件培训 编辑:程序博客网 时间:2024/06/05 08:45

vi命令

命令用途:vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。 vi编辑器支持命令模式和编辑模式,要正确使用vi编辑器就必须熟练掌握这两种模式的切换。

命令语法:vi [文件名]

命令模式与编辑模式

命令模式:在Shell提示符后输入vi命令,会自动进入命令模式。此时,从键盘上输入的任何字符都会被当作命令来解释。
编辑模式:在vi命令模式下,输入插入命令(a、i、o)或替换命令(r)可以从命令模式进入编辑模式。在编辑模式下,从键盘上输入的所有字符都会被当做该文件的正文内容。

命令模式

在vi命令模式下,提供了许多非常实用的辅助命令,可以帮助我们更加方便的对文件进行编辑,例如:设置行号、跳转到指定行、移动到行首或行尾和撤销操作等。
命令作用:set nu设置行号:set nonu取消行号gg跳转至第一行G跳转至最后一行nG跳转至第n行:n跳转至第n行$移动到光标所在行的行尾0移动到光标所在行的行首u撤销上一步的操作

如何删除?

命令作用x删除光标所在处的字符nx从光标所在处的字符开始, 连续删除n个字符dd删除光标所在行ndd从光标所在行开始,连续删除n行dG删除光标所在行直到文件末尾的内容D删除光标所在处到行尾的内容:n1,n2d删除第n1行到第n2行的内容

如何复制和剪切?

命令作用yy复制当前行nyy从当前行开始,连续复制n行dd剪切当前行ndd从当前行开始,连续剪切n行p(小写)粘贴到当前行上面P (大写)粘贴到当前行下面

如何搜索和替换?

命令作用/[匹配条件]搜索指定字符串n查看下一个搜索到的匹配结果:%s/old/new/g全文替换指定字符串:n1,n2s/old/new/g在第n1行到第n2行范围内替换指定字符串:n1,n2s/^/#/g为从第n1行到第n2行的各行行首增加#注释:n1,n2s/^#//g将从第n1行到第n2行的各行行首的#注释去掉:n1,n2s/^/\/\//g为从第n1行到第n2行的各行行首增加//注释
//为从第97行到第102行的各行行首增加#注释:97,102s/^/#/g//将从第97行到第102行的各行行首的#注释去掉:97,102s/^#//g

如何保存和退出?

命令作用:w保存修改:w [另存为文件名]另存为指定文件:wq保存修改并退出ZZ保存修改并退出:q!不保存修改退出:wq!强制保存修改并退出(对文件不具有写权限时,文件所有者及root可以使用)

导入内容、定义快捷键、起别名

命令作用:r ![命令]将命令的执行结果导入到当前行下面:map [快捷键] [命令组合]定义快捷键(Ctrl+V+快捷键或Ctrl+V、Ctrl+快捷键):ab [别名] [原内容]为指定内容起别名
//为I#<ESC>操作(在当前行的行首增加#注释)创建快捷键Ctrl+p:map ^P I#<ESC>//为0x操作(删除当前行行首的第一个字符)创建快捷键Ctrl+b:map ^D 0x//为邮箱pengjunlee@163.com字符串起别名为email :ab email pengjunlee@163.com
注:在vi命令模式下设置的别名和快捷键仅对本次编辑有效,若需要将别名或快捷键永久存储需在当前用户家目录中的.vimrc文件中进行配置。

编辑模式

在vi命令模式下,输入插入命令或替换命令可以从命令模式进入编辑模式。
常用的vi插入命令及其作用如下表。
命令作用a在光标所在字符的后面插入内容A在光标所在行的行尾插入内容i在光标所在字符的前面插入内容I在光标所在行的行首插入内容o在光标所在行的下面插入新行O在光标所在行的上面插入新行
常用的vi替换命令及其作用如下表。
命令作用r替换光标所在处字符R从光标所在处开始替换字符,按ESC结束替换

cat命令

命令用途:cat命令用来显示文件的内容。当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
命令语法:cat [-选项] [文件名]
常用选项:
-n:显示行号;
-b:和-n相似,只不过对于空白行不编号;
-s:当遇到有连续两行以上的空白行,就代换为一行的空白行;
//显示当前目录下的NOTICE.txt文件的内容,并显示行号cat -n ./NOTICE.txt 

tac命令

命令用途:逆序显示文件内容。
命令语法:tac [文件名]
//逆序显示当前目录下的NOTICE.txt文件的内容tac NOTICE.txt 

more命令

命令用途:分页显示文件内容。
命令语法:more [文件名]

操作方法:

空格键或f    向下翻页

Enter键      向下换行
q或Q         退出
//分页显示etc目录下的services文件的内容more /etc/services 

less命令

命令用途:和more相似,less命令也用来分页显示文件内容。
命令语法:less [文件名]

操作方法:

空格键或f、PageDown键         向下翻页

PageUp键                      向上翻页
Enter键、↓键                 向下换行
↑键                          向上换行
q或Q                          退出
常用选项:
-N:显示行号;
//分页显示etc目录下的services文件,并显示行号。less -N /etc/services 
注:在使用less命令来分页查看文件内容时,在浏览过程中输入"/要搜索的关键字"后按Enter,可以将搜索到的关键字高亮显示,使用"n"查看下一个搜索到的结果。

head命令

命令用途:显示文件的前几行。
命令语法:head [-选项][文件名]
常用选项:
-n:指定要显示的行数,若不指定默认显示10行;
//显示etc目录下的services文件的前20行。head -n 20 /etc/services

tail命令

命令用途:显示文件末尾几行。
命令语法:tail [-选项][文件名]
常用选项:
-n:指定要显示的行数,若不指定默认显示10行;
-f:动态显示文件末尾内容;
//动态显示catalina.out日志文件的末尾20行。tail -fn 20 /tomcat/catalina/logs/catalina.out
原创粉丝点击