Linux命令大全(通俗易懂)


正在更新中…

su -

su -切换身份(切换到root身份)
exit退出root身份

ls命令

如果文件名之前多一个.,则代表这个文件为隐藏文件
ls是英文单词list的简写,其功能为列出目录的内容

ls查看当前目录的内容(缺点:隐藏文件看不到)
ls -a查看当前目录内容,包括隐藏文件
ls -l(等价于ll)以列表方式显示文件的详细信息(文件类型,权限,大小等)
ls -al查看当前目录内容(包括隐藏文件)的详细信息
ls -h配合-l以人性化的方式显示文件大小
ls -lh查看目录内容的详细信息,以K,M,G方式显示文件大小
ls /root/aaa查看/root目录下的aaa目录的内容
ll /root/aaa查看/root目录下的aaa目录的内容的详细信息
ls -R当前目录下的所有文件都会被显示出来,连同子目录的内容一起列出(递归列出)
ls -d仅列出目录本身(当前目录.)
ls -lh a*列出当前目录下所有以’a’开头的文件的详细信息(人性化)
ls -l --full-time能够显示完整的时间格式,包括年月日,时间.(若是一个文件被修改的时间距离现在太久,那么时间部分仅会显示年份)

pwd,mkdir命令

mkdir命令:用于创建目录

pwd查看当前所在目录
mkdir 目录名(如:mkdir text)在当前目录下创建文件夹(用于创建没有层级关系的目录)
mkdir -p 目录1/目录2/目录3在当前目录下一次创建多层文件夹(创建有层级的目录),若是目录1和目录2不存在则也要创建目录1,2
mkdir -m 777 目录名创建权限为777的目录(777也可改为其它,如111等)
mkdir -v 目录创建目录(假如创建bbb目录)会显示信息mkdir: 已创建目录 "bbb"

rm命令

rm命令用于删除文件或目录(-f删文件,-r删目录)

rm -r 目录删除目录有提醒 是否删除(y是,n否),而且是递归删除
rm 文件名删除文件有提醒(单独一个rm无法删除目录)
rm -fr 目录直接删除目录(强删----不管有没有内容)
rm -fr 文件名删除文件(强删)

rmdir命令

rmdir命令用于删除空目录

rmdir 目录名删除空目录,不是空目录无法删除
rmdir dir若dir是空目录则删除,否则无法删除
rmdir -p aaa/aa当子目录aa被删除后使目录aaa也成为空目录的话,则目录aaa也被删除

cd命令

cd命令,功能是更改当前的工作目录
.当前目录
..上一级目录

cd切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名)
cd ~回到用户主目录
cd 目录(如cd text)进入此目录
cd ..回到上一级目录
cd ../..回到上上一级目录
cd -表示在最后两次出现的目录之间切换(类似于↑↓键)
cd /回到/目录
cd ../text相对路径(相对于当前目录)
cd /root/text绝对路径(从/目录开始的路径)
// #给/root目录下的myshell创建一个软连接shellx
[root@localhost ~]# ln -s /root/myshell /etc/shellx
// #进入/etc目录
[root@localhost ~]# cd /etc
// # -P表示使用物理路径结构而不是跟随符号链接,于是回到了myshell目录
[root@localhost etc]# cd -P ./shellx
[root@localhost myshell]# 
[root@localhost myshell]# cd /etc
// # -L表示强制跟随符号链接,于是进入shellx目录,也可以直接使用cd ./shellx
[root@localhost etc]# cd -L ./shellx
[root@localhost shellx]# 

touch命令

touch命令用于创建文件

touch a.text在当前目录下创建a.text文件(相对路径)
touch /root/a.text在/root目录下创建a.text文件(绝对路径)
touch a.text b.text c.text一次创建多个文件

mv命令

mv命令:可用来移动文件或目录,也可用来给文件或目录重命名
1.移动:

移动文件(到目录中)mv 文件名 目录名
例子mv a.text dir
移动多个文件(到目录中)mv 文件名1 文件名2 文件名3 目录名
例子(将a.text,b.text,c.text文件移到dir目录中)mv a.text b.text c.text dir
移动目录(将目录1移到目录2中)mv 目录名1 目录名2(已存在)

2.重命名:

文件重命名mv 文件名 新文件名
目录重命名mv 目录名 新目录名(不能存在)

cat命令

cat命令的功能:查看文件内容
cat是由第一行到最后一行连续显示在屏幕上

cat 文件名查看文件的内容
cat -n 文件名将文件的内容加上行号(空行也要加行号)后输出
cat -b 文件名列出行号,仅针对非空白行做行号显示,空白行不标行号,显示文件内容
cat -A 文件名可列出一些特殊字符而不是空白([tab]会以^I表示,换行符则是以$表示)
cat -T 文件名将[tab]键以^I显示出来
cat -E 文件名将结尾的换行符换成$显示出来
cat -TE 文件名功能同cat -A 文件名一样
cat --version显示版本信息并退出
cat --help显示帮助信息并退出
cat -s 文件名将所有的连续的多个空行替换成一个空行
#将文件test1的内容加上行号后输入到test2里
cat -n test1>test2
#将test1和test2的内容加上行号(空白行不加)后,将内容追加在test3里(若test3文件不存在则创建)
cat -b test1 test2>>test3
[root@localhost ~]# cat -n h.c
     1	#include <stdio.h>
     2	int main()
     3	{	
     4	
     5		int a=12;
     6		int b=12;
     7	 	int sum=a+b;
     8		printf("%d",sum);
     9	
    10		return 0;
    11	}

tac命令

tac的功能是跟cat相反的,它是由最后一行到第一行反向在屏幕上显示出来

nl命令

nl 文件名将文件的内容加上行号(空行不加行号)后输出
nl -b t 文件名如果有空行,空行不列出行号,将文件的内容加上行号后输出
nl -b a 文件名将文件的内容加上行号(空行也要加行号)后输出,类似cat -n
nl -n ln 文件名行号在屏幕的最左方显示(左对齐,空格不用0 填充)
nl -n rn 文件名行号在自己栏位的最右方显示(右对齐,空格不用0 填充)
nl -n rz 文件名行号在自己栏位的最右方显示,(右对齐,空格用0 填充如第一行为000001)
nl -w n 文件名n:行号栏位的占用的字符数(n=1,2,3…)

more命令

nl,cat,tac等命令都是一次性地将数据全显示在屏幕上,而more,less则是一页一页翻动

more +n 文件名从文件内容的第n行开始显示(n=1,2,3…)
more -n 文件名指定每屏(每页)显示的行数为n(也就是刚开始第1行至第n行显示在屏幕上,接下来通过摁Enter键,摁一次显示1行(也可以通过空格键)…直到显示完为止)
more +/sum h.c从文件h.c中查找第一个出现"sum"字符串的行,并从该处前2行开始显示
more -p 文件名滚屏,在顶部显示文件内容
more -c 文件名从顶部清屏,然后显示文件内容
Ctrl+b或b往回翻页,这操作只对文件有用,对管道无用
空格键向下翻一页
Enter向下翻一行
:f(注意:是Shift+:(也就是: ;键),然后再摁f)立刻显示出文件名和目前显示的行数
q立刻离开more,不再显示文件内容

less命令

空格键向下翻动一页
[pagedown] (键盘上的PgDn键)向下翻动一页
[pageup](PgUp键)向上翻动一页
q离开less这个程序
g前进到这个数据的第一行(文件第一行)
G前进到这个数据的最后一行
less +/字符串 文件名从文件第一行开始向下查找字符串
less +?字符串 文件名从文件最后一行开始向上查找字符串
less +n 文件名重复前一个查找(与/或?有关)
less +N 文件名反向(若前一个是从前往后查找,则这个是从后往前查找)的重复前一个查找(与/或?有关)

head命令

head和tail都是以为单位来进行数据截取
head(取出文件前面几行)

head [-n number] 文件名-n后面接数字,代表显示几行的意思
head 文件名默认显示前面10行
head -n 5 文件名显示5行文件内容
head -n -10 文件名除了最后面10行不显示,其它都显示(若number是负数,则文件最后面number行不显示,其它都显示)

tail命令

tail(取出后面几行)

tail [-n number] 文件名-n 后面接数字,代表显示几行的意思
tail 文件名默认显示文件内容的最后10行
tail -n 20 文件名显示文件最后20行
tail -n +100 文件名只显示100行以后(包括100行)的数据
tail -f /var/log/messages因为/var/log/messages随时会有数据写入,利用-f这个选项,它可以一直刷新显示/var/log/messages这个文件,新加入的数据都会被显示在屏幕上,直到按下[Ctrl]+c才会结束tail这个命令的执行

cut命令

