第六章 Linux的使用
目标
- 知道Linux操作系统及应用场景
- 掌握Linux常用命令
- 熟悉vi编辑器的使用
一、Linux操作系统
目标
- 了解操作系统及作用
- 了解linux文件目录的结构
1、Linux操作系统介绍
目标
- 知道主流的操作系统
- 了解Linux的特点和发行版本
1.1、操作系统介绍
操作系统:管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核和基石。

1.1.1主流的操作系统

1.2、Linux简介
Linux是一套免费使用和自有传播的操作系统
1.2.1、Linux的特点
- 开源免费
- 安全稳定
- 可移植性好
- 高性能
1.2.2、Linux系统的版本及分支

2、文件和目录
目标
- 了解Linux文件目录的结构
2.1、Linux文件系统
2.1.1、Windows和Linux文件系统区别

Linux是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点。

2.1.2、Linux主要目录简介
- /:根目录,在linux下有且只有一个根目录,所有的东西都是从这里开始
- /home:用户目录
- /root:系统管理员root的目录
- /usr:应用程序存放目录
二、Linux常用命令
目标
- 掌握Linux常用命令
1、Linux终端命令格式
目标
- 了解终端命令格式
- 知道如何查阅终端命令帮助信息
1.1、终端命令格式
command [-options] [parameter]
说明:
- command:命令名,相应功能的英文单词或单词的缩写
- [-options]:选项,可用来对命令进行控制,也可以省略
- parameter:传给命令的参数,可以是零个、一个或者多个
- [ ] 代表可选
1.2、查阅命令帮助信息(知道)
提示:
- 现阶段只需要知道通过以下两种方式可以查询命令的帮助信息
- 先学习常用命令及常用参数的使用即可,工作中如果遇到问题可以借助网络搜索命令的中文资料
1.2.1、--help
command --help
说明:显示command命令的帮助信息
1.2.2、man
man command
说明:查阅command命令的使用手册
man 是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明
使用man时的操作键:
| 操作键 | 功能 |
| 空格键 | 显示手册页的下一屏 |
| Enter键 | 一次滚动手册页的一行 |
| b | 回滚一屏 |
| f | 前滚一屏 |
| q | 退出 |
| /word | 搜索word字符串 |
2、文件和目录常用命令
目标
查看目录内容:ls
切换目录:cd
创建和删除操作:touch、rm、mkdir
拷贝和移动文件:cp、mv
查看文件内容:cat、more、grep
其他:重定向 > 和 >、管道 | 、pwd、clear
2.1、查看目录内容
2.1.1、ls命令说明
li是英文单词list的简写,其功能为列出目录的内容,是用户常用的命令之一,它类似于DOS下的dir命令。
Linux下文件和目录的特点
- Linux文件或者目录名称最长可以有256个字符
- " . "代表当前目录
- " .. "代表上一级目录
- 以" . "开头的文件为隐藏文件,需要用-a参数才能显示。
2.1.2、ls常用选择
| 参数 | 含义 |
| -a | 显示指定目录下所有子目录与文件,包含隐藏文件 |
| -l | 以列表方式显示文件的详细信息 |
| -h | 配合-l以人性化的方式显示文件大小 |
详细信息含义如下图所示:

2.1.3、ls通配符的使用
| 通配符 | 含义 |
| * | 文件代表文件名中所有字符 |
| ? | 代表文件名中任意一个字符 |
| [] | 表示可以匹配字符组中的任意一个 |
| [abc] | 匹配a、b、c中的任意一个 |
| [a-f] | 匹配从a到f范围内的任意一个字符 |
2.2、切换目录
2.2.1、cd
- cd是英文单词change directory的简写,其他功能为切换当前的工作目录,是用户最常用的命令之一。
注意:Linux所有的目录和文件名大小写敏感。
| 命令 | 含义 |
| cd | 切换到当前用户的主目录(/home/用户目录),用户登录的时候,默认的目录就是用户的主目录 |
| cd~ | 切换到用户的主目录(/home/用户目录) |
| cd. | 切换到当前目录 |
|
cd.. |
切换到上级目录 |
|
cd- |
可进入上次所在的目录 |
注意:
- 如果路径是从根目录开始的,则路径的前面需要加上" / ",如" /home ",通常进入某个目录里的文件夹,前面不用加" / ".
2.2.2、相对路径和绝对路径
- 绝对路径 在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体位置。
- 相对路径 在输入路径时,最前面不是/或者~,表示相对 当前目录 所在的目录位置。
2.3、创建和删除操作
2.3.1、touch
- 创建文件或修改文件时间
- 如果文件不存在,可以创建一个空白文件
- 如果文件 已经存在,可以修改文件的末次修改日期
2.3.2、mkdir
- 创建一个新的目录
| 选项 | 含义 |
| -p | 可以递归创建目录 |
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名。
2.3.3、rm
- 删除文件或目录
使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用 -i 参数以逐个确认要删除的文件。
常用参数及含义如何表所示:
| 参数 | 含义 |
| -i | 以进行交互式方式执行 |
| -f | 强制删除,忽略不存在的文件,不需提示 |
| -r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
2.4、拷贝和移动文件
| 序号 | 命令 | 对应英文 | 作用 |
| 1 | cp 源文件 目标文件 | copy | 复制文件或者目录 |
| 2 | mv 源文件 目标文件 | move | 移动文件或者目录/文件或者目录重命名 |
2.4.1、cp
cp命令的功能是将给出的 文件 或 目录 复制到另一个 文件 或 目录 中,相当于DOS下的copy命令。
常用选项说明:
| 选项 | 含义 |
| -f | 覆盖已经存在的目录文件而不提示 |
| -i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
| -r | 若给出的源文件是目标文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 |
| -v | 显示拷贝进度 |
2.4.2、mv
- 用户可以使用mv命令来移动文件或目录, 也可以给文件或者目录重命名。
常用选项说明:
| 选项 | 含义 |
| -f | 禁止交互式操作,如有覆盖也不会给出提示 |
| -i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
| -v | 显示移动进度 |
2.5、查看文件内容
| 序号 | 命令 | 对应英文 | 作用 |
| 1 | cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
| 2 | more 文件名 | more | 分屏显示文件内容 |
| 3 | grep 文本文件名 | grep | 搜索文本文件内容 |
2.5.1、cat
- cat命令可以用来查看文件内容、创建文件、文件合并、追加文件内容 等功能
- cat 会一次显示所有内容,适合 查看内容较少 的文本文件
| 选项 | 含义 |
| -b | 对非空输出行编号 |
| -n | 对输出的所有行编号 |
2.5.2、more
- more 命令可以用于分屏显示文件内容
- 适合于 查看内容较多的文本文件
使用more的操作键:
| 操作键 | 功能 |
| 空格键 | 显示手册页的下一屏 |
| Enter键 | 一次滚动手册页的一行 |
| b | 回滚一屏 |
| f | 前滚一屏 |
| q | 退出 |
| /word | 搜索 word字符串 |
2.5.3、grep
- Linux系统中 grep 命令是一种强大的文本搜索工具
- grep 允许对文件进行 模式查找,所谓模式查找,又被称为正则表达式
常用选项说明:
| 选项 | 含义 |
| -v | 显示不包含匹配文本的所有行(相当于求反) |
| -n | 显示匹配行及行号 |
| -i | 忽略大小写 |
grep搜索内容串可以是正则表达式。
- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
grep常用正则表达式:
| 参数 | 含义 |
| ^a | 行首,搜寻以m开头的行;grep -n '^a' 1.txt |
| ke$ | 行尾,搜寻以ke结束的行;grep -n 'ke$' 1.txt |
| [Ss]igna[LI] |
匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep
-n '[Ss]igna[Ll]' 1.txt
|
2.6、其他
2.6.1、重定向> 和 >>
- Linux允许将命令执行结果 重定向到一个文件
- 将本应显示在终端上的内容 输出/追加 到 指定文件中
其中
- >表示输出,会覆盖文件原有内容
- >>表示追加,会讲内容追加到已有文件的末尾
2.6.2、管道 |
- Linux允许将 一个命令的输出 可以 通过管道 做为 另一个命令的输入
- 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为塞东西(写),右端取东西(读)
常用的管道命令有:
- more:分屏显示内容
- prep:在命令执行结果的基础上查询指定的文本
2.6.3、pwd
- 使用pwd命令可以显示当前的工作目录,很简单的命令,直接在终端输入pwd即可
2.6.4、clear
- claer作用为清除终端上的显示(类似于DOS的cls清屏功能),也可以使用快捷键:Ctrl+("l"为小写字母"L")
3、系统信息相关命令
目标
- 重启与关机:reboot、shutdown [不常用]
- 进程信息:ps、top、kill
- 端口信息:netstat、lsof
- 查看日志信息:head、tail
- 查看操作系统信息:cat/proc/version、cat /etc/issue
3.1、重启与关机:reboot、shutdown
3.1.1、reboot命令
| 序号 | 命令 | 作用 | 说明 |
| 1 | reboot | 重新启动操作系统 | 执行命令后立即重启操作系统 |
| 2 | shutdown | 关闭操作系统 | 执行命令后,提示1分钟后关闭操作系统 |
3.1.2、shutdown命令
- shutdown命令的选项:
| 命令 | 含义 |
| shutdown -r now | 重新启动操作系统,shutdown会给别的用户提示 |
| shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
| shutdown -h 20:25 | 系统在今天的20:25会关机 |
| shutdown -h +10 | 系统再过十分钟后自动关机 |
3.2、查看系统进程
所谓进程,通俗的讲就是 当前正在执行的一个程序
| 序号 | 命令 | 作用 |
| 1 | ps -aux | process status 查看当前系统中正在执行程序的详细状况 |
| 2 | kill [-9] 进程代号 | 终止指定代号的进程,-9表示强行终止 |
| 3 | top | 动态显示运行中的进程并且排序 |
-
ps 默认只会显示当前用户通过终端启动的应用程序
-
ps 选项说明
| 选项 | 含义 |
| a | 显示终端上的所有进程,包含其他用户的进程 |
| u | 显示进程的详细状态 |
| x | 显示没有控制终端的进程 |
- 每一个进程拥有唯一的pid,可以根据pid杀死进程如:kill 12478 或kill -9 12478(强制杀死)
注意:显示瞬间进程的状态,并不动态链接,如果相对进程进行时间监控,应该用top命令
3.3、查看系统监听的端口
3.3.1、netstat命令
netstat命令用于显示各种网络相关信息
常用于查看软件打开的端口信息
注意:一般需要root用户权限,才能看到更详细的端口信息
| 序号 | 命令 | 作用 | 说明 | 举例 |
| 1 | netstat | 用于查看显示网络状态 | ||
| 2 | netstat -anptu | 查看所有的进程和端口使用情况 | 一般用来查看端口被那些程序使用,但是我们不单单独使用 | |
| 3 | netstat -anpyu \ | grep mysql | 结合grep查找指定程序打开的端口 | 比如这里查看的就是mysql正在使用的端口号 |
选项说明:
| 选项 | 含义 |
| -a | 显示所有已打开的端口 |
| -n | 不用别名显示,只用数字显示 |
| -p | 显示进程号(pid)和进程名 |
| -t | 显示所有tcp协议端口 |
| -u | 显示所有udp协议端口 |
3.3.2、lsof命令
- lsof(list open files)是一个列出当前系统打开文件的工具
- 可以用于查看系统中正在使用端口的详细信息
注意:一般需要root用户权限,才能看到更详细的端口信息
| 序号 | 命令 | 作用 | 说明 |
| 1 | lsof -i | 如果不给出条件,则默认显示所有进程打开的所有文件 | |
| 2 | lsof -i:3306 | 列出使用端口3306的进程信息 | 这里是查看3306这个端口被那个应用程序占用了 |
- 提示:linux系统中安装软件时,会出现因为端口被占用而无法安装的情况,这个时候就需要我们用 lsof -i 命令查看安装软件要使用的端口是否被占用。
3.4、查看日志信息
3.4.1、head命令
| 序号 | 命令 | 作用 | 说明 |
| 1 | head | 用来显示文件前10行的内容 | 如果不加参数默认显示文件前10行内容 |
| 2 | head -15 文件名 | 显示文件前15行内容 |
例子:查看某个文件的开头10行内容:head -10 temp.txt
- 提示:一般用于,想要查看一个很大的文件前几行内容时使用。
3.4.2、tail命令
| 序号 | 命令 | 作用 | 说明 |
| 1 | tail | 显示文件后10行内容 | 如果不加参数默认显示文件后10行内容 |
| 2 | tail -15 文件名 | 显示文件结尾15行内容 | |
| 3 | tail -f 文件名 | 实时监控文件内容 | 用于查看线上服务的运行日志,实时显示写入日志的信息 |
例子1 : 查看某个文件的结尾10行内容:tail -10 temp.txt
3.4.2.1、tail -f 实例:
- 实时监控文件变化:
- 不停的向文件写入内容:ping www.baidu.com > temp.txt
- 实时监控:tail -f temp.txt
3.5、查看操作系统信息
-
查看当前操作系统版本信息:cat/proc/version
-
查看版本当前操作系统发行信息:cat/etc/issue
4、用户权限和管理
目标
- 用户和权限基本概念
- 修改权限终端命令
- 用户管理终端命令
4.1、用户 和 权限 的基本概念
4.1.1、权限基本概念

- 对 文件/目录 的权限包括:
| 序号 | 权限 | 英文 | 缩写 | 数字代号 |
| 1 | 读 | read | r | 4 |
| 2 | 写 | write | w | 2 |
| 3 | 执行 | excute | x | 1 |
| 4 | 无权限 | - | 0 |
4.1.2、ls -l扩展
- ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:
- 权限,第1个字符如果是d 表示目录,如果是 - 表示文件
- 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录或文件
- 拥有者,家目录下 文件或目录 的拥有者通常都是当前用户
- 组,在linux种,很多时候,会出现组名和用户名相同的情况
- 大小
- 时间
- 文件名
4.1.3、chmod命令-字母法
- chmod修改文件权限有两种使用格式:字母法与数字法
- 字母法:chmod u+r文件名
- 用户类型
| 用户 | 含义 |
| u | user 表示该文件的所有者 |
| g | group 表示与该文件的所有者属于同一组(group)者,既用户组 |
| o | other 表示其他以外的人 |
| a | all 表示这三者皆是 |
权限设置
| 增减权限 | 含义 |
| + | 增加权限 |
| - | 撤销权限 |
| = | 设定权限 |
4.1.4、chmod命令-数字法

- chmod在设置权限时,可以简单的使用三个数字分别对应 拥有者/组和其他用户的权限
- 数字法:chmod 755 文件名
- 权限对照图:
- 常见数字组合有(u表示用户/g表示组/o表示其他):
- 777 ===> u=rwx,g=rwx,o=rwx
- 755 ===> u=rwx,g=rx,o=rx
- 644 ===> u=rw,g=r,o=r
4.2、用户管理
- 单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源
- Windows xp之前是单用户系统
- 多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源
- linux从设计之初就是多用户操作系统
4.2.1、查看命令位置:which
查看命令位置,也可以查看安装在系统中的程序的位置
| 命令 | 含义 |
| which is | 查看ls命令在系统中的位置 |
| which python | 查看python程序安装在系统中的位置 |
4.2.2、切换账号:su
Centos下切换到root的简单命令:su
| 序号 | 命令 | 作用 | 说明 |
| 1 | su - | 切换到root用户 | |
| 2 | su - 用户名 | 切换到指定的用户,并切换目录 | - 可以切换到用户家目录,否则位置保持不变 |
- su 不接用户名,可以直接切换到root,但是不推荐使用,因为不安全
4.2.3、设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。
用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
| 序号 | 命令 | 作用 | 说明 |
| 1 | passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用passswd可以修改自己的账户密码 |
4.3.4、退出登录账号:exit
- 如果是图形界面,退出当前终端:
- 如果是使用ssh远程登录,退出登录账户:
- 如果是切换后登录用户,退出则返回上一个登录账号。

