备份方式和Linux基础

简单了解 Linux及做好相关的环境部署和配置后,就可以正式使用并学习Linux了,在学习 Linux基础前,还是有必要再说一下系统的备份方式,内容如下。

一、操作系统备份

VMware有两种备份方式:快照或克隆。

为什么要进行备份?为了保证CentOS7.6操作系统的安全,必须对操作系统进行备份。

1、快照备份

快照:又称还原点,就是保存在拍快照时候的系统的状态(包含了所有的内容),即保留虚拟机的当前状态,在后期的时候随时可以恢复。

1.1 拍摄快照

第一步:启动 Linux操作系统,即开启虚拟机(快照备份是在系统启动后进行操作的)

第二步:单击VMware菜单栏=>虚拟机=>快照=>拍摄快照

第三步:输出拍摄快照的名称

为什么要有名称?为了方便后期的恢复操作。描述内容通常为本次快照的目的,时间等信息,便于日后恢复快照。

1.2 恢复快照

第一步:模拟 Linux操作系统故障(比如系统文件被删除、系统损坏等等),初学者不要轻易尝试,直接看第二步。

第二步:选择 VMware菜单栏=>虚拟机=>快照=>恢复到快照(根据拍摄时的名称进行恢复)

第三步:对于快照进行管理(恢复、删除)。选择"虚拟机" -> "快照" -> "快照管理器"中进行管理。

1.3 总结

快照侧重于短期备份,需要频繁备份的时候都可以使用快照。

注:做快照的时候虚拟机中操作系统一般处于开启状态。

2、克隆备份

克隆:简单理解就是复制的意思。

注:克隆备份不同于快照备份,其要求克隆时,操作系统必须处于关闭状态。

2.1 克隆备份

第一步:使用关机按钮或相关的关机命令对 Linux进行关机操作。

第二步:右键需要克隆的虚拟机 –> 管理 –> 克隆。

第三步:根据向导进行克隆备份。下一步、下一步,选择克隆类型,一定要选择完整克隆

下一步,设置克隆机的名称以及存储路径(此路径剩余可用空间必须>=10G)

名称最好用英文,不带中文。

克隆完成后,效果如下图所示:产生了一个全新的操作系统

2.2 总结

1)克隆侧重长期备份,且克隆时系统必须是关闭状态。

2)应用场景:快速创建多台计算机(eg:商城系统架构,一共需要12台机器)

3、二者区别

克隆与快照最大的区别:克隆之后是2 台机器,而快照之后依旧是1 台机器(类似windows的还原点)。若想快速获取多台机器,建议使用克隆。后期的危险操作前建议使用快照

二、Linux 使用注意

1、Linux严格区分大小写

Linux 和 Windows不同,Linux严格区分大小写,包括文件名和目录名、命令、命令选项、配置文件设置选项等。

例如,在 Win10系统桌面上新建一个 test文件夹,当再为桌面创建一个名为 Test的文件夹时, 系统会提示文件夹命名冲突;

而Linux 是一个非常严谨的操作系统,严格区分大小写。它认为 Test 文件和 test 文件不是同一个文件,因此在 Linux 系统中,Test 文件和 test 文件可以位于同一目录下。 在操作 Linux 系统时要注意区分大小写的不同

2、Linux文件"扩展名"

Windows依赖扩展名区分文件类型,如,".txt" 是文本文件、".exe" 是执行文件。

而 Linux 系统通过权限位标识来确定文件类型,常见的文件类型有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件就是普通文件被赋予了可执行权限。eg:

1)打开终端

2)调整终端命令行文字大小:左上角Edit->Preferences,勾选Custom font,选择字体及调整大小,最后点右上角小叉退出。

3)输入如下命令:两个文件在 Linux系统中是一样的,说明 Linux不是通过扩展名来区分文件类型。

代码语言:shell
复制
cd Desktop/			//切换并进入到桌面
touch vmware.txt	//创建一个 vmware.txt的空白文件
touch vmware.exe	//创建一个 vmware.exe的空白文件

