Linux磁盘分区、挂载、链接

2024-08-28 21:32

本文主要是介绍Linux磁盘分区、挂载、链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言:

①、分区的方式

a)mbr分区:

最多支持四个主分区、系统只能安装在主分区、扩展分区要占一个主分区、MBR最大支持2TB,但拥有最好的兼容性

b)gtp分区:

支持无限多个主分区(说是这么说,但是操作系统可能会限制,比如Windows下最多128个分区)、最大支持18EB的大容量、Windows7 64以后支持gtp

1)Linux分区
  ①、原理介绍
  Linux来说无论有几个分区,分给哪一个目录使用(挂载),他归根结底就只有一个根目录,一个独立且卫衣的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分的。

Linux采用了一种叫 “载入” 的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。

简单来说,一个分区代表了一块具体的存储空间,Linux通过挂载的技术将这块空间挂载了一个具体的目录下面。

原理图:
在这里插入图片描述

②、硬盘说明

Linux硬盘分为IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

对于IDE硬盘,驱动器标识符为“hdx”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘。“x”为盘号(x为a时为基本盘,为b时值辅助主盘,为d是辅助从属盘),“”代表分区,前四个分区用数字1到4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。比如:hda3 表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

对于SCSI硬盘则标识符为“sdx~”,SCSI硬盘使用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

2)使用lsblk(老师不离开)指令查看当前系统的分区情况
  
在这里插入图片描述
在这里插入图片描述

3)挂载的经典案例【非常重要】
  需求:当目前的硬盘不够用时,就要尝试给Linux新增硬盘了,并且挂载到某一个具体的目录下面/home/newdisk

原理:新增一块硬盘sdb1,并挂载到/home/newdisk,此时对/home/newdisk的操作其实就是在操作sdb1这块硬盘。

在这里插入图片描述

①、先增加一块硬盘

a)虚拟机添加硬盘

在这里插入图片描述

当添加硬盘后使用 lsblk -f 发现并没有叫sdb的硬盘,需要重启才能看到。

在这里插入图片描述
在这里插入图片描述

此时的硬盘并没有分区,所以显示sdb 后面没有数字

b)分区

分区命令 fdisk /dev/sdb

开始对/sdb分区

*m  显示命令列表

*p  显示磁盘分区  与fdisk -l效果相同

*n  新增分区

*d  删除分区

*w  写入并退出

书名分区命令后,输入n新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q。

在这里插入图片描述

在这里插入图片描述

此时就分区成功了

c)格式化

mkfs -t ext4 /dev/sdb1    ext4是分区命令

d)挂载:将一个分区与一个目录联系起来

mount 设备名 挂载目录

例如:mount /dev/sdb1 /home/newdisk
在这里插入图片描述

附:卸载:umount 设备名称 或者 挂载目录

例如:umount /dev/sdb1 或者 umount /home/newdisk

f) 设置自动挂载

通过修改/etc/fstab实现自动挂载

添加完成后,执行mount -a 即可生效

在这里插入图片描述

至此。新增硬盘的挂载完成

4)磁盘情况查询
  ①、查询磁盘整体使用情况

df -h指令

在这里插入图片描述

②、查询指定目录的擦盘占用情况

du -【选项】 目录

常用选项:-s  指定目录占用大小汇总

-h  带计量单位

-a  含文件

–max-depth=1  子目录深度

-c  列出明细的同时,增加汇总值
在这里插入图片描述

5)磁盘情况【工作实用】

①、统计/root文件夹下文件的个数
在这里插入图片描述

②、统计/home文件夹下目录的个数

ls -l /home | grep “^d” | wc -l

③、统计/home文件夹下文件的个数,包括子文件夹下的

ls -lR /home | grep “^-” | wc -l

④、统计文件夹下目录的个数,包括子文件夹里的

ls -lR /home | grep “^d” | wc -l

⑤、以树状显示目录结构

tree

其他:
tmpfs是Linux/Unix系统上的一种基于内存的文件系统。tmpfs可以使用您的内存或swap分区来存储文件。由此可见,tmpfs主要存储暂存的文件。

优势 :
1.动态文件系统的大小。
2.tmpfs 的另一个主要的好处是它闪电般的速度。

缺点:
因为典型的 tmpfs 文件系统会完全驻留在内存 RAM 中,读写几乎可以是瞬间的。同时它也有一个缺点 tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

Linux软连接和硬链接的区别
一、Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

1、【硬连接】
  硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

2、【软连接】
  另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

二、通过实验加深理解
[oracle@Linux]$ touch f1 #创建一个测试文件f1
[oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2
[oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3
[oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r–r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r–r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。

[oracle@Linux]$ echo “I am f1 file” >>f1
[oracle@Linux]$ cat f1
I am f1 file
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
I am f1 file
[oracle@Linux]$ rm -f f1
[oracle@Linux]$ cat f2
I am f1 file
[oracle@Linux]$ cat f3
cat: f3: No such file or directory

通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

三、总结归纳
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。
综上 硬链接类似于文件复制 软连接类似于为文件创建快捷方式

查看挂载情况:
在这里插入图片描述

这篇关于Linux磁盘分区、挂载、链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115934

相关文章

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文