第1章 学习环境搭建
第2章 Linux基本操作和组装服务器
第3章 Linux 基本命令操作
第4章 文件的基本管理
第5章 vim编辑器
Linux运维实战:CentOS7.6操作系统从入门到精通(1-5)
第1章 Linux学习环境搭建
1.3 创建虚拟机及安装CentOS系统
custom-分区的创建
“选择系统”→“安装位置”命令,进入磁盘分区界面,在图1-41所示的界面中选择“其他存储选项”中“分区”的“我要配置分区”单选按钮,单击“完成”按钮,进入手动分区界面。
请添加图片描述
“选择系统”→“安装位置”命令,进入磁盘分区界面,在图1-41所示的界面中选择“其他存储选项”中“分区”的“我要配置分区”单选按钮,单击“完成”按钮,进入手动分区界面。
-
分区的说明:
boot分区指定200MB,一般swap分区为物理内存的1.5~2倍,当物理主机内存多于16GB后,swap分区给8~16GB都可以。根分区指定10GB,实际工作中可以创建数据分区,一般把数据和系统分开。
- boot分区(/boot):系统引导分区,作用是系统启动时,在boot分区存放grub、内核文件等,一般容量设置为200MB。
- swap分区(swap):内存扩展分区、交换分区,一般容量设置为最多8GB或16GB,如果系统使用到了swap分区,就直接添加物理内存或排查一下服务器是否被攻击。
- 根分区(/):所有文件的根,逻辑上所有分区在根分区之下,绝对路径的开始标志。
- sda:第一块磁盘。
创建虚拟机的设置项:
- 虚拟机的内存(M):默认的2048MB即可。指定的容量必须为4MB的倍数,同时不能选择超过物理内存的容量,如果操作系统是最小化安装,设置为512MB就够用,如果操作系统是图形化安装,建议内存设置不能小于1GB,否则很有可能在开机时无法启动图形界面
1.4 VMware虚拟机的12个使用技巧
-
正确关机的技巧:如果直接单击VMware工具栏上的“Power OFF”按钮,相当于通常意义上的非法关机,那么下次启动VMware虚拟机时会自动扫描磁盘。正确的关机步骤是在操作系统上执行init 0命令。
-
虚拟机网络使用技巧:
VMware虚拟机提供了3种网络工作模式:Bridged(桥接)模式、NAT(网络地址转换)模式和Host-Only(仅主机)模式。
(1)Bridged模式:就是将物理主机的网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信,如图1-74所示。

在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中。虚拟机的IP地址需要与物理主机在同一个网段,如果需要联网,则网关与DNS需要与物理主机网卡一致。
(2)NAT模式:在NAT模式下,借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。虚拟机和物理主机共用一个IP地址,如图1-75所示。

(3)Host-Only模式:将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与物理主机相互通信。相当于NAT模式去除了虚拟NAT地址转换功能,如图1-76所示。

-
虚拟机进入BIOS设置的技巧:关闭虚拟机后,选择“打开电源时进入固件”选项,即可进入BIOS设置。
MacOS中在【虚拟机】—》【启动到固件】
第2章 Linux基本操作和组装服务器
2.1 Linux网络相关概念和修改IP地址的方法
2.1.1 网卡的命名规则
在CentOS 7中,网上命名中的en表示etherne1t(以太网),就是现在使用的局域网。enX:X常见有下面3种类型。
-
o:主板板载网卡,主板上集成设备的设备索引号。
-
p:独立网卡,PCI网卡,PCI插槽的索引号。
-
s:热插拔网卡,USB之类,扩展槽的索引号。
-
nnn(数字)表示:MAC地址+主板信息计算得出的唯一序列号。
2.1.3 ifconfig命令的使用方法

