菜鸟笔记
提升您的技术认知

linux常用命令-ag真人游戏

目录

vi

命令模式与编辑模式

命令模式

编辑模式

cat

tac

more

less

head

tail

命令用途: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#操作(在当前行的行首增加#注释)创建快捷键ctrl p
:map ^p i#
//为0x操作(删除当前行行首的第一个字符)创建快捷键ctrl b
:map ^d 0x
//为邮箱[email protected]字符串起别名为email 
:ab email [email protected]

注:在vi命令模式下设置的别名和快捷键仅对本次编辑有效,若需要将别名或快捷键永久存储需在当前用户家目录中的.vimrc文件中进行配置。

编辑模式

在vi命令模式下,输入插入命令或替换命令可以从命令模式进入编辑模式。

常用的vi插入命令及其作用如下表。

命令 作用
a 在光标所在字符的后面插入内容
a 在光标所在行的行尾插入内容
i 在光标所在字符的前面插入内容
i 在光标所在行的行首插入内容
o 在光标所在行的下面插入新行
o 在光标所在行的上面插入新行

常用的vi替换命令及其作用如下表。

命令 作用
r 替换光标所在处字符
r 从光标所在处开始替换字符,按esc结束替换

 

命令用途:cat命令用来显示文件的内容。当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按ctrl s键,停止滚屏;按ctrl q键可以恢复滚屏。按ctrl c(中断)键可以终止该命令的执行,并且返回shell提示符状态。

命令语法:cat [-选项] [文件名]

常用选项:

-n:显示行号;

-b:和-n相似,只不过对于空白行不编号;

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行; 

//显示当前目录下的notice.txt文件的内容,并显示行号
cat -n ./notice.txt 

命令用途:逆序显示文件内容。

命令语法:tac [文件名] 

//逆序显示当前目录下的notice.txt文件的内容
tac notice.txt 

命令用途:分页显示文件内容。

命令语法:more [文件名]

操作方法:

空格键或f    向下翻页

enter键      向下换行

q或q         退出 

//分页显示etc目录下的services文件的内容
more /etc/services 

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

命令语法:less [文件名]

操作方法:

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

pageup键                      向上翻页

enter键、↓键                 向下换行

↑键                          向上换行

q或q                          退出

常用选项:

-n:显示行号;  

//分页显示etc目录下的services文件,并显示行号。
less -n /etc/services 

注:在使用less命令来分页查看文件内容时,在浏览过程中输入"/要搜索的关键字"后按enter,可以将搜索到的关键字高亮显示,使用"n"查看下一个搜索到的结果。  

命令用途:显示文件的前几行。

命令语法:head [-选项][文件名]

常用选项:

-n:指定要显示的行数,若不指定默认显示10行; 

//显示etc目录下的services文件的前20行。
head -n 20 /etc/services

命令用途:显示文件末尾几行。

命令语法:tail [-选项][文件名]

常用选项:

-n:指定要显示的行数,若不指定默认显示10行;

-f:动态显示文件末尾内容; 

//动态显示catalina.out日志文件的末尾20行。
tail -fn 20 /tomcat/catalina/logs/catalina.out
网站地图