4)总结

1、Linux不是通过扩展名来区分文件类型,而是通过权限位标识来进行判断。

2、Linux 中的一些特殊文件还是要求写 "扩展名" 的,但 Linux 不依赖扩展名来识别文件类型,写这些扩展名是为了帮助运维人员来区分不同的文件类型。 这样的文件扩展名主要有以下几种:

a、压缩包:Linux 下常见的压缩文件名有 .gz.bz2.zip.tar.gz.tar.bz2.tgz 等。 为什么压缩包一定要写扩展名呢?很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。 b、二进制软件包:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用".rpm"扩展名结尾,目的同样是让管理员一目了然。 类似于windows中的exe文件。 c、程序文件:Shell 脚本一般用 ".sh" 扩展名结尾。 d、网页文件:网页文件一般使用 ".php" 等结尾,不过这是网页服务器的要求,而不是 Linux 的要求。常见的还有".html ",".css" ,".js ",".jsp" ,".py"

3、Linux中所有内容以文件形式保存

Linux中,一切皆文件

在windows中是文件的,在Linux下也是文件。在windows中不是文件的,在Linux系统中也是文件。

按 win+X选择任务管理器,打开windows任务管理器,会发现每个软件在启动的时候都会有一个进程,是一个进程程序

而在 Linux中是作为进程文件,可通过ls /proc/查看。

思考:未学习权限标识符,怎么判断文件类型?答:可通过文件颜色

eg:在终端输入ls命令,列出目前工作目录所含的文件及子目录,查看文件的颜色。显示黑色的,即为普通文件。显示蓝色的,即为文件夹。

4、Linux中所有存储设备都必须在挂载之后才能使用

挂载:简单理解就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,例如c:,d:,而 Linux 中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为 Windows 的盘符),把设备文件(如 /dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载

挂载过程是通过挂载命令实现的,挂载命令后面会提到,这里先了解。

windows:分区+格式化

Linux:分区+格式化+挂载,存储设备必须挂载后才能使用(硬盘、光盘、U盘)。挂载使用mount命令。eg:

代码语言:shell
复制
mount /dev/sda1 /mnt/file

三、Linux 目录结构

1、Linux分区与Windows分区

Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。eg:

2、Linux系统文件结构

在 Linux 根目录(/)下包含很多的子目录,称为一级目录。 例如 bin、boot、dev 等。 同时,各一级目录下还含有很多子目录,称为二级目录。 例如 /usr/bin、/var/tmp等。

路径:分为绝对路径和相对路径。

绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始

相对路径:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)

pass:只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。

一些常见且重要的表示(重要)

../:表示上级目录(上一级) ./ :表示当前目录(同级) 普通文件./可以省略,可执行文件(绿色)必须加./ 文件夹名称/:表示下级目录(下一级),注意这个斜杠/

3、Linux系统的文件目录用途

Linux 基金会发布了 FHS(Filesystem Hierarchy Standard 文件系统层次化标准)。规定了主要文件夹的用途。

eg:查看 Linux系统文件目录

双击桌面小光盘 ->Other Locations ->Computer,进入查看目录。

各目录用途如下:

FHS 针对根目录中包含的子目录仅限于上表,但除此之外,Linux 系统根目录下通常还包含下面几个一级目录。

一些小小总结:

/bin : 系统命令目录。 /sbin : 超级命令目录,只有超级管理员可以执行的命令。 /boot : 系统目录,类似于Windows中的C盘。 /dev : 设备文件目录,硬盘、光驱、U盘都属于设备文件,/dev/sr0代表光驱设备。注意,次目录下的文件没有办法直接使用,必须先挂载。 /etc : 非常重要,代表系统的配置文件目录。大部分软件安装完成后,其配置文件都存放在此目录。 /home : 普通用户的家目录,用户登录后会自动切换到此目录。每创建一个用户,其在/home下就会生成—个文件夹作为家目录。 /root : 超级管理员的家目录,超级管理员登录后会自动切换到此目录。 /media : 挂载目录,早期Linux挂载目录,用于挂载光盘及软盘。 /mnt : 挂载目录,用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区。 /usr : 系统程序目录,类似wndows中的Program Files。 /var : 经常变化的文件目录,网页文件、数据文件、日志文件。

四、Linux 入门命令(重点)

1、开启终端

问题:后期Linux 服务器都是以纯命令行的形式运行的,那在桌面模式下是否有命令输入的地方?

答:有,可以使用终端输入命令,在顶部单击应用程序菜单,选择系统工具,选择终端即可。或在桌面下右键->open Terminal。

打开终端后显示如下界面(代表含义如下):

2、Linux命令格式

什么是Linux 的命令?

答:就是指在Linux 终端(命令行)中输入的内容就称之为命令。

一个完整的命令的标准格式:Linux 通用的格式

代码语言:shell
复制
命令(空格) [选项](空格)[参数]

但是有些命令比较特殊,可能没有选项也没有参数,如

代码语言:shell
复制
pwd

还有一些命令,有命令有选项,但是没有参数,如

代码语言:shell
复制
ls -l

还有一些命令,命令+选项+参数全都有,如

代码语言:shell
复制
tail -n 3 readme.txt

注意:后期被"[]"包裹的表示该项为可选项,可写可不写,具体得看需要一个命令可以包含多个选项。操作对象也可以是多个。

3、Linux命令补全(扩展)

当在Linux系统的终端中,输入命令时,可以无需完整的命令,只需要记住命令的前几个字母即可,然后按Tab键,系统会自动进行补全操作。

代码语言:shell
复制
syst + Tab键
systemc + Tab键
systemctl

有些命令可能都以某几个字母开头,这个时候,只需要按两次Tab键,就会列出所有以你输入字符开头的可用命令。

代码语言:shell
复制
clea + Tab键 + Tab键

其他的用户可以自行尝试。

Tab键的功能特别强大:不仅可以补全命令还可以补全 Linux的文件路径。

4、切换用户

基本语法:

代码语言:shell
复制
su - root
Password:123456     (输入时密码不显示)
[root@localhost ~]#     表示切换成功

扩展:横杠(-)作用是什么?答:横杠代表切换用户的同时,切换用户的家目录。

5、uname命令

作用:获取计算机操作系统相关信息

基本语法:

代码语言:shell
复制
uname -a

选项说明: -a,all缩写,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

6、ls命令

用法一

主要功能:ls完整写法 list show,以平铺的形式显示当前目录下的文件信息。

代码语言:shell
复制
ls
用法二

主要功能:显示其他目录下的文件信息。

代码语言:shell
复制
ls 其他目录的完整路径

扩展:ls后面的路径既可以是绝对路径也可以是相对路径。

绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始。

相对路径:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)。 只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。

1)ls后跟绝对路径示例:列出 /var/log/ 目录下的文件名称

2)ls后跟相对路径示例:列出当前工作路径下,anaconda目录下的文件名

重要(再次提醒):

../:表示上级目录(上一级) ./ :表示当前目录(同级) 普通文件./可以省略,可执行文件(绿色)必须加./ 文件夹名称/:表示下级目录(下一级),注意这个斜杠/

用法三

基本语法

代码语言:shell
复制
ls [选项] [路径]
选项说明:
-l : ls -l	l是list缩写,代表以详细列表的形式显示当前或其他目录下的文件信息(简写命令=>ll)
-h : ls -lh	通常与-l结合一起使用,代表以较高的可读性显示文件的大小(kb/mb/gb)
-a : ls -a	a是all缩写,代表显示所有文件(也包含隐藏文件=>大部分以.开头)

. 表示当前目录。 .. 表示当前目录的上一级目录。 ./ 表示当前目录下的某个文件或文件夹,视后面跟着的名字而定。 ../ 表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。

7、psw命令

功能:pwd = print working directory,打印当前工作目录(显示当前路径)

代码语言:shell
复制
pwd

8、cd命令