2.1.7 RHEL/CentOS Linux网络相关的配置文件(熟练)
RHEL/CentOS网络相关的配置文件路径如下。
(1)网卡相关配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33,用于保存网卡相关的配置,一般实现永久修改网卡相关的配置信息都通过修改此文件实现,如是否开启网卡、IP地址、是静态还是动态获取IP地址,等等。
(2)网卡回环地址配置文件:/etc/sysconfig/network-scripts/ifcfg-lo,用于保存回环地址信息。
(3)DNS配置文件:/etc/resolv.conf,用于保存DNS信息,一般配置DNS时是通过修改此文件实现的。
(4)域名和IP地址映射文件:/etc/hosts,此文件用于本地域名解析,在整个解析流程中,该文件优先级最.
(5)主机名配置文件:/etc/hostname,用于保存主机名。
2.1.8 永久修改IP地址
永久修改IP地址有两种方法。
1.使用nmtui文本框方式修改IP地址(了解)
[utah@utahstu2 ~]$ nmtui
会弹出“网络管理器”。
2.通过修改网卡配置文件来修改IP地址(熟练)
在Linux中很多配置都是以文件形式保存的,网卡信息也如此,所以,该方法使用的是以编辑文件的形式对网卡的配置进行修改,网卡的配置文件存放于/etc/sysconfing/network-scripts/ifcfg-ens33。
2.2 防火墙设置
防火墙设置的一些命令:
#查看防火墙状态
[utah@utahstu2 ~]$ systemctl status firewalld.service
#关闭防火墙
[utah@utahstu2 ~]$ systemctl stop firewalld
#开启防火墙
[utah@utahstu2 ~]$ systemctl start firewalld
#开机自启防火墙
[utah@utahstu2 ~]$ systemctl enable firewalld
#开机自关防火墙
[utah@utahstu2 ~]$ systemctl disable firewalld
#查看防火墙是否开机自启动
[utah@utahstu2 ~]$ systemctl list-unit-files | grep firewalld
2.5 配置本地YUM源
YUM(Yellow dog Updater Modified)是前端管理工具,但并不能取代软件管理器,而仅是作为软件管理器的补充,YUM在工作时需要依赖rpm软件管理器来完成工作。
YUM的一切配置信息都存储在一个名为yum.repos.d的配置文件中,通常位于/etc/yum.repos.d目录下,在系统安装完成后,此目录下会自动生成有YUM的网络源,需要在主机连接到互联网时才能安装程序。
但同时,在系统镜像当中也有很多程序包,现在需要通过本地的系统镜像制作一个本地YUM源,在使用本地YUM源安装程序时,这些程序包实际上都是来自本地系统镜像中。
2.创建一个新的YUM源配置文件,YUM源配置文件的文件名必须以.repo结尾

第3章 Linux基本命令操作
3.1 Linux终端介绍、Shell提示符、Bash基本语法
3.1.1 认识Linux终端
tty2~tty6称为虚拟终端,tty0是当前所使用的虚拟终端的一个别名,系统所产生的信息会发送到该终端上。不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。
**Ctrl + Shift +N **组合键可快速打开一个终端
3.1.2 认识Shell
简单来说,Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,它解释用户输入的命令并把这些命令传输给系统内核去执行,从而实现把用户的输入命令解释给操作系统,并处理操作系统的输出结果,输出到屏幕反馈给用户,其分层原理如图3-2所示.

