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中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用