cut命令:在文件的每一行中提取片段.
cut的工作就是,就是在文件中负责剪切数据用的.cut命令从文件的每一行剪切字节,字符和字段并将这些字节,字符和字段输出.
cut [选项参数][N-M] filename
说明:默认分隔符是制表符

选项作用
-b输出这些字节(注意:一个汉字占两个字节哦)
-c输出这些字符
-d分隔符,按照指定分隔符分割列(字段)
-f输出这些字段(也就是按照分隔符分隔列时输出第几到第几列)
-s不显示没有分隔符的行
-n忽略(也就是告诉cut不要将多字节字符(汉字)拆成一个个字节)

若是单独使用-b(不使用-n选项)来剪切文件内容(假如文件内容含有汉字),则会输出一些你看不懂的字符 ,也就是你得不到你想要的结果,因为cut会将多字节字符拆分成一个个字节.

N第N个字节,字符或字段,从1计数起
N-从第N个字节,字符或字段直至行尾
N-M从第N到M(包括M)个字节,字符或字段
-M从第1到M(包括M)个字节,字符或字段
[root@localhost ~]# cat b.text
文 件:系统
类型abc
容:量
已 用  
可 用 
已用% 
挂载 点
123 456 789
// # -c会以字符为单位输出(汉字也是一个字符)
[root@localhost ~]# cut -c1 b.text
文
类
容
已
可
已
挂
1
// #-b会以字节为单位输出
// #-b选项加上-n选项后,会把一个字符当成是一个字节
[root@localhost ~]# cut -n -b1,2,3 b.text
文 件
类型a
容:量
已 用
可 用
已用%
挂载 
123

cp命令

cp a.text dir将a.text文件复制到dir目录
cp a.text b.text将a.text文件的内容复制到b.text
cp a.text dir/b.text将a.text的内容复制到dir目录下并重命名为b.text
cp -a 目录名1 目录名2将目录1复制到目录2中
例子(将dir1目录复制到dir2目录中)cp -a dir1 dir2
# 给myshell创建一个软连接shellx
[root@localhost ~]# ln -s /root/myshell /root/shellx
# -d复制符号链接作为符号链接而不是复制它指向的文件,并且保护在副本中原本件之间的硬链接
[root@localhost ~]# cp -d shellx dir2
#给a.text文件创建一个硬连接b.text
[root@localhost ~]# ln /root/a.text /root/b.text
# -l制作硬连接代替非目录复制(也就是再创建一个硬连接)
[root@localhost ~]# cp -l b.text c.text
# -p表示保持原始文件的所有者,,许可和时间表属性
#也就是文件text的文件权限和所属用户,所属用户组,其它用户,文件大小和文件最近修改时间和文件a.text是一样的
[root@localhost ~]# cp -p a.text text
cp:是否覆盖"text"? y
# -i表示无论是否覆盖现存文件都作提示
[root@localhost ~]# cp -i a.text text1
cp:是否覆盖"text"? y

tar命令

Linux的压缩包后缀一般是.tar.gz
1.解压
.tar.gz格式:

tar -zxvf 压缩文件 [-C] [指定解压目录 ]
tar -zxvf redis-3.2.8.tar.gz将压缩包解压到当前目录
tar -zxvf redis-3.2.8.tar.gz -C /root/dir将压缩包解压到指定目录
tar -xvf redis-3.2.8.tar.gz默认解压到当前目录

zip格式:

unzip mysql-connector-java-8.0.13.zip默认解压到当前目录
unzip -d /opt mysql-connector-java-8.0.13.zip解压到指定目录

2.压缩
.tar.gz格式

tar -czvf snappy-1.1.1.tar.gz snappy-1.1.1将snappy-1.1.1文件夹进行打包压缩
tar -czvf /root/dir/snappy-1.1.1.tar.gz /opt/server/snappy-1.1.1将snappy-1.1.1文件夹进行打包压缩到指定目录
tar -czvf text.tar.gz /root/text打包压缩
tar -cvf text.tar.gz /root/text打包(不压缩)

zip格式

zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13将当前目录下的mysql-connector-java-8.0.13文件夹进行打包压缩
tar -c创建一个新tar文件
tar -v显示运行过程的信息
tar -f指定文件名
tar -z调用gzip压缩命令进行压缩
tar -t查看压缩文件的内容
tar -x解开tar文件

find命令

用法:find path -option [-print] [-exec -ok command] {} \;
默认路径为当前目录;默认表达式为 -print
find命令(文件查找命令):用于查找符合条件的命令
-name按文件名查
-type f只查文件,不查文件夹