图3-2 Shell分层原理图
1. Shell的分类Shell分为两类:GUI和CLI。
(1)GUI(Graphic User Interface):图形用户界面(接口)的Shell。
① Gnome ② KDE(K Desktop Environment) ③ XFace
(2)CLI(Command Line Interface):命令行(接口)的Shell。
Linux命令界面类型包括sh、bash、csh、zsh、ksh、tcsh。
2. Shell的启动:
Shell本身是一个外部命令,但它启动以后会带有一些Shell内部命令
4. 认识Bash
Bash是一种Linux命令界面,是目前Linux中使用最为广泛的Shell,功能也是最强大的,并且是开源的Shell,是Linux绝大多数默认使用的Shell。
Shell类型:cat /etc/shells.
具体使用的是哪一个Shell类型,取决于用户配置,也就是说用户可以看一下/etc/passwd文件的每一行的最后一个字段。head -1 /etc/passwd
3.2 Linux基本命令
在Linux中,命令通常由3部分组成:命令(command)、选项(options)、参数(arguments)
第一部分:命令,在命令提示符下输入的必须是命令,或是可执行程序的路径,或是脚本的路径、名字。
第二部分:选项,命令与选项之间必须用空格隔开,选项的作用是修改命令的执行方式及特性,选项可以同时使用多个,而且选项有长和短之分,有些选项是可带有参数的。
选项(options):
-
短选项:通常用**一个短线“-”**和一个字母来引导,如果在命令中加入多个短选项,也可以用一个短线“-”把多个选项组合在一起引导,组合引导选项与选项之间不需要隔开,也可以每个短选项都单独用一个短线“-”引导,但需要用空格隔开。
-
长选项:通常用**两个短线“–”**和单词格式的选项作为引导,长选项通常不能组合,必须分开引导。
3.2.1 ls基本命令
(2)文件属性每段代表的含义,如图3-3所示。
① 第一个字符文件类型包括以下几种。
d:目录文件。 l:链接文件。 b:块设备文件。 c:字符设备文件。 p:管道文件。 -:普通文件。
3.2.2 命令别名的使用
命令使用格式:
定义别名:alias 自定义别名=‘系统已有命令’
删除别名:unalias自定义别名=‘系统已有命令’
总结:命令别名的永久生效,分为全局定义和个人定义两种修改配置文件的方式。
-
全局定义:修改
/etc/bashrc,在文件中加入alias cls=clear即可。vim /etc/.bashrc. # 编辑配置文件,加入以下内容: alias cls=clear source /etc/bashrc #重新加载文件 -
个人定义:修改
~/.bashrc,在文件中加入alias cls=clear即可,~表示当前用户家目录。source ~/.bashrc #重新加载文件
3.2.4 history基本命令
作用:用于查看所执行过的命令和管理。
命令使用格式:history [选项]。
下面是4个快速查找Linux历史命令的技巧。
(1)按键盘的↑↓键。
(2)Ctrl + R组合键,输入某条命令的关键字,找出来对应的命令,按右光标键。
(3)“!数字” 表示执行历史命令中第N条命令。
(4)“!字符串” 表示搜索历史命令中最近一个以xxxx字符串开头的命令,如!vim。
挺实用的快捷命令。
3.2.5 Linux中的快捷键
Linux中的快捷键有以下几种(^表示Ctrl键(macOS中也是Ctrl建))。
(1)^C:终止前台正在运行的程序,如ping g.cn之后想停止运行程序,按Ctrl+C组合键即可。
(2)^D:退出,相当于exit。
(3)^L:清屏,与clear命令的功能一样。
(4)^R:搜索历史命令,可以根据关键词进行搜索。
(5)Tab键:补全命令,只能补全命令和文件名。
(6)!$:引用上一个命令的最后一个参数
3.3 系统时间管理
3.3.1 两种时钟
系统时间会自动保存在BIOS时钟里面,启动计算机的时候,系统会自动在BIOS里面取硬件时间,以保证时间的不间断。但在Linux下,默认情况下,系统时间和硬件时间并不会自动同步。在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
- 硬件时钟:指主机板上的时钟设备,就是可在BIOS画面设定的时钟,也称为实时时钟(RTC)
- 系统时钟:指Kernel中的时钟,所有Linux相关指令与函数都是读取系统时钟的设定。当Linux启动时,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。
Linux会通过RTC读取当前时间,一旦读取成功后就不再读取RTC时间.Linux会通过RTC读取当前时间,一旦读取成功后就不再读取RTC时间
硬件时间的运行,是靠BIOS电池来维持,而系统时间,是用CPU Tick来维持的。在系统开机的时候,会自动从BIOS中取得硬件时间,设置为系统时间。
时区:
UTC(Universal Time Coordinated):世界标准时间。
GMT(Greenwich Mean Time):格林威治标准时间。
CST(China standard Time):中国标准时间。
3.4 帮助命令的使用
3.4.1 常用的帮助命令
(1)内部命令:help 命令。
help command:能获得该命令的使用帮助,help本身也是个命令。command -h:有些命令使用命令-h也能获取命令的使用帮助。
(2)外部命令:对于外部命令来说,大多数命令都有一个长选项 --help。
command --help:使用command加选项–help能获得该命令的使用帮助,help本身是一个长选项。不论是内部命令还是外部命令,都有一个共同的帮助方式,称为命令手册。
(3)命令手册:几乎所有命令都带有命令手册。
Linux中的命令手册是用文本文档的形式实现的,但这个文档是压缩存放的,当用户使用man加命令时,则会打开该命令的对应手册。
使用格式如下。man command:使用man加命令可以打开命令的命令手册。在打开命令手册时按Q键可以退出。
(4)对于内部命令而言,使用man加内部命令时,并不是打开该内部命令的命令手册,而是打开该命令所属的Shell的使用帮助,内部命令一般不使用man获得帮助,而是使用help命令。
3.4.2 man的章节及使用说明
man是分章节的,在查看某个命令帮助时,出现在第一行的命令后面会跟一个数,该数字表示第几章,man常见的章节有8个。
man后面可跟数字,该数字表示第几章节,如果没指定章节,那么默认哪一章先出现,则显示哪一章。有些命令在每个章节都有,而有些命令并不是在每个章节都有,如果某一个命令在每个章节中都有,则按从小到大的顺序查看默认章节。
# whatis command #使用 whatis命令可以产看指定的命令在那个章节
1.man的章节意义
- 第1章:用户命令(位于/bin /usr/bin /usr/local/bin),指所有用户都能使用的命令,包括普通用户、管理员用户。
- 第2章:系统调用,使用方法 # man 2 read。
- 第3章:库调用,只有库才有库调用。由于有些命令和库调用同名,因此会同时出现,如# man 3read。命令并不是库,库也不是命令。
- 第4章:特殊文件,指设备文件。设备文件在磁盘中的真正数据区域中并没有存储任何数据,只是作为设备的访问入口而存在的,并不是真正的文件,所以称为特殊文件,如# man 4 tty。
- 第5章:配置文件的格式,解释该配置文件的语法,如# man 5 passwd。
- 第6章:游戏。
- 第7章:杂项/其他(Miscellaneous)。
- 第8章:管理命令位于 /sbin /user/sbin /user/local/sbin,通常只有管理员用户才有权限使用,因为有些命令可以修改硬件参数、硬件工作特性及系统级别的配置。
2.man命令手册的描述
(1)NAME:命令名称及功能简要说明。
(2)SYNOPSIS:用法说明,选项指定的方法。
(3)在格式说明里中括号[ ]括住的部分表示可省略。
(4)在格式说明里中括号[ ]括住的部分用管道符|分隔表示多选一、不能同时使用或者省略。
(5)在格式说明里尖括号< >括住的部分表示必须要指定的内容,非可选。
(6)在格式说明里中括号[ ]括住的部分后面的“…”表示同时可出现多个。
(7)在格式说明里大括号{ }括住的部分表示分组。
(8)DESCRIPTION:命令功能的详尽说明,说明命令选项的作用和意义,但有些命令选项会单独放到OPTIONS中说明。
(9)OPTIONS:说明每个全命令选项的作用和意义,但有些命令并不在OPTIONS中说明而在DESCRIPTION中说明。
(10)FILES:命令的相关配置,有些命令会有此项说明。
(11)BUGS:bug相关的信息。
(12)EXAMPLES:命令的使用示例。
(13)SEE ALSO:另外参照。
3.翻屏操作
(1)向后翻一屏:Space(空格键)。
(2)向前翻一屏:B键。
(3)向后翻一行:Enter(回车键)。
(4)向前翻一行:K键。
(5)向后翻半屏:Ctrl + D组合键。
(6)向前翻半屏:Ctrl + U组合键。
(7)跳转至尾部:G。(也即是shift + g)
(8)跳转至指定行:#G。
(9)跳转至首部:g或1G。
(10)跳转至指定行:#g。
4.搜索/查找关键字的两种方法(默认不区分大小写)
(1)/关键字:从当前位置向后查找关键字。
(2)?关键字:从当前位置向前查找关键字。
按N键:跳到下一个关键字,与查找方向相同,按n键与查找方向相反。
按B键:跳到上一个关键字。
按Q键:退出。
5.选项
-M /path/to/somrdir :指定命令手册文件所在的路径
3.5 关机、重启命令及7个运行级别
常用的关机、重启命令有shutdown、init、reboot、poweroff。
3.5.1 shutdown命令
命令作用:关机、重启、定时关机。
命令使用格式:shutdown [选项]。选项如下。
-r:重启计算机。
-h:关机。
-h 时间:定时关机。
例3.6:shutdown命令使用。
[root@xuegod ~]# shutdown -h +10 #10分钟之后关机
[root@xuegod ~]# shutdown -h 23:30 #指定具体时间进行关机
[root@xuegod ~]# shutdown -h now #立即关机
[root@xuegod ~]# shutdown -r 22:22 #22:22重启计算机
3.5.2 7个运行级别
可以结合第17章的启动过程中的target来学习。
Linux的7个运行级别介绍如下。
(1)第0级别:系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,计算机处于关机状态。
(2)第1级别:单用户模式,root权限,用于系统维护,禁止远程登录,就像Windows下的安全模式登录。
(3)第2级别:多用户模式,没有NFS和网络支持。
(4)第3级别:完整的多用户文本模式,有NFS和网络支持,登录后进入控制台命令行模式。
(5)第4级别:系统未使用模式,一般不用,在一些特殊情况下才会使用这个级别,例如,在笔记本的电池用尽时,可以切换到这个模式来做一些设置。
(6)第5级别:图形化模式,登录后进入图形GUI模式,X-Window系统。
(7)第6级别:重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6计算机就会重启。
命令使用格式:init 0~6。
作用:用于切换系统运行级别。
例3.7:切换系统运行级别。
[root@xuegod ~]# init 0 #关机
[root@xuegod ~]# init 3 #进入第3级别字符界面
[root@xuegod ~]# init 5 #进入第3级别图形界面
第4章 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径
4.1.1 系统目录结构
根目录下的目录作用说明:


4.2 文件的管理
文件管理的方式有很多种,可以用以下几种命令来实现。
touch命令:用于创建文件。
vim命令:用于修改文件。
mkdir命令:用于创建设目录。
rm命令:用于删除文件或目录。
cp命令:用于复制文件或目录。
mv命令:用于移动文件或目录。
4.2.1 touch命令
补充说明:文件的3种时间为访问时间、修改时间、改变时间。
访问时间:atime,即查看内容的时间,如# cat a.txt,查看一下文件,即可更新文件的访问时间,该时间记录的是文件最后被访问的时间。
修改时间:mtime,即修改了文件内容的时间,如# vim a.txt,修改文件内容,即可更新文件修改时间,该时间记录的是文件最后被修改的时间,mtime一旦变化,ctime也会随之变化。
改变时间:ctime,即文件属性发生改变的时间,如权限、文件容量大小等一些并非文件内容的数据,而是与文件有关的元数据发生改变的时间。
注意:如果mtime发生改变,那么ctime也会随之而变,因为文件的元数据包含了文件的容量大小。mtime是根据文件内容发生改变而改变的,内容改变则说明容量改变,所以ctime也会改变。即使只是atime改变,ctime也会随之改变。
命令使用格式:touch 文件名。
[root@utahstu2 Script]# touch file{3..5}
[root@utahstu2 Script]# touch file7 file6

