云起实验室-冬季实战营第二期实验总结
Linux指令入门
文件管理
cat命令
cat命令描述:该命令用于连接文件并打印到标准输出设备上。
cat命令语法:
cat [参数] [文件名]
	
参数说明:
| 参数 | 说明 | 
| -n | 由1开始对所有输出的行数进行编号。 | 
| -b | 由1开始对所有输出的行数进行编号,对于空白行不编号。 | 
| -s | 当遇到有连续两行以上的空白行,就替换为一行的空白行。 | 
| -E | 在每行结束处显示$。 | 
| -T | 将 TAB 字符显示为^I。 | 
cat命令使用示例:
a. 执行如下命令,将一个自增序列写入test1.txt文件中。
for i in $(seq 1 10); do echo $i >> test1.txt ; done
	
	
b. 执行如下命令,查看文件test1.txt内容。
cat test1.txt
	
	返回结果如下所示。
	 编辑搜图
编辑搜图
c. 执行如下命令,将test1.txt的文件内容加上行号后输入到test2.txt文件。
cat -n test1.txt > test2.txt
	
	
d. 执行如下命令,查看文件test2.txt内容。
cat test2.txt
	
	返回结果如下所示。
	 编辑搜图
编辑搜图
e. 执行如下命令,将test1.txt文件内容清空。
cat /dev/null > test1.txt
	
	
f. 执行如下命令,查看文件test1.txt内容。
cat test1.txt
	
	返回结果如下所示,您可以看到test1.txt文件没有任何内容。
	 
cmp命令
cmp命令描述:该命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。
cmp命令语法:
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
	
参数说明:
| 参数 | 说明 | 
| -c | 除了标明差异处的十进制字码之外,一并显示该字符所对应字符。 | 
| -i <字符数目> | 指定一个数目。 | 
| -l | 标示出所有不一样的地方。 | 
| -s | 不显示错误信息。 | 
| -v | 显示版本信息。 | 
| --help | 在线帮助。 | 
cmp命令使用示例:
a. 执行如下命令,将一个自增序列1-5写入test1.txt文件中。
for i in $(seq 1 5); do echo $i >> test1.txt ; done
	
	
b. 执行如下命令,比较test1.txt文件和test2.txt文件是否相同。
cmp test1.txt test2.txt
	
返回结果如下所示,您可以看到test1.txt文件和test2.txt文件第一行就有不同之处。
	 
diff命令
diff命令描述:该命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
diff命令语法:
diff [参数] [文件或目录1] [文件或目录2]
	
参数说明:
| 参数 | 说明 | 
| -<行数> | 指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。 | 
| -c | 显示全部内文,并标出不同之处。 | 
| -u | 以合并的方式来显示文件内容的不同。 | 
| -a | diff预设只会逐行比较文本文件。 | 
| -b | 不检查空格字符的不同。 | 
| -d | 使用不同的演算法,以较小的单位来做比较。 | 
| -i | 不检查大小写的不同。 | 
| -y | 以并列的方式显示文件的异同之处。 | 
| -W<宽度> | 在使用-y参数时,指定栏宽。 | 
diff命令使用示例:
执行如下命令,比较test1.txt文件和test2.txt文件,以并排格式输出。
diff test1.txt test2.txt -y -W 50
	
	
	返回结果如下所示,您可以看到test1.txt文件和test2.txt文件的不同之处。
	 编辑搜图
编辑搜图
file命令
file命令描述:该命令用于辨识文件类型。
file命令语法:
file [参数] [文件]
	
参数说明:
| 参数 | 说明 | 
| -b | 列出辨识结果时,不显示文件名称。 | 
| -c | 详细显示指令执行过程,便于排错或分析程序执行的情形。 | 
| -f<名称文件> | 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。 | 
| -L | 直接显示符号连接所指向的文件的类别。 | 
| -v | 显示版本信息。 | 
| -z | 解读压缩文件的内容。 | 
file命令使用示例:
a. 执行如下命令,显示test1.txt文件类型。
file test1.txt
	
	
返回结果如下所示,您可以看到test1.txt文件类型是ASCII text。
	