find / -name ’ins*查找/目录下文件名以ins开头的文件
find / -name ‘*.text查找/目录下文件名以.text结尾的文件
find -type f -size +100M查找/目录下文件大小大于100M的文件(+表示大于)
find -name ‘*text’查找当前目录下以text结尾的文件
find . -type d -print从当前目录查找,仅查找目录,找到后打印路径名(可用于打印目录结构) ,-print可省略
find /root -name a.text>/root/nullfind /root -name a.text输出的内容重定向到null中
find / -size -100c查找/目录下小于100B大小的文件(c表示字节,-表示小于)
find / -size 100c找/目录下100B大小的文件)

|

-print将查找到的文件输出到标准输出
-exec command {} ;将查找到的文件执行command操作,注意:{}和\;之间有空格
-ok command {} ;和exec一样,但在操作前要询问用户
选项
-name filename查找名为filename的文件
-perm按执行权限来查找
-user username按文件属主来查找
-group groupname按文件所属用户组来查找
-nogroup查找无有效属组的文件,即文件的属组不在/etc/groups文件中
-nouser查找无有效属主的文件,即文件的属主不在/etc/passwd文件中
-newer f1 !f2查找更改时间比f1新但比f2旧的文件
-type b/d/c/p/l/f查找块设备/目录/字符设备/管道/符号链接 /普通文件
-size n[c]查找长度为n块(或n字节) 的文件
-depth在进入子目录前,先行查找完本目录
-fstype查找更改时间比f1新但比f2旧的文件
-mount查找文件时,不跨越文件系统mount点
-follow如果遇到符号链接文件,就跟踪链接所指的文件
-cpio对匹配的文件使用cpio命令,将其备份到磁带设备中
-prune忽略某个目录

grep命令

grep命令可以对文件进行文本查询

grep hello 文件名在文件中查找hello
grep hello 文件名 --color在文件中查找hello并高亮显示
grep -v int 文件名-v只打印没有匹配的,而匹配的反而不打印(匹配到int的行不打印)
-n-n选项表示显示行号

wc命令

功能:统计指定文件中的字节数,字符数,字数和行数.

wc [option] file
选项
-c统计字节数
-l统计行数
-m统计字符数
-w统计字数
-L统计最长行的长度

which命令

which命令:查看可执行文件位置

which pwd查看pwd命令的路径

ps命令

ps命令用来列出系统中当前运行的那些程序(进程)

ps -ef查看当前Linux系统所有的进程
ps查看ps命令本身的进程和当前终端进程

UID每个用户的编号
PID每一个进程的编号(它父亲PPID)

kill命令

kill命令用来终止执行中的程序,也就是终止进程

kill -9 pid
kill -9 12345终止pid为12345的进程

管道命令

管道命令|的作用是将一个命令的输出用作另一个命令的输入

ps -ef | grep java查看名称中包含java的进程
ll | grep dir查找当前目录中dir相关的文件或文件夹

用户的创建和删除命令

useradd 用户名创建一个新用户
passwd 用户名设置用户密码
userdel -r 用户名删除用户

权限管理命令

r可读 (读取权)
w可写(写入权)
x可执行(执行权)
-无权限
r对文件是指可读取内容,对文件夹是指可以ls
w对文件是指可以修改内容;对文件夹是指可以在其中创建或删除子节点(目录或文件),可以mv(移动,重命名)
x对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录

文件类型:d代表文件夹,-代表普通文件,l代表快捷方式(链接文件)

属主(user)u属组(group)g其它用户(other)o
rwxrwxrwx
421421421

在这里插入图片描述

请添加图片描述

chgrp命令

chgrp修改文件所属用户组
注意:要被修改的组名必须要在/etc/group文件中存在

chgrp 用户组名 文件(目录)名修改所属用户组
chgrp bin test1将test1的所属用户组修改为bin
chgrp -R 用户组名 目录名递归修改,连同子目录下的所有文件和目录(也被修改)

chown命令

chown修改文件拥有者
注意:要被修改的用户名必须要在/etc/passwd文件中存在