4.2.5 cp命令
命令使用格式:cp [选项] 源文件/目录 目标文件/目录 。
作用:复制文件或目录。
选项:-R/r:递归处理,将指定目录下的所有文件与子目录一并处理。
第5章 vim编辑器和Xmanager工具
5.1 vim主要模式介绍
vim是文本编辑器,只编辑纯ASCII码的文档,没有任何多余的修饰符。首先需要确保系统已经安装了vim工具。
5.1.1 安装vim及编辑模式
- 查看是否已经安装:
[root@utahstu2 ~]# rpm -qf `which vim` #使用rpm程序包管理器查看是否已安装vim。
vim-enhanced-7.4.629-7.el7.x86_64
[root@utahstu2 ~]# rpm -qf `which vi` #使用rpm程序包管理器查看是否已安装vi。
vim-minimal-7.4.629-7.el7.x86_64
- yum 安装
[root@utahstu2 ~]# yum -y install vim # 使用Yum安装vim
知识扩展:vim是vi的增强版,最明显的区别就是vim可以加亮语法,它完全兼容vi。
vim编辑器模式之间的切换图示:

5.1.2 模式介绍
首次进入文件,处于“命令模式”。
出现“Insert”,处于“编辑模式”。
输入冒号“:”,处于“命令行模式”。
vim模式之间的切换方式如下。
“命令模式”切换为“编辑模式”,可按键盘上的字母键a、i、o、A、I、O。
“编辑模式”切换为“命令模式”,按Esc键。
“命令模式”切换为“命令行模式”,输入冒号“:”。
1.命令模式切换为编辑模式
(1)i:在当前字符之前插入(光标前)。
(2)I:在行首插入。
(3)a:在当前字符之后插入(光标后)。
(4)A:在行尾插入。
(5)o:在下一行插入(另起一行)。
(6)O:在上一行插入(上一行)。
2.在命令模式下做的操作(要熟练)
(1)h:光标向左移动。(2)j:光标向下移动。(3)k:光标向上移动。(4)l:光标向右移动。
(5)0和home键:切换到行首;$和end键:切换到行尾。
(6)gg:快速定位到文档的首行,G定位到末行。
(7)3gg(或者3G):快速定位到第3行。
(8)u:撤销一步,每按一次就撤销一次。
(9)r:替换。
(10)/string(字符串):找到或定位要找的单词或内容,如果内容比较多,可以通过按字母键N、n来进行向上向下查找,并且vim会对查找到的内容进行高亮显示,取消用 :noh。
(11)/^d:查找以字母d开头的内容,^符号表示以什么开头。
(12)/t$:查找以字母t结尾的内容,$符号表示以什么结尾。
(13)vim + a.txt:打开文件后,光标会自动位于文件的最后一行。
3.对文本进行编辑对文本内容的编辑主要有复制、删除、粘贴、撤销等常见操作。
(1)y:对单个字符进行复制,如果要复制整行,用yy。
(2)Nyy:复制N行,如2yy,表示光标所在行往下复制2行。
(3)dd:删除当前光标所在行。
(4)Ndd:删除N行,如2dd,表示光标所在行往下删除2行。
(5)p:在光标所在下一行插入粘贴的内容。
(6)dd:剪切。
(7)x:向后删除一个字符,等同于Delete。
(8)X:向前删除一个字符。
(9)D:从光标处删除到行尾。
(10)u:撤销操作。
(11)Ctrl+r:还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样。
(12)r:替换,或者说用来修改一个字符。
知识扩展:在插入模式中,Ctrl+p组合键可以进行补全操作,所修改的内容必须是在当前打开的文件内存在的,它只针对当前文件。
5.1.5 调用外部文件或命令
假设在vim中编辑文档时,想要写入本机的网卡MAC地址,需要先查看一下网卡MAC地址,此时不需要退出当前的文档编辑,因为Vim在命令行模式下提供了直接可以调用系统命令的功能。在命令行模式下做如下操作。
(1)当需要在文本中调用系统命令以方便复制和粘贴时,在命令行模式下输入!+命令并按Enter键。如输入!ifconfig会在文本中调用ifconfig命令并输出命令结果。
(2)当需要在当前文本下读取其他文件以方便完成批量添加或导入操作时,在命令行输入r 文件名,如输入:r /etc/hosts,会读取/etc/hosts文件内容,并写入到当前编辑的文档中.
5.1.6 文本替换
范围中的%表示文件中的所有内容,分隔符可以自定义。
用在sed流编辑器中中常见。
格式:范围 s分隔符 旧的内容 分隔符 新的内容。
默认是替换每一行的第一个符合要求的词,如果加上/g表示替换全部。
注意:以下操作都是在命令行模式(:的模式)下完成的。
(1):1,3 s/bin/xuegod:将第1~3行中出现的第一个bin替换成xuegod。
这个是默认情况,替换每一行的第一个符合要求的词。
(2):1,3 s/bin/xuegod/g:将第1~3行中查找到的所有的bin替换成xuegod。
加上‘/g’表示替换全部。
(3):3 s/xue/aaaaa:只替换第3行中的内容。
(4):% s/do/xuegod/g:将文本中所有的do替换成xuegod。
% 表示全部范围
(5):% s/do/xuegod/gi:将文本中所有的do替换成xuegod,并且忽略do的大小写。
(6):% s@a@b@g:将文本中所有的a替换成b。
这里的分隔符换成了@。
5.1.7 自定义vim使用环境
1.临时设置环境
在命令行模式下输入以下内容,临时设置环境。
(1):set nu:设置行号。
(2):set nonu:取消设置行号。
(3):noh:取消高亮显示命令,默认高亮。
2.永久设置环境(~/.vimrc)
在文件中编辑后便会永久生效,如在~/.vimrc中加入set nu,则当前用户打开所有文件默认带行号。
[root@utahstu2 utah]# vim /etc/vimrc #设置后会影响系统所有用户。
[root@utahstu2 utah]# vim ~/.vimrc #在用户的home目录下创建一个.vimrc文件,仅有效于当前用户。
[root@utahstu2 utah]# vim /root/.vimrc #设置root用户下所有文件默认带行号。
5.1.8 使用vim打开多个文件
(1)以上下形式打开并显示两个文件。
[root@utahstu2 utah]# vim -o /etc/passwd /etc/hosts

(2)以左右形式打开并显示两个文件。[插图]
[root@utahstu2 utah]# vim -O /etc/passwd /etc/hosts
注意:按Ctrl+ww组合键:在两个文件之间进行切换编辑。用vim查看文件时,参数用大写字母O,文件以左右分屏显示,参数用小写字母o,文件以上下分屏显示。
5.1.9 比较两个文件内容
使用命令:vimdiff file1 file2


5.1.10 其他编辑器其他编辑器如下。
(1)nano编辑器。(2)Emacs编辑器。(3)Gnome下,gedit编辑器。
5.2 实战1:解决在Linux下打开Windows汉字出现乱码的问题
这是编码的问题,需要通过iconv命令进行转码。
命令使用格式如下:iconv [选项] 文件名
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
-o, --output=FILE 输出文件
① 使用Xshell方式连接虚拟机后,使用lrzsz命令上传下载文件。lrzsz是Xshell自带的上传下载命令,使用yum install -y lrzsz安装(默认已安装)。
rz是上传命令,从物理机上传到虚拟机,选取文件添加到“发送的文件”并单击“确定”按钮。
sz是下载命令,sz空格后跟文件名即可,默认下载到“选项→会话选项→X/Y/Zmodem→下载”路径,可手动更改下载位置。
② 将测试的文件上传到Linux服务器上,文件需要提前在Windows上准备好。
③ 使用iconv命令对乱码文件进行转换:
[root@utahstu2 utah]# iconv -f gb2312 -t utf8 a.txt
970

被折叠的 条评论
为什么被折叠?