b. 执行如下命令,显示test2.txt文件类型并不显示文件名称。
file -b test2.txt
	
	 
find命令
find命令描述:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find命令语法:
find [参数] [文件]
	
参数说明:
| 参数 | 说明 | 
| -mount | 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件。 | 
| -amin n | 在过去n分钟内被读取过文件。 | 
| -type c | 文件类型是c的文件。 | 
| -cmin n | 在过去n分钟内被修改过。 | 
| -name name | 查找文件名称为name的文件。 | 
find命令使用示例:
a. 执行如下命令,将当前目录及其子目录下所有文件后缀为.txt的文件列出来。
find . -name "*.txt"
	
	
	返回结果如下所示。
	
b. 执行如下命令,查找系统中所有文件长度为0的普通文件,并列出它们的完整路径。
find / -type f -size 0 -exec ls -l {} \;
	
	
	返回结果如下所示。
	 编辑搜图
编辑搜图
文件与权限
ls命令
命令描述: ls命令用于显示指定工作目录下的内容。
命令格式:ls [参数] [目录名]。
参数说明:
| 参数 | 说明 | 
| -a | 显示所有文件及目录(包括隐藏文件) | 
| -l | 将文件的权限、拥有者、文件大小等详细信息列出(ll等同于ls -l) | 
| -r | 将文件反序列出(默认按英文字母正序) | 
| -t | 将文件按创建时间正序列出 | 
| -R | 递归遍历目录下文件 | 
命令使用示例:
查看当前目录下的所有文件(包括隐藏文件)。
ll -a
	
命令输出结果:
	 编辑搜图
编辑搜图
ll命令
ll命令用于显示当前文件下非隐藏文件的详情
	 编辑搜图
编辑搜图
查询结果分为7栏:
1)如' -rw-r--r--' 表示三种用户对该文件的不同权限:
r:可读;w:可写;x:可执行
其中第一个字母表示:
'-':普通文件
'd':文件夹,是dirtectory单词的缩写
''b':块设备文件
'c':字符设备文件
2)如 ' 1 ' 表示该文件或文件夹中有多少子文件,如果是文件类型自然就是1了。
3)如 ' zhengbin ' 表示该文件或目录的拥有者。若使用者目前处于自己的HOME目录,那么查询的结果大概都是它的账号名称。
4)表示所属的组(group),每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
5)表示文件的大小,文件大小用byte表示。
6)表示最后一次修改时间。以“月 日 时间”格式表示。
7)表示文件名。
pwd命令
命令描述:获取当前工作目录的绝对路径。
命令使用示例:
	 
cd命令
命令描述:cd命令用于切换工作目录。
命令使用示例:
	 编辑搜图
编辑搜图
在路径表示中:
- 
		一个半角句号(.)表示当前目录,例如路径./app/log等同于app/log。 
- 
		两个半角句号(..)表示上级目录,例如路径/usr/local/../src等同于/usr/src,其中local和src目录同级。 
cd命令的默认参数为~,符号~表示当前用户的家目录,即在root用户登录时,命令cd、cd ~和cd /root执行效果相同。
touch命令
命令描述:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
命令格式:touch [参数] [文件]。
参数说明:
| 参数 | 说明 | 
| -c | 如果指定文件不存在,不会建立新文件 | 
| -r | 使用参考文件的时间记录 | 
| -t | 设置文件的时间记录 | 
命令使用示例:
- 
		创建两个空文件。 
touch demo1.txt demo2.txt
	
	 
- 
		修改demo1.txt的时间记录为当前系统时间。 
	 
- 
		更新demo2.txt的时间记录,使其和demo1.txt的时间记录相同。 
	 
mkdir命令
命令描述:mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。
mkdir -p a/b/c/d
	
命令使用示例:
新建目录a/b/c/d,并使用tree命令查看创建后的目录结构。
tree
	
	 编辑搜图
编辑搜图
rm命令
命令描述:rm命令用于删除一个文件或者目录。
命令格式:rm [参数] [文件]。
参数说明:
| 参数 | 说明 | 
| -i | 删除前逐一询问确认 | 
| -f | 无需确认,直接删除 | 
| -r | 删除目录下所有文件 | 
命令使用示例:
无需确认直接删除文件。
rm -rf demo*
	
	 编辑搜图