4.3.5、查看登录用户:who
who命令用于查看当前所有登录系统的用户信息。
| 序号 | 命令 | 作用 | 说明 |
| 1 | who | 查看当前所有登录系统的用户信息 |
常用选项:
| 选项 | 含义 |
| -q 或 -count | 只显示用户的登录账号和登录用户的数量 |
| -u 或 -heading | 显示列标题 |
5、其他命令
目标
- 查找文件:find
- 软连接:In -s
- 打包和压缩:tar、gzip、bzip2、zip、unzip
5.1、查找文件
find命令功能非常强大,通常用来在待定的目录下搜索符合条件的文件
| 序号 | 命令 | 作用 |
| 01 | find[路径] -name"*.py" |
查找指定路径下扩展名是.py的文件,包括子目录
|
- 如果省略路径,表示在当前文件夹下查找
- 之前学习的通配符,在使用find命令时也可用
常用方法:
| 命令 | 含义 |
| find .-name test.sh | 查找当前目录下所有名为test.sh的文件 |
| find .-name '*sh' | 查找当前目录下所有后缀为.sh的文件 |
5.2、软链接
5.2.1、In -s
| 序号 | 命令 | 作用 |
| 01 | In -s 源文件 链接文件 | 建立文件的软链接,用通俗的方式讲 类似于Windows下的 快捷方式 |
- 注意:
- 软链接只是指向源文件的一个链接
- 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
- 软链接可以链接目录
硬链接简介
- 在使用 In 创建链接时,如果没有 -s 选项,会创建一个 硬链接,而不是软链接
- 两个文件大小时相同的,即使删除了源文件,链接文件还是存在,所以软链接是更常用的方式。
5.3、打包和压缩
- 打包压缩 是日常工作中备份文件的一种方式
- 在不同操作系统中,常用的打包压缩方式是不同的
- Windows 常用 war
- Mac 常用 zip
- Linux 常用 tar.gz
5.3.1、打包/解包
- tar 是 Linux 中最常用的 备份 工具,此命令可以 把一些列文件 打包到 一个大文件中,也可以把 打包的文件 恢复成一系列文件
- tar使用格式如下:
#打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
#解包文件
tar -xvf 打包文件.tar
tar常用选项说明:
| 参数 | 含义 |
| -c | 生成档案文件,创建打包文件 |
| -v | 列出归档解档的详细过程,显示进度 |
| -f | 指定档案文件名称,f后面一定时.tar文件,所以必须放选项最后 |
| -t | 列出档案中包含的文件 |
| -x | 解开档案文件 |
注意:f 选项必须放在最后,其他选项可以随意
5.3.2、压缩/解压缩
5.3.2.1、gzip
- tar 与 gzip命令结合使用实现文件 打包、压缩
- tar只负责打包文件,但不压缩
- 用gzip压缩tar打包后的文件,其扩展名一般用 xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件 (gzip -r xxx.tar)
常用选项:
| 选项 | 含义 |
| -r | 压缩所有子目录 |
| -d | 解压 |
- tar 命令中增加一个选项 -z 可以调用 gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
- 命令格式如下:
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
| 选项 | 含义 |
| -C | 解压缩到指定的目录,注意:要解压缩到目录必须存在 |
5.3.2.2、bzip2(two)
- tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)
- tar 只负责打包文件,但不压缩
- 用 bzip2 压缩tar打包后的文件,其扩展名一般用 xxxx.tar.bz2
- 在tar命令中增加一个选项 -j 可以调用bzip2,实现一个压缩的功能,实行一个先打包后压缩的过程.
- 命令格式如下:
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
5.3.2.3、zip、unzip
- 通过 zip 压缩文件的目录文件不需要指定扩展名,默认扩展名为 zip。
- 命令格式如下:
# 压缩文件
zip [-r] 打包文件 被压缩的文件
# 解压缩文件
unzip -d 解压后的目录 打包文件.zip
6、Linux远程链接
目标
- 掌握远程链接工具的使用
6.1、为什么要学习远程链接
实际工作中往往是通过远程链接到Linux系统的
6.2、putty64
- ifconfig查看Linux的ip地址
- 从下图位置输入用户名和密码,即可以远程使用

