您现在的位置是:首页 >学无止境 >从零开始学习Linux运维,成为IT领域翘楚(六)网站首页学无止境

从零开始学习Linux运维,成为IT领域翘楚(六)

造次阿 2023-07-17 12:00:02
简介从零开始学习Linux运维,成为IT领域翘楚(六)

🔥Linux磁盘管理

在这里插入图片描述
分区的方式

🐟	MBR分区表:每块硬盘最大支持2.1TB硬盘,每块硬盘最多支持4个分区。
🐟	GPT分区表(全局唯一标识分区):支持9.4ZB硬盘,理论上支持分区数没有限制,但Windows限制128个主分区。

Linux分区原理

Linux的文件系统是树形的,安装的系统必须是在 / 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。
在这里插入图片描述

df命令

用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

语法:

df [选项] [目录或文件名]

选项:

🐟	-a 显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统;
🐟	-m 以 MB 为单位显示容量;
🐟	-k 以 KB 为单位显示容量,默认以 KB 为单位;
🐟	-h 使用人们习惯的 KB、MB 或 GB 等单位自行显示容量;
🐟	-T 显示该分区的文件系统名称;
🐟	-i 不用硬盘容量显示,而是以含有 inode 的数量来显示。

示例1:
在这里插入图片描述

各列信息的含义:

🐟	Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;
🐟	1K-blocks:此列表示文件系统的总大小,默认以 KB 为单位;
🐟	Used:表示用掉的硬盘空间大小;
🐟	Available:表示剩余的硬盘空间大小;
🐟	Use%:硬盘空间使用率。如果使用率高达 90% 以上,就需要额外注意,因为容量不足,会严重影响系统的正常运行;
🐟	Mounted on:文件系统的挂载点,也就是硬盘挂载的目录位置。

lsblk命令

lsblk命令来自于英文词组”list block“的缩写,其功能是用于查看系统的磁盘使用情况。

参数:

-a显示所有设备
-b以字节单位显示设备大小
-d不显示 slaves 或 holders
-e排除设备
-f显示文件系统信息
-h显示帮助信息
-i仅使用字符
-m显示权限信息
-l使用列表格式显示
-n不显示标题
-o输出列
-P使用key=”value”格式显示
-r使用原始格式显示
-t显示拓扑结构信息

参考实例

显示系统中所有磁盘设备的使用情况信息:
在这里插入图片描述

fdisk命令

Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

重要参数:

	🐟	-l 列出素所有分区表
	
	⭐菜单操作说明
	🐟	m :显示菜单和帮助信息
	🐟	a :活动分区标记/引导分区
	🐟	d :删除分区
	🐟	l :显示分区类型
	🐟	n :新建分区
	🐟	p :显示分区信息
	🐟	q :退出不保存
	🐟	t :设置分区号
	🐟	v :进行分区检查
	🐟	w :保存修改
	🐟	x :扩展应用,高级功能

参考实例

显示当前分区情况:

[root@localhost ~]# fdisk -l

在这里插入图片描述

🔥Linux挂载硬盘

在这里插入图片描述
需求是给我们Linux系统增加一个新的硬盘, 并且挂载到/home/it。

虚拟机添加硬盘
在这里插入图片描述

分区

设置分区

fdisk /dev/sdb
选项:
1.按n : 添加新的分区 
2.按p : 你是不是要化一个主分区
3.按1 : 主分区编号
4.按回车2次:设置分区大小
5.按w : 把数据写入硬盘退出

查看分区

lsblk -f

格式化

mkfs -t ext4 /dev/sdb1

在这里插入图片描述

挂载

先创建目录 /home/it

mount /dev/sdb1 /home/it

在这里插入图片描述

菜鸟雷区:

这种挂载有个问题,重启计算机后,挂载信息消失。

永久挂载

vim /etc/fstab

在这里插入图片描述

mount -a

🔥Linux系统状态检测命令

在这里插入图片描述

ip addr 命令

命令用于获取网卡配置与网络状态等信息。
在这里插入图片描述

uname 命令

uname 命令用于查看系统内核与系统版本等信息。

uname -a
Linux zk3 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64
GNU/Linux

注意:
在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主 机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。

顺带一提,如果要查看当前系统版本的详细信息,则需要查看redhat-release 文件,其命 令以及相应的结果如下:

cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

free 命令

free 用于显示当前系统中内存的使用量信息。

free -h

在这里插入图片描述

注意:
为了保证 Linux 系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。

last 命令

last 命令用于查看所有系统的登录记录。

语法:

last [参数]

注意:
使用 last 命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保 存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!

history 命令

history 命令用于显示历史执行过的命令。

语法:

history [-c]

注意:
history 命令应该是老师最喜欢的命令。执行 history 命令能显示出当前用户在本地计算机 中执行过的最近 1000 条命令记录。如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的 HISTSIZE 变量值。在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。

uptime 命令

uptime 用于查看系统的负载信息,格式为 uptime。

[root@zk3 opt]# uptime 17:56:03 up 7:14, 2 users, load average:
0.02, 0.02, 0.05

注意:
uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要 超过 5。

🔥Linux下载软件安装的命令

在这里插入图片描述
源码安装