chown [-R] 账号名称 文件或目录
chown xinuser test1修改test1目录的所属用户(文件拥有者)为xinuser
chown -c root test1修改test1目录的所属用户(文件拥有者)为root,-c表示详尽地描述每个文件实际改变了那些所有权(文件拥有者和所属用户组从什么变更到什么)
chown -v root test1-v的作用和-c的作用一样,但是如果文件的所属用户本身就是root, 不改变,则-v也会详尽地描述文件实际改变了哪些所有权,而-c啥事也不干.
chown [-R] 账号名称:用户组名称 文件或目录-R表示进行递归修改,连同目录下的所有文件目录(和子目录下的所有文件和目录)都修改
chown .用户组名称 文件名修改所属用户组(chown也能单纯地修改所属用户组,因为.)
chown .bin test1将test1的所属用户组修改为bin
chown :用户组名称 文件名修改所属用户组(chown也能单纯地修改所属用户组,因为:)
chown :root test1将test1的所属用户组修改为root
chown xinuser:bin test将test目录的所属用户修改为xinuser,所属用户组修改为bin
chown root.root test将test目录的所属用户修改为root,所属用户组修改为root
// #给myshell目录创建软连接,shellx为创建好的软连接名
[root@localhost ~]# ln -s myshell shellx
// # -h选项表示只作用其本身的符号链接(也就是只修改shellx),而不修改其指向的文件
[root@localhost ~]# chown -h xinuser.bin shellx
// #没有-h选项则把软连接shellx和其所指向的源文件也修改
[root@localhost ~]# chown xinuser.root shellx

chmod命令

+增加权限
-移除权限
=设置权限

chmod命令用于变更文件或目录的权限

u代表所属用户的身份
g代表所属用户组的身份
o代表其它用户的身份
a代表全部(即ugo)身份all
chmod +x a.text给所有用户都加上执行权限
chmod u+x a.text给所属用户添加执行权限,在原来权限的基础上追加
chmod u=x a.text给所属用户赋为执行权限,将原来的权限覆盖
chomd a-x 文件名将所有用户都减去执行权限,a可省略
chmod -x a.text将所有用户都减去执行权限
chmod 777 a.text给所有用户都加上所有权限(4+2+1)
chmod 000 test1所有用户都无任何权限(如d---------)
chmod -R u+x 目录名-R进行递归修改,连同子目录下的所有文件都会被修改
chmod u=rwx,go=rx 文件名将所属用户设置为读写执行权限,将所属用户组和其它用户设置为读和执行权限
chmod a+r a.text b.text将a.text和b.text的所有用户都加上读取权限
chmod -R a+r *将当前目录下的所有文件连同子目录递归修改,将所有用户都加上读取权限
chmod --help显示此命令的帮助信息并退出
chmod --version显示此命令的版本信息并退出
chmod -vR 744 test1-v显示权限变更的详细资料(从什么权限变更到什么权限),-R递归修改权限
chmod -c 744 a.text若该文件权限确实已经更改,才显示其更改动作(从什么权限变更到什么权限);若权限不变则啥事也不干

一个文件刚创建时默认的权限就是644(4+2,4,4),-rw-r--r--

hostname命令

hostname命令:查看主机名

ifconfig命令

Linux查看IP地址:ifconfig
Windows查看IP地址:ipconfig

service命令

service命令:用来控制系统服务的实用工具,它以启动,停止,重新启动关闭系统服务,还可以显示所有系统服务的当前状态

service network status查看网络服务状态
service network stop停止网络服务
service network start启动网络服务
service network restart重启网络服务

ln命令

ln命令是用来创建硬连接和软连接的

硬连接

硬连接:如果A文件和B文件的关系是硬连接的关系,当用户修改了A文件的内容,那么B文件的内容也会改变;当用户修改了B文件的内容,那么A文件的内容也会被改变.
特点:
1.硬连接不限于两个文件之间,可以在多个文件之间进行,ls -l命令中显示了文件的硬连接数(只有文件的才是硬连接数,目录不是)
2.不能对目录做硬件连接
3.不能在不同的文件系统之间做硬连接,df -Th命令中显示了Linux中的文件系统.
4.所有的硬连接,具备相同的iNode节点号.
创建硬连接:
ln file1 file2给文件1创建硬连接

软连接

软连接也叫做符号链接
类似Windows中的快捷方式,为一个源文件创建一个快捷方式.
特点:
1.如果源文件被删除了,快捷方式就不能使用了;一旦以同样文件名创建了源文件,链接将继续指向该文件的新数据.
2.在ls -l中,软连接作为一种特殊的文件类型显示出来,其第一个字母是l.
3.软连接的大小是其链接文件的路径中的字符数.
ln命令可以用来创建软连接(类似于创建快捷方式)