功能:cd = change directory,切换目录(从一个目录跳转另一个目录)

代码语言:shell
复制
cd [路径]
选项说明:
路径既可以是绝对路径,也可以是相对路径。

案例一:切换到 /usr/local这个程序目录

代码语言:shell
复制
cd /usr/local

案例二:当前在/home/xxx下,切换到根目录/下

代码语言:shell
复制
cd ../../

案例三:当前在某个路径下,如何快速回到自己的家目录

代码语言:shell
复制
cd
或
cd ~

9、clear命令

功能:清屏

代码语言:shell
复制
clear

10、whoami命令

功能:获取当前用户的用户名

代码语言:shell
复制
whoami

11、reboot命令

功能:立即重启操作系统

代码语言:shell
复制
reboot

12、shutdown命令

功能:立即关机或延迟关机

1)立即关机基本语法:

代码语言:shell
复制
shutdown -h 0或now
shutdown -h 0
shutdown -h now
选项说明:
-h:halt缩写,代表关机

在Linux系统中,立即关机除了使用 shutdown -h 0以外还可以使用 halt -p命令

2)延迟关机基本语法:

代码语言:shell
复制
shutdown -h 分钟数
代表多少分钟后,自动关机

案例1:10分钟后自动关机

代码语言:shell
复制
shutdown -h 10

案例2:后悔了,取消关机

代码语言:shell
复制
光标一直不停的闪,取消关机
按Ctrl + C(Cent0S6,中断关机。Cent0S7中还需要使用shutdown -c命令)
shutdown -c

13、type命令

功能:主要用来结合help命令,用于判断命令的类型(属于内部命令还是外部命令)

基本语法︰

代码语言:shell
复制
type命令
内部命令:命令 is a shell builtin
外部命令:没有显示以上信息的就是外部命令

14、history命令

主要功能:显示系统以前输入的前1000条命令(查看历史命令)

基本语法:

代码语言:shell
复制
history

15、hostnamectl命令

功能:用于设置计算机的主机名称(给计算机起个名字),此命令为CentOS7新增的命令。

hostnamectl : hostname + control

15.1 获取计算机的主机名称
代码语言:shell
复制
hostnamectl
15.2 设置计算机的主机名称(CentOS7新增,了解)

Centos7中主机名分3类,静态的(static )、瞬态的 ( transient ) 、和灵活的( pretty )。

1)静态 static主机名称:电脑关机或重启后,设置的名称依然有效。

2)瞬态 transient主机名称:临时主机名称,电脑关机或重启后,设置的名称就失效了。

3)灵活 pretty主机名称:可以包含一些特殊字符。

CentOS 7中和主机名有关的文件为 /stc/hostname,它是在系统初始化的时候被读取的,并且内核根据它的内容设置瞬态主机名。

更改主机名称,让其永久生效? ① 使用静态的 ② 改 /etc/hostname文件

(1)瞬态主机名称(临时设置)

代码语言:shell
复制
hostnamectl --transient set-hostname 主机名称
主机名称 建议遵循 FQDN协议 (功能+公司域名)
web01.itweb.cn
web02.itweb.cn

案例:临时设置主机名称为yunwei.itweb.cn

代码语言:shell
复制
hostnamectl --transient set-hostname yunwei.itweb.cn
su 立即生效

(2)静态主机名称(永久生效)

代码语言:shell
复制
hostnamectl --static set-hostname 主机名称
温馨提示: --static也可以省略不写

案例:把计算机的主机名称永久设置为yunwei.itweb.cn

代码语言:shell
复制
hostnamectl --static set-hostname yunwei.itweb.cn
su 立即生效

(3)灵活主机名称 (主机名称可以添加特殊字符)

代码语言:shell
复制
hostnamectl --pritty set-hostname 主机名称(包含特殊字符)

案例:把计算机的主机名称通过灵活设置,设置为yunwei's server01

代码语言:shell
复制
hostnamectl --pretty set-hostname "yunwei's server01"
查看灵活的主机名称
hostnamectl --pretty

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!