以源代码安装软件,每次都需要配置操作系统、配置编译参数、实际编译,最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。

RPM软件包管理
在这里插入图片描述

RPM安装软件的默认路径:

注意:

	🐟	/etc 配置文件放置目录
	🐟	/usr/bin 一些可执行文件
	🐟	/usr/lib 一些程序使用的动态链接库
	🐟	/usr/share/doc 一些基本的软件使用手册与说明文件
	🐟	/usr/share/man 一些man page档案

常用的 RPM 软件包命令

安装软件的命令格式rpm -ivh filename.rpm
升级软件的命令格式rpm -Uvh filename.rpm
卸载软件的命令格式rpm -e filename.rpm
查询软件描述信息的命令格式rpm -qpi filename.rpm
列出软件文件信息的命令格式rpm -qpl filename.rpm
查询文件属于哪个 RPM 的命令格式rpm -qf filename

参数说明:

	🐟	-i:install的意思,安装
	🐟	-v:查看更详细的安装信息画面
	🐟	-h:以安装信息栏显示安装进度

软件安装

如你需要安装一个jdk,首先要到网上下载一个jdk的rpm包,如jdk-8u171-linux-x64.rpm。最简单的安装命令如下:

rpm -i jdk-8u171-linux-x64.rpm

不过,这样的参数其实无法显示安装的进度,所以通常我们执行的命令是这样:

rpm -ivh package-name

卸载软件
使用rpm的卸载过程一定要由最上层往下卸载,以rp-pppoe为例,这个软件主要是依据ppp这个软件来安装的,所以当你要卸载ppp
的时候,就必须先卸载rp-pppoe才行!

删除的命令非常简单,通过-e参数就可以完成。不过,很常发生软件属性依赖导致无法山洼某些软件的问题。

rpm -e gcc

注意:

如果删除不想检查依赖关系,加 --nodeps

YUM

YUM可以看作是CS架构的软件,YUM的存在很好的解决了RPM的属性依赖问题。

YUM通过依赖rpm软件包管理器, 实现了rpm软件包管理器在功能上的扩展, 因此YUM是不能脱离rpm而独立运行的。

在这里插入图片描述

注意:
YUM是一个在线软件管理工具,所以使用YUM进行的操作大都是需要在联网的条件下才能正常使用。

YUM的配置文件

容器说明

虽然yum是你在联网后就能直接使用,不过,由于你系统的站点镜像没选择好,会导致连接速度非常慢!所以,这时候就需要我们去手动修改yum的设置文档了。

容器查询

首先,可以先查询一下目录yum server所使用的容器有哪些。

使用命令:yum repolist all,查询结果如下:
在这里插入图片描述

如上图,只有当最右边的status为enabled该容器才算激活,/etc/yum.repos.d/里面会有多个配置文件(文件名以.repo结尾),yum会从里面逐个查找,所以里面的容器名称不能有重复。

配置文件修改

打开配置文件:vi /etc/yum.repos.d/CenOS-Base.repo,内容如下
在这里插入图片描述
配置文件的说明:
⭐ [base]:代表容器的名字。中括号一定要存在,里面的名称可以随意起,但不能有两个相同的容器名称,否则yum会不知道去哪里找容器相关软件列表文件。

⭐ name:只是说明一下这个容器的意义而已,重要性不高。

⭐ mirrorlist:列出这个容器可以使用的镜像站点,如果不想使用可以批注掉这一行。

⭐ baseurl:这个最重要,因为后面接的就是容器的实际网址。

⭐ mirrorlist是由yum程序自行去找镜像站点

⭐ baseurl则是指定固定的一个容器网址。

⭐ enable=1:启动这个容器,默认值也为1。关闭这个容器可以设
置enable=0。

⭐ gpgcheck=1:指定是否需要查阅RPM文件内的数字证书。

⭐ gpgkey:数字证书的公钥文件所在位置,使用默认值即可。

注意:

1)yum会自动识别/etc/yum.repos.d/目录以.repo结尾的文件。

2)当我们修改了配置文件的网址却没有修改容器名称,可以会造成本机的列表与yum服务器的列表不同步,这时就需要手动来清除容器的数据了:

语法:yum clean [packages|headers|all]

参数:
⭐ packages:将已下载的软件文件删除
⭐ headers:将下载的软件文件头删除
⭐ all:将所有容器数据都删除
例:删除已下载过的所有容器相关数据(含软件本身与列表)
⭐ yum clean all

示例1

配置阿里yum源

1:安装wget
     yum install -y wget   (如果已经安装了则省略)
2:备份 /etc/yum.repos.d/CentOS Base.repo文件
     cd /etc/yum.repos.d/
     mv CentOS-Base.repo CentOS-Base.repo.back
3:下载阿里云的Centos-7.repo文件
         wget -O CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
4:重新加载yum
     yum clean all
     yum makecache
5:检查配置的源是否是阿里的
     cat /etc/yum.repos.d/CentOS-Base.repo

在这里插入图片描述

YUM使用手册
在这里插入图片描述

小技巧:

使用参数-y,当遇到需要等待用户输入时,这个选项会提供yes的响应,如上面的例子可以写成:

yum install -y emacs
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。