编辑搜图
无需确认直接删除目录a及其目录下所有子目录和文件。
rm -rf a
慎用此命令,如不确定必须删除文件,建议先备份再删除
	
cp命令
命令描述: cp命令主要用于复制文件或目录。
命令格式:cp [参数] [源文件] [目标文件]。
参数说明:
| 参数 | 说明 | 
| -d | 复制时保留链接 | 
| -f | 覆盖已经存在的目标文件而不给出提示 | 
| -i | 覆盖前询问 | 
| -p | 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 | 
| -r | 复制目录及目录内的所有项目 | 
命令使用示例:
将目录c/d中的所有内容复制到目录a/b下。
mv命令
命令描述: mv命令用来为文件或目录改名、或将文件或目录移入其它位置。
命令格式:mv [参数] [源文件] [目标文件]
参数说明:
| 参数 | 说明 | 
| -i | 若指定目录已有同名文件,则先询问是否覆盖旧文件 | 
| -f | 如果目标文件已经存在,不会询问而直接覆盖 | 
命令使用示例:
- 
		将文件名a.txt改为b.txt。 
 
 
- 
		
- 
		将c目录移动到a/b/c/d/下。 
 
 
- 
		
- 
		将当前目录内容全部移动到/tmp目录中。 
mv ./* /tmp
rename命令
命令描述:rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式。
命令使用示例:
- 
		将当前目录下所有文件名中的字符串demo改为大写的字符串DEMO。 
 
 
- 
		
- 
		将当前目录下所有.txt文件后缀都改为text。 
 
 
磁盘管理
df命令
df命令描述:该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df命令语法:
df [参数] [目录或文件名]
参数说明:
| 参数 | 说明 | 
| -a | 列出所有的文件系统,包括系统特有的/proc等文件系统。 | 
| -k | 以KBytes为单位,返回各文件系统容量。 | 
| -m | 以MBytes为单位,返回各文件系统容量。 | 
| -h | 以GBytes、MBytes、KBytes为单位,返回各文件系统容量。 | 
| -H | 以M=1000K取代M=1024K的进位方式显示各文件系统容量。 | 
| -T | 显示文件系统类型。 | 
| -i | 显示inode信息。 | 
df命令使用示例:
示例一:显示磁盘使用情况。
执行如下命令,显示磁盘使用情况。
df
返回结果如下所示。
	 
示例二:以inode模式来显示磁盘使用情况。
执行如下命令,以inode模式来显示磁盘使用情况。
df -i
返回结果如下所示。
	 
示例三:显示系统内的所有特殊文件格式、名称及磁盘使用情况。
执行如下命令,显示系统内的所有特殊文件格式、名称及磁盘使用情况。
df -aT
返回结果如下所示。
	 编辑搜图
编辑搜图
示例四:以GBytes、MBytes、KBytes等格式显示各文件系统容量。
执行如下命令,以GBytes、MBytes、KBytes等格式显示各文件系统容量。
df -h
返回结果如下所示。
	 
du命令
du命令描述:查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间。
du命令语法:
du [参数] [文件或目录名称]
参数说明:
| 参数 | 说明 | 
| -a | 列出所有的文件与目录容量。 | 
| -h | 以G、M、K为单位,返回容量。 | 
| -s | 列出总量。 | 
| -S | 列出不包括子目录下的总量。 | 
| -k | 以KBytes为单位,返回容量。 | 
| -m | 以MBytes为单位,返回容量。 | 
du命令使用示例:
示例一:列出当前目录下的所有文件夹的容量。
执行如下命令,列出当前目录下的所有文件夹的容量。
du
返回结果如下所示。
	 
示例二:列出当前目录下的所有文件夹和文件的容量。
执行如下命令,列出当前目录下的所有文件夹和文件的容量。
du -a
返回结果如下所示。
	 编辑搜图
编辑搜图
示例三:列出当前目录下的所有文件夹和文件的容量,并以G、M、K格式显示容量。
执行如下命令,列出当前目录下的所有文件夹和文件的容量。
du -ah
返回结果如下所示。
	 编辑搜图
编辑搜图
示例四:列出根目录底下每个目录所占用的容量,并以MBytes单位显示容量。
执行如下命令,列出根目录底下每个目录所占用的容量,并以MBytes单位显示容量。
du -sm /*
返回结果如下所示。
	 编辑搜图
编辑搜图
fdisk命令
fdisk命令描述:该命令用于磁盘分区。
fdisk命令语法:
fdisk [-l] 装置名称
参数说明:
| 参数 | 说明 | 
| -l | 输出后面装置名称的所有的分区内容。若仅有 fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。 | 
fdisk命令使用示例:
示例一:列出系统所有装置的分区信息。
执行如下命令,列出系统所有装置的分区信息。
fdisk -l
返回结果如下所示。
	 编辑搜图
编辑搜图
示例二:列出系统中的根目录所在磁盘,并查阅该硬盘内的相关信息。
a. 执行如下命令,找出根目录所在磁盘名。
df /
返回结果如下所示。
	 
b. 执行如下命令,对磁盘/dev/vda进行分区操作。
fdisk /dev/vda
注意:
对磁盘进行分区操作时,磁盘名不包含数字。
返回结果如下所示。
	 
c. 执行如下命令,获取帮助。
m
返回结果如下所示。
	 编辑搜图
编辑搜图
执行如下命令,查看磁盘状态。
p
返回结果如下所示,您可以查看到磁盘的相关状态。
	 编辑搜图
编辑搜图
d. 执行如下命令,不存储任何操作并离开。
q
系统管理
echo命令
命令描述:echo命令用于在终端输出字符串或变量提取后的值。
命令格式:echo [字符串 | $变量]
命令用法示例:
显示普通字符串
显示变量
首先在shell环境中定义一个临时变量name。
export name="Tom"
使用echo命令将变量name的值显示到终端。
echo $name
	
输出结果:
	 
显示结果定向至文件
以下命令会将文本This is a test text.输出重定向到文件test.txt中,如果文件已存在,将会覆盖文件内容,如果不存在则创建。其中>符号表示输出重定向。
echo "This is a test text." > test.txt
如果您希望将文本追加到文件内容最后,而不是覆盖它,请使用>>输出追加重定向符号。
显示命令执行结果
以下命令将会在终端显示当前的工作路径。
echo `pwd`
使用$(command)形式可以达到相同效果。
echo $(pwd)
	
输出结果:
	 
date命令
命令描述:date命令用于显示和设置系统的时间和日期。
命令格式:date [选项] [+格式]
其中,时间格式的部分控制字符解释如下:
| 字符 | 说明 | 
| %a | 当地时间的星期名缩写(例如: 日,代表星期日) | 
| %A | 当地时间的星期名全称 (例如:星期日) | 
| %b | 当地时间的月名缩写 (例如:一,代表一月) | 
| %B | 当地时间的月名全称 (例如:一月) | 
| %c | 当地时间的日期和时间 (例如:2005年3月3日 星期四 23:05:25) | 
| %C | 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20) | 
| %d | 按月计的日期(例如:01) | 
| %D | 按月计的日期;等于%m/%d/%y | 
| %F | 完整日期格式,等价于 %Y-%m-%d | 
| %j | 按年计的日期(001-366) | 
| %p | 按年计的日期(001-366) | 
| %r | 当地时间下的 12 小时时钟时间 (例如:11:11:04 下午) | 
| %R | 24 小时时间的时和分,等价于 %H:%M | 
| %s | 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数 | 
| %T | 时间,等于%H:%M:%S | 
| %U | 一年中的第几周,以周日为每星期第一天(00-53) | 
| %x | 当地时间下的日期描述 (例如:12/31/99) | 
| %X | 当地时间下的时间描述 (例如:23:13:48) | 
| %w | 一星期中的第几日(0-6),0 代表周一 | 
| %W | 一年中的第几周,以周一为每星期第一天(00-53) | 
命令用法示例:
- 
		按照默认格式查看当前系统时间 
date
	
输出结果:
	 
按照指定格式查看当前系统时间
date "+%Y-%m-%d %H:%M:%S"
	
输出结果:
	 
查看今天是当年中的第几天
date "+%j"
输出结果:
	 
将系统的当前时间设置为2020年02月20日20点20分20秒
date -s "20200220 20:20:20"
输出结果:
	 
校正系统时间,与网络时间同步
a. 安装ntp校时工具
yum -y install ntp
b. 用ntpdate从时间服务器更新时间
ntpdate time.nist.gov
输出结果:
	 
wget命令
命令描述:在终端中下载文件。
命令格式:wget [参数] 下载地址
参数说明:
| 参数 | 作用 | 
| -b | 后台下载 | 
| -P | 下载到指定目录 | 
| -t | 最大重试次数 | 
| -c | 断点续传 | 
| -p | 下载页面内所有资源,包括图片、视频等 | 
| -r | 递归下载 | 
命令使用示例:
下载一张图片到路径/root/static/img/中,-p参数默认值为当前路径,如果指定路径不存在会自动创建。
wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png
	
输出结果:
	 
ps命令
命令描述:ps命令用于查看系统中的进程状态。
命令格式:ps [参数]。
命令参数说明:
| 参数 | 作用 | 
| -a | 显示现行终端机下的所有程序,包括其他用户的程序 | 
| -u | 以用户为主的格式来显示程序状况 | 
| -x | 显示没有控制终端的进程,同时显示各个命令的具体路径 | 
| -e | 列出程序时,显示每个程序所使用的环境变量 | 
| -f | 显示当前所有的进程 | 
| -t | 指定终端机编号,并列出属于该终端机的程序的状况 | 
命令使用示例:
ps -ef | grep sshd
	
输出结果:
	 
top命令
命令描述:top命令动态地监视进程活动与系统负载等信息。
命令使用示例:
top
	
输出结果:
	 编辑搜图
编辑搜图
命令输出参数解释:
以上命令输出视图中分为两个区域,一个统计信息区,一个进程信息区。
统计信息区
第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。
进程信息区
| 列名 | 含义 | 
| PID | 进程ID | 
| USER | 进程所有者的用户名 | 
| PR | 进程优先级 | 
| NI | nice值。负值表示高优先级,正值表示低优先级 | 
| VIRT | 进程使用的虚拟内存总量,单位kb | 
| RES | 进程使用的、未被换出的物理内存大小,单位kb | 
| SHR | 共享内存大小,单位kb | 
| S | 进程状态D:不可中断的睡眠状态R:正在运行S:睡眠T:停止Z:僵尸进程 | 
| %CPU | 上次更新到现在的CPU时间占用百分比 | 
| %MEM | 进程使用的物理内存百分比 | 
| TIME+ | 进程使用的CPU时间总计,单位1/100秒 | 
| COMMAND | 命令名 | 
按 q 键退出监控页面。
pidof命令
命令描述:pidof命令用于查询指定服务进程的PID值。
命令格式:pidof [服务名称]。
命令参数说明:
| 参数 | 说明 | 
| -s | 仅返回一个进程号 | 
| -c | 只显示运行在root目录下的进程,这个选项只对root用户有效 | 
| -o | 忽略指定进程号的进程 | 
| -x | 显示由脚本开启的进程 | 
命令使用示例:
查询出crond服务下的所有进程ID。
pidof crond
	
输出结果:
	 
kill命令
命令描述:kill命令用于终止指定PID的服务进程。
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。
命令格式:kill [参数] [进程PID]。
命令使用示例:
删除pid为1247的进程。
kill -9 1247
killall命令
命令描述:killall命令用于终止指定名称的服务对应的全部进程。
命令格式:killall [进程名称]。
命令使用示例:
删除crond服务下的所有进程。
killall crond
文本处理
文本编辑工具Vim
vim的三种操作模式
vim有三种操作模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。
三种模式切换快捷键:
| 模式 | 快捷键 | 
| 命令模式 | ESC | 
| 输入模式 | i或a | 
| 底线命令模式 | : | 
命令模式
在命令模式中控制光标移动和输入命令,可对文本进行复制、粘贴、删除和查找等工作。
使用命令vim filename后进入编辑器视图后,默认模式就是命令模式,此时敲击键盘字母会被识别为一个命令,例如在键盘上连续敲击两次d,就会删除光标所在行。
以下是在命令模式中常用的快捷操作:
| 操作 | 快捷键 | 
| 光标左移 | h | 
| 光标右移 | l(小写L) | 
| 光标上移 | k | 
| 光标下移 | j | 
| 光标移动到下一个单词 | w | 
| 光标移动到上一个单词 | b | 
| 移动游标到第n行 | nG | 
| 移动游标到第一行 | gg | 
| 移动游标到最后一行 | G | 
| 快速回到上一次光标所在位置 | Ctrl+o | 
| 删除当前字符 | x | 
| 删除前一个字符 | X | 
| 删除整行 | dd | 
| 删除一个单词 | dw或daw | 
| 删除至行尾 | d$或D | 
| 删除至行首 | d^ | 
| 删除到文档末尾 | dG | 
| 删除至文档首部 | d1G | 
| 删除n行 | ndd | 
| 删除n个连续字符 | nx | 
| 将光标所在位置字母变成大写或小写 | ~ | 
| 复制游标所在的整行 | yy(3yy表示复制3行) | 
| 粘贴至光标后(下) | p | 
| 粘贴至光标前(上) | P | 
| 剪切 | dd | 
| 交换上下行 | ddp | 
| 替换整行,即删除游标所在行并进入插入模式 | cc | 
| 撤销一次或n次操作 | u{n} | 
| 撤销当前行的所有修改 | U | 
| 恢复撤销操作 | Ctrl+r | 
| 整行将向右缩进 | >> | 
| 整行将向左退回 | << | 
| 若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开 | ZZ | 
输入模式
在命令模式下按i或a键就进入了输入模式,在输入模式下,您可以正常的使用键盘按键对文本进行插入和删除等操作。
底线命令模式
在命令模式下按:键就进入了底线命令模式,在底线命令模式中可以输入单个或多个字符的命令。
| 操作 | 命令 | 
| 保存 | :w | 
| 退出 | :q | 
| 保存并退出 | :wq(:wq!表示强制保存退出) | 
| 将文件另存为其他文件名 | :w new_filename | 
| 显示行号 | :set nu | 
| 取消行号 | :set nonu | 
| 使本行内容居中 | :ce | 
| 使本行文本靠右 | :ri | 
| 使本行内容靠左 | :le | 
| 向光标之下寻找一个名称为word的字符串 | :/word | 
| 向光标之上寻找一个字符串名称为word的字符串 | :?word | 
| 重复前一个搜寻的动作 | :n | 
| 从第一行到最后一行寻找word1字符串,并将该字符串取代为word2 | :1,$s/word1/word2/g或 :%s/word1/word2/g | 
使用示例
在本示例将使用vim在文本文件中写入一首唐诗。
1. 新建一个文件并进入vim命令模式(因为涉及中文需要您自行点击右下角进行中英文切换)。
vim 静夜思.txt
	
	 编辑搜图
编辑搜图
2. 按下i进入输入模式,输入《静夜思》的诗名。
	 编辑搜图
编辑搜图
3. 按下ECS键回到命令模式,并输入底线命令:ce,使诗名居中。
	 编辑搜图
编辑搜图
4. 按下o键换行并进入输入模式,输入第一行诗。
	 编辑搜图
编辑搜图
5. 按下ECS键回到命令模式,并输入底线命令:ce,使第一行诗居中。
	 编辑搜图
编辑搜图
6. 按下o键换行并进入输入模式,输入第二行诗。
	 编辑搜图
编辑搜图
7. 按下ECS键回到命令模式,并输入底线命令:ce,使第二行诗居中。
	 编辑搜图
编辑搜图
8. 在命令模式中执行底线命令:wq离开vim。
	


 分类:
		分类: 已被围观
 已被围观 










 
	
我有话说: