Linux- 磁盘分区、网络配置
一、磁盘分区
1. 磁盘分区概述
Linux 操作系统只有一个根目录,根目录下又分几个区分别分给某一子目录使用,Linux 操作系统中的每个分区都是整个文件系统的一部分,硬盘中的每个分区都会挂载到文件系统的某一目录中。
Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,IDE 硬盘的驱动标识符为 “hdx~”:
“hd” 表示分区所在设备的类型
“x” 表示盘号,a 基本盘、b 基本从属盘、c 辅助主盘、d 辅助从属盘
“~” 表示分区,前四个分区为主分区或者扩展分区,分别用数字 1 到 4 表示,从 5 开始变为逻辑分区
例如标识符 hda1 就代表 IDE 硬盘上的第一个主分区或者拓展分区;
SCSI 硬盘的驱动标识符为 “sdx~”,除了使用“sd”表示设备类型外,其余则与 IDE 硬盘相同,目前主流硬盘为 SCSI 硬盘。
我们可以使用指令 lsblk 或者 lsblk -f 来查看所有硬盘分区及设备挂载情况,如下一块 SCSI 基本盘下又有 1、2 两个主分区或者拓展分区:
使用 lsblk -f 指令的区别在于该命令比 lsblk 所查看的信息更为详细;
2. 磁盘分区实例
创建一个新的磁盘并分区、挂载再到删除需要有以下几步:
(1)添加硬盘
我们先在 Linux 系统中添加一块硬盘,进入“菜单”,选择“设置”,在设备列表中添加硬盘,随后点击“下一步”并设置磁盘大小后重启系统即可。
(2)创建分区
分区命令为 fdisk 磁盘,需要知道,新添加的硬盘是在 Linux 操作系统的设备文件夹也就是 /dev 目录下的, 所以我们使用指令 fdisk /dev/sdb 对硬盘 sdb 进行分区,随后按照提示进行如下操作:
注意:在进行分区操作的最后一步必须输入 w 写入磁盘并退出,否则之前的操作均不会生效。
此时我们再查看硬盘及分区情况,新的硬盘 sdb 已有新分区 sdb1;
(3)分区格式化
格式化分区 指令为 mkfs -t ext4 分区,其中 ext4 代表分区类型;接下来我们对分区 sdb1 进行格式化:
此外如果想要知道一个分区有没有被格式化,可以使用指令 lsblk -f 查看分区的详细信息,未经格式化的分区是没有唯一标识符(UUID)属性的。
(4)将新创建的分区挂载到目录
根据分区原理可知,每一个分区都与文件系统有着紧密的联系,所以分区只有挂载到某一目录当中才可以使用。挂载指令为 mount 分区 挂载点;
我们创建一个新目录 newdisk 用于挂载(建议且切换到根目录或者其他目录创建,因为小马在主目录创建时挂载不成功);
此时再次查看分区,新分区 sdb1 已有挂载点 newdisk;
至此,新的分区创建成功且已挂载至目录,今后在目录中创建的文件其实就是保存到了该分区中。
提示:使用 mount 指令进行挂载操作后,重启系统则挂载关系会消失。为了避免挂载的重复操作,可以进行永久挂载。
(5)删除(卸载)挂载关系
删除分区与目录的挂载关系使用指令 umount 分区 或者 umount 挂载点 均可,如下挂载关系已删除;
3. 查询磁盘情况
在目录下创建文件时,文件会保存到与该目录具有挂载关系的磁盘分区中,磁盘存储空间则会越来越小,为了保证磁盘的正常使用,我们必须时刻知道系统磁盘的使用情况。
查询磁盘情况使用指令 df -h,如下;当已用量超过 80% 时就应该采取相关措施比如清理空间、添加磁盘或者分区等等;
除了查询系统磁盘情况,也可以使用指令 du -h /目录 查询指定目录所对应的磁盘的使用情况。未写目录而直接使用指令 du -h 时默认为当前所在目录;
4. 磁盘情况其他指令
ls -l 目录 | grep "^-" | wc -l //统计某目录下文件的个数
ls -l 目录 | grep "^d" | wc -l //统计某目录下目录的个数
ls -lR 目录 | grep "^-" | wc -l //统计某目录下文件的个数包括其子文件
ls -lR 目录 | grep "^d" | wc -l //统计某目录下目录的个数包括其子目录
tree 目录 //以树状结构显示目录结构,前提是已经安装了 tree(安装命令:yum install tree)
二、网络配置
1. 网络概述
在以往的操作中,小马都是以虚拟机的方式演示 Linux 操作系统的,就是在 Windows 环境中创建一个虚拟机,虚拟机中使用 Linux 系统,以此来模拟实现 Windows 端与 Linux 端的互相操作。
Linux 操作系统中查看网络配置使用指令 ifconfig;
Windows 操作系统中查看 VMnet8 网络配置使用指令 ipconfig;
由上操作可以看到,Windows 端与 Linux 端的网络都在同一个网段也就是 192.168.65.xx,所以二者之间才可以进行网络通讯(只有在相同网段才能进行网络通讯)。
测试两主机之间是否可以连通需要使用指令 ping 目的主机ip;如下测试在 Windows 系统是否可以连通 Linux 系统,可以连通;
测试在 Linux 操作系统中是否可以连通百度;
2. 配置 Linux 网络环境
方式1:自动获取 ip
登录 Linux 操作系统后,默认为自动获取 ip,该方法可以有效避免 ip 冲突,但每次获取的 ip 可能都不一样。
在工作当中,可能 Linux 系统需要作为服务器来运行,这个时候就需要一个固定的 ip 地址,所以不建议使用自动获取方式来获取 ip。
点击“应用程序”-->“系统工具”-->“设置”-->“网络”-->“IPv4”可以查看当前网络配置情况;
方式2:手动指定 ip
手动指定 ip 需要修改配置文件,使用 vi/vim 编辑器修改 /etc/sysconfig/network-scripts/ifcfg-ens33 文件内容;
首先 vim 进入 ifcfg-ens33,文件初始状态如下;
接下来按 i 进入插入模式进行修改,修改如下;
修改完成后 wq 保存退出;
现在我们已经将 Linux 虚拟机的 ip 设置为 192.168.200.131,为了不影响与 widows 的连通,还需要将 VMnet8 也修改为相同网段192.168.200.xx;
设置结束之后,重启网络服务 service network restart,或者重启系统 reboot,新的固定 ip 就会生效;此时进入 Linux 系统查看 ip,ip 地址已更新;
在 Windows 中查看 VMnet8 也已经被修改;
此时两端互相可以 ping 通,说明新的网络 ip 已配置成功;
3. 设置主机名和 host 映射
(1)设置/修改主机名
Linux 操作系统可以设置和修改主机名称,使用指令 hostname 可以查看当前的主机名称;我的 Linux 初始主机名称如下:
2)设置 host 映射
测试连通性除了可以通过 ping 目标主机ip 的方式,也可以通过 ping 目标主机名 的方式,前提是必须先设置 host 映射;
Windows 操作系统中在 C:Windows\System32\drivers\etc\hosts 文件中指定;
Linux 操作系统中在 /etc/hosts 文件中指定,其余操作不变,此处省略。
4. 补充 主机名解析过程
hosts 就是一个文本文件,用于记录 ip 和主机名(hostname) 的映射关系;DNS 域名,是互联网上作为域名和 ip 地址互相映射的一个分布式数据库。
当用户在浏览器输入一个域名后,浏览器会先检查浏览器缓存中是否有这个域名解析的 ip 地址,有则返回 ip 完成解析,没有则再去检查操作系统的 DNS 解析器缓存,有则直接返回 ip 完成解析。如果再 DNS 解析器缓存仍没有找到解析的 ip 地址对应的映射,再去系统的 hosts 文件中查找,如果 hosts 也未找到,则去公网的域名服务数据库查找,如果都没有,返回“域名不存在”。
简单来说就是共查找四部:查找浏览器缓存 --> 查找系统 DNS 缓存 --> 查找 hosts 文件 --> 查找公网数据库。
1. 磁盘分区概述
Linux 操作系统只有一个根目录,根目录下又分几个区分别分给某一子目录使用,Linux 操作系统中的每个分区都是整个文件系统的一部分,硬盘中的每个分区都会挂载到文件系统的某一目录中。
Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,IDE 硬盘的驱动标识符为 “hdx~”:
“hd” 表示分区所在设备的类型
“x” 表示盘号,a 基本盘、b 基本从属盘、c 辅助主盘、d 辅助从属盘
“~” 表示分区,前四个分区为主分区或者扩展分区,分别用数字 1 到 4 表示,从 5 开始变为逻辑分区
例如标识符 hda1 就代表 IDE 硬盘上的第一个主分区或者拓展分区;
SCSI 硬盘的驱动标识符为 “sdx~”,除了使用“sd”表示设备类型外,其余则与 IDE 硬盘相同,目前主流硬盘为 SCSI 硬盘。
我们可以使用指令 lsblk 或者 lsblk -f 来查看所有硬盘分区及设备挂载情况,如下一块 SCSI 基本盘下又有 1、2 两个主分区或者拓展分区:
使用 lsblk -f 指令的区别在于该命令比 lsblk 所查看的信息更为详细;
2. 磁盘分区实例
创建一个新的磁盘并分区、挂载再到删除需要有以下几步:
(1)添加硬盘
我们先在 Linux 系统中添加一块硬盘,进入“菜单”,选择“设置”,在设备列表中添加硬盘,随后点击“下一步”并设置磁盘大小后重启系统即可。
(2)创建分区
分区命令为 fdisk 磁盘,需要知道,新添加的硬盘是在 Linux 操作系统的设备文件夹也就是 /dev 目录下的, 所以我们使用指令 fdisk /dev/sdb 对硬盘 sdb 进行分区,随后按照提示进行如下操作:
注意:在进行分区操作的最后一步必须输入 w 写入磁盘并退出,否则之前的操作均不会生效。
此时我们再查看硬盘及分区情况,新的硬盘 sdb 已有新分区 sdb1;
(3)分区格式化
格式化分区 指令为 mkfs -t ext4 分区,其中 ext4 代表分区类型;接下来我们对分区 sdb1 进行格式化:
此外如果想要知道一个分区有没有被格式化,可以使用指令 lsblk -f 查看分区的详细信息,未经格式化的分区是没有唯一标识符(UUID)属性的。
(4)将新创建的分区挂载到目录
根据分区原理可知,每一个分区都与文件系统有着紧密的联系,所以分区只有挂载到某一目录当中才可以使用。挂载指令为 mount 分区 挂载点;
我们创建一个新目录 newdisk 用于挂载(建议且切换到根目录或者其他目录创建,因为小马在主目录创建时挂载不成功);
此时再次查看分区,新分区 sdb1 已有挂载点 newdisk;
至此,新的分区创建成功且已挂载至目录,今后在目录中创建的文件其实就是保存到了该分区中。
提示:使用 mount 指令进行挂载操作后,重启系统则挂载关系会消失。为了避免挂载的重复操作,可以进行永久挂载。
(5)删除(卸载)挂载关系
删除分区与目录的挂载关系使用指令 umount 分区 或者 umount 挂载点 均可,如下挂载关系已删除;
3. 查询磁盘情况
在目录下创建文件时,文件会保存到与该目录具有挂载关系的磁盘分区中,磁盘存储空间则会越来越小,为了保证磁盘的正常使用,我们必须时刻知道系统磁盘的使用情况。
查询磁盘情况使用指令 df -h,如下;当已用量超过 80% 时就应该采取相关措施比如清理空间、添加磁盘或者分区等等;
除了查询系统磁盘情况,也可以使用指令 du -h /目录 查询指定目录所对应的磁盘的使用情况。未写目录而直接使用指令 du -h 时默认为当前所在目录;
4. 磁盘情况其他指令
ls -l 目录 | grep "^-" | wc -l //统计某目录下文件的个数
ls -l 目录 | grep "^d" | wc -l //统计某目录下目录的个数
ls -lR 目录 | grep "^-" | wc -l //统计某目录下文件的个数包括其子文件
ls -lR 目录 | grep "^d" | wc -l //统计某目录下目录的个数包括其子目录
tree 目录 //以树状结构显示目录结构,前提是已经安装了 tree(安装命令:yum install tree)
二、网络配置
1. 网络概述
在以往的操作中,小马都是以虚拟机的方式演示 Linux 操作系统的,就是在 Windows 环境中创建一个虚拟机,虚拟机中使用 Linux 系统,以此来模拟实现 Windows 端与 Linux 端的互相操作。
Linux 操作系统中查看网络配置使用指令 ifconfig;
Windows 操作系统中查看 VMnet8 网络配置使用指令 ipconfig;
由上操作可以看到,Windows 端与 Linux 端的网络都在同一个网段也就是 192.168.65.xx,所以二者之间才可以进行网络通讯(只有在相同网段才能进行网络通讯)。
测试两主机之间是否可以连通需要使用指令 ping 目的主机ip;如下测试在 Windows 系统是否可以连通 Linux 系统,可以连通;
测试在 Linux 操作系统中是否可以连通百度;
2. 配置 Linux 网络环境
方式1:自动获取 ip
登录 Linux 操作系统后,默认为自动获取 ip,该方法可以有效避免 ip 冲突,但每次获取的 ip 可能都不一样。
在工作当中,可能 Linux 系统需要作为服务器来运行,这个时候就需要一个固定的 ip 地址,所以不建议使用自动获取方式来获取 ip。
点击“应用程序”-->“系统工具”-->“设置”-->“网络”-->“IPv4”可以查看当前网络配置情况;
方式2:手动指定 ip
手动指定 ip 需要修改配置文件,使用 vi/vim 编辑器修改 /etc/sysconfig/network-scripts/ifcfg-ens33 文件内容;
首先 vim 进入 ifcfg-ens33,文件初始状态如下;
接下来按 i 进入插入模式进行修改,修改如下;
修改完成后 wq 保存退出;
现在我们已经将 Linux 虚拟机的 ip 设置为 192.168.200.131,为了不影响与 widows 的连通,还需要将 VMnet8 也修改为相同网段192.168.200.xx;
设置结束之后,重启网络服务 service network restart,或者重启系统 reboot,新的固定 ip 就会生效;此时进入 Linux 系统查看 ip,ip 地址已更新;
在 Windows 中查看 VMnet8 也已经被修改;
此时两端互相可以 ping 通,说明新的网络 ip 已配置成功;
3. 设置主机名和 host 映射
(1)设置/修改主机名
Linux 操作系统可以设置和修改主机名称,使用指令 hostname 可以查看当前的主机名称;我的 Linux 初始主机名称如下:
2)设置 host 映射
测试连通性除了可以通过 ping 目标主机ip 的方式,也可以通过 ping 目标主机名 的方式,前提是必须先设置 host 映射;
Windows 操作系统中在 C:Windows\System32\drivers\etc\hosts 文件中指定;
Linux 操作系统中在 /etc/hosts 文件中指定,其余操作不变,此处省略。
4. 补充 主机名解析过程
hosts 就是一个文本文件,用于记录 ip 和主机名(hostname) 的映射关系;DNS 域名,是互联网上作为域名和 ip 地址互相映射的一个分布式数据库。
当用户在浏览器输入一个域名后,浏览器会先检查浏览器缓存中是否有这个域名解析的 ip 地址,有则返回 ip 完成解析,没有则再去检查操作系统的 DNS 解析器缓存,有则直接返回 ip 完成解析。如果再 DNS 解析器缓存仍没有找到解析的 ip 地址对应的映射,再去系统的 hosts 文件中查找,如果 hosts 也未找到,则去公网的域名服务数据库查找,如果都没有,返回“域名不存在”。
简单来说就是共查找四部:查找浏览器缓存 --> 查找系统 DNS 缓存 --> 查找 hosts 文件 --> 查找公网数据库。