6.3、winscp
- 远程链接服务器,可以互相传文件
- 从下图位置输入用户名、密码、IP地址、点击登录,左侧显示为自己电脑的数据,右侧就是服务器电脑中的数据,可以左右随意拖拽
- 注意:如果发现远程链接错误,先检查自己的虚拟机网络配置是否为桥接模式,如果不是,要关闭,在设置


三、vi编辑器
目标
- 熟悉vi编辑器的使用
1、vi编辑器
目标
- vi简介
- 三种工作模式
- vi基础操作
1.1、vi简介
vi是"Visual interface"的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不像World或者WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。VI没有菜单,只有命令。且命令繁多
1.2、三种工作模式
vi有三种工作模式:
- 命令模式
- 文本输入模式
- 末行模式

1.2.1、命令行模式
任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式:我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
1.2.2、文本输入模式
在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。
1.2.3、末行模式
末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。例如:
:wq
1.3、vim基础操作
vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富
进入插入模式:
i: 插入光标前一个字符
I: 插入行首
a: 插入光标后一个字符
A: 插入行未
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
进入命令模式:
ESC:从插入模式或末行模式进入命令模式
移动光标:
h: 左移
j: 下移
k: 上移
l: 右移
M: 光标移动到中间行
L: 光标移动到屏幕最后一行行首
G: 移动到指定行,行号 -G
w: 向后一次移动一个字
b: 向前一次移动一个字
{: 按段移动,上移
}: 按段移动,下移
Ctr-d: 向下翻半屏
Ctr-u: 向上翻半屏
Ctr-f: 向下翻一屏
Ctr-b: 向上翻一屏
gg: 光标移动文件开头
G: 光标移动到文件末尾
删除命令:
x: 删除光标后一个字符,相当于 Del
X: 删除光标前一个字符,相当于 Backspace
dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符
d0: 删除光标前本行所有内容,不包含光标所在字符
dw: 删除光标开始位置的字,包含光标所在字符
撤销命令:
u: 一步一步撤销
Ctr-r: 反撤销
重复命令:
.: 重复上一次操作的命令
文本行移动:
>>: 文本行右移
<<: 文本行左移
复制粘贴:
yy: 复制当前行,n yy 复制 n 行
p: 在光标所在位置向下新开辟一行,粘贴
可视模式:
v: 按字符移动,选中文本
V: 按行移动,选中文本可视模式可以配合 d, y, >>, <<实现对文本块的删除,复制,左右移动
替换操作:
r: 替换当前字符
R: 替换当前行光标后的字符,直到按esc
查找命令:
/: str查找
n: 下一个
N:上一个
浙公网安备 33010602011771号