ln -s a.text b.text给a.text创建快捷方式b.text (给a.text创建软连接,b.text为创建好的软连接名)

pwd -P显示文件的实际路径,而不是软连接的路径.

[root@localhost ~]# ln -s /root/myshell /etc/shellx
[root@localhost ~]# cd /etc/shellx
[root@localhost shellx]# ls
user.sh
[root@localhost shellx]# pwd
/etc/shellx
[root@localhost shellx]# pwd -P
/root/myshell
删除软连接

如果软连接,连接到的是一个目录
cd /etc
正确的删除方法:rm -fr ./shellx
错误的删除方法:rm -fr ./shellx/,因为这样会把实际目录中的所有文件删除

history命令

history查看所有的历史命令(也可以通过摁键)

clear命令

clear清屏命令,还可以使用快捷方式Ctrl+L

vi

vi是Linux中最经典的文本编辑器,vi的核心设计思想:让程序员的手指始终保持在键盘的核心区域,就能完成所有的操作
vi的特点:
1.只能是编辑文本内容,不能对字体段落进行排版.
2.不支持鼠标操作.
3.没有菜单,只有命令

vi a.text直接打开a.text文件
vi a.text +10直接打开文件并定位到第10行

vi编辑器有三种模式:
1.一般命令模式:打开文件直接进入一般命令模式,是使用vi的入口.通过命令对文件进行常规的编辑操作,例如定位,翻页,复制,粘贴,删除.在其它图形编辑器下,通过快捷键或鼠标实现的操作,都在一般命令模式下实现
2.编辑模式:正常的编辑文字.在一般命令模式,无法编辑文件的内容,要等到你按下[i,I,o,O,a,A,r,R]等任何一个字母之后才会进入编辑模式.如果要回到一般命令模式,则需按下[Esc]这个按键即可退出编辑模式.
3.命令行模式:执行保存退出等操作,要退出vi返回到控制台,需要在命令行模式下输入命令,命令行模式是vi的出口.在一般命令模式中,输入[:?/]三个中的任何一个按钮,就可以将光标移到最下面那一行.
在这里插入图片描述

一般命令模式常用命令:
光标移动一个字符:h(←),j(下),k(↑),l(→).

命令功能
x与Xx为向后删除一个字符,X为向前删除一个字符
nxn为数字,连续向后删除n个字符
dd删除光标所在行
ndd从光标位置向下连续删除n行
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
yy复制光标所在行
nyy从光标位置向下连续复制n行
p与Pp为将已复制的数据在光标下一行粘贴,P则为贴在光标上一行
u撤销上一次命令
Ctrl+r.重做上一个操作
gg移动到文件第一行
G移动到文件的最后一行
nG移动到文件的第n行
nn为数字,光标向下移动n行
0(数字0)或功能键[Home]移动到这一行最前面的字符处
$或功能键[End]移动到这一行的最后面字符
Ctrl+f屏幕向下移动一页,相当于[Page Down]键
Ctrl+b屏幕向上移动一页,相当于[Page up]键
n<space>n表示数字,例如10,按下数字10后再按空格键,光标会向右移动这一行的10个字符
/str向光标之下查找一个名称为str的字符串
?str向光标之上查找一个名称为str的字符串
n重复上一个查找操作,若是上一次是执行?str,那么按下n则会向上继续查找名称为str的字符串
N反向进行前一个查找操作,若是上一次是执行?str,那么按下N则会向下查找名称为str的字符串
:n1,n2s/word1/word2/gn1,n2为数字,在第n1行到第n2行之间寻找word1字符串,并将该字符串替换成word2
:1,$s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串替换成word2
:1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串替换成word2,且在替换前显示提示字符给用户确认是否需要替换

一般命令模式切换到编辑模式:

i与Ii为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入
a与Aa为从目前光标所在的下一个字符处开始插入,A为在目前光标所在行的最后一个字符处开始插入
o与Oo为在目前光标所在处的下一行插入新的一行,O为在目前光标所在处的上一行插入新的一行
r与Rr只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下Esc键为止
[Esc]退出编辑模式,回到一般命令模式中

一般命令模式切换到命令行模式:

:w保存文件不退出(将编辑的数据写入硬盘文件中)
:w!若文件属性为只读时,强制写入该文件
:q退出vi编辑器
:q!强制退出vi编辑器不保存
:wq保存退出
:wq!强制保存退出
ZZ保存退出
:w a.text将当前文件另存为b.text
:set nu设置行号
:set nonu取消行号
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值