linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少

0x01 Linux 分区简介

主分区 vs 扩展分区

硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition),主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),逻辑分区没有数量上限制。

驱动器标示的含义

对Linux用户来说无论有几个分区,都得分给目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“挂载点”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区就在linux的存储空间的某个目录下获得。

对于IDE硬盘,驱动器标识符为“hdx1”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“1”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为“sdx1”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

上面可以看到,Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3和Swap两种,Ext3用于存放系统文件,Swap则作为Linux的交换分区(相当于windows中的虚拟内存文件)。那么现在我们就可以知道Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换))。由于不能将Linux安装在Dos/Windows分区。一般来说我们将Linux安装一个或多个类型为“Linux Native”的硬盘分区,但是在Linux的每一个分区都必须要指定一个“Mount Point”(挂载点),告诉Linux在启动时,这个目录要给哪个分区使用。对“Swap”分区来说, 一般也定义一个,且它不必要定义载入点。

下面我们先对“Linux Native”和“Linux Swap”有个初步的了解。

SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍。另外你也可以创建和使用一个以上的交换分区,最多16个。

Linux Native是存放系统文件的地方,一般用EXT4的分区类型,对Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是“/”)。

为什么要自定义多个分区

a. 在不损失数据的情况下重装系统,比如独立设置/home挂载点,重装系统的时候直接标记回/home,数据不会有任何损失。

b. 针对不同挂载点的特性分配合适的文件系统以合理发挥性能,比如对/var使用reiserfs,对/home使用xfs,对/使用ext4。

c. 针对不同的挂载点开启不同的挂载选项,如是否需要即时同步,是否开启日志,是否启用压缩。

d. 大硬盘搜索范围大,效率低

e. 磁盘配额只能对分区做设定

f. /home、/var、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片

0x02 挂载点目录简介

常见的挂载目录结构

ce31ae7da616

目录结构

常见的挂载目录说明

/ 根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中)

/boot boot loader 的静态链接文件,存放与Linux启动相关的程序

/home 用户目录,存放普通用户的数据

/tmp 临时文件

/usr 是Linux系统存放软件的地方,如有可能应将最大空间分给它

/usr/local 自已安装程序安装在此

/var 不断变化的数据,服务器的一些服务、日志放在下面

/opt (Option可选的)附加的应用程序软件包

/bin 基本命令执行文

/dev 设备文件

/etc 主机特定的系统配置

/lib 基本共享库以及内核模块

/media 用于移动介质的挂载点

/mnt 用于临时挂载文件系统或者别的硬件设备(如光驱、软驱)

/proc 系统信息的虚拟目录(2.4 和 2.6 内核),这些信息是在内存中,由系统自己产生的

/root root 用户的目录

/sbin 基本系统命令执行文件

/sys 系统信息的虚拟目录(2.6 内核)

/srv 系统提供的用于 service 的数据

/usr/X1186 X-Windows目录,存放一些X-Windows的配置文件

/usr/include 系统头文件,存储一些C语言的头文件

/usr/src Linux内核源代码,Linux系统所安装的内核源代码都保存在此

/usr/bin 对/bin目录的一些补充

/usr/sbin 对/sbin目录的一些补充

/lost+found 这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下

为什么 linux 的分区需要有挂载这个动作呢

因为linux 下一切皆文件!换句说法就是linux操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备(打印机、网卡、声卡...)、磁盘分区等,在linux中统统都被视作文件,对设备、分区的访问就是读写对应的文件。

0x03 实战分区挂载

临时挂载

$ mount /dev/sda3 /data ##sda3分区挂载在data目录下

$ umount /data ##卸载data目录下分区

永久挂载:开机自动挂载

需要修改/etc/fstab

LABEL=/data /data ext3 defaults 1 2

修改为:

/dev/sda3 /data ext3 defaults 1 2

PS:fstab 是文件系统分配表的配置文件,该文件有着严格的语法格式限制,类似 crontab 一样,保存时也会对你的输入格式进行校验,请慎重使用,否则会有意想不到的问题发生。其一共有 6 个字段,空格分隔。

添加硬盘&分区&挂载

参考之前写的文摘《Centos下磁盘分区及挂载》

0x04 通过 fstab 设置开机挂载的问题

Linux 在启动的时候通过 fstab 中的信息挂载各个分区,一个典型的分区条目就像这样:

/dev/sda3 /data ext3 defaults 1 2

/dev/sda3 为需要挂载的分区,sda3是 Linux 检测硬盘时按顺序给分区的命名,一般来讲,这个名称并不会变化,但是如果你有多块硬盘,硬盘在电脑中的顺序变化的时候,相同的名称可能代表着不同的硬盘分区。这样的话上面设置的开机自动挂载就会出现找不到分区上面的文件情况

这个时候 UUID 就派上用场了,UUID 全称是 Universally Unique Identifier,也就是说,每个分区有一个唯一的 UUID 值,这样就不会发生分区识别混乱的问题了。

在 fstab 中用 UUID 挂载分区格式如下:

UUID=7cc82613-5be2-4e58-b359-0920613f9509 /data ext3 defaults 1 2

可以通过下面命令得到分区的UUID

$ ls -l /dev/disk/by-uuid/

0x05 FAQ

a. 挂载点必须是一个目录

b. 一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样,卸载后,目录以前的文件都还在,不会有任何丢失

c. 目录只占磁盘里的一个inode,存放文件属性等信息

d. 任何一个分区都必须挂载到某个目录上

e. 目录是逻辑上的区分。分区是物理上的区分

f. 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作

g. 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区

h. 一个分区可以挂在多个目录,但反过来一个目录只能是一个分区的挂载点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 8中的HashMap性能改进

HashMap<K, V>是每个Java程序中快速&#xff0c;通用且无处不在的数据结构。 首先是一些基础知识。 您可能知道&#xff0c;它使用键的hashCode()和equals()方法在存储桶之间拆分值。 存储桶&#xff08;箱&#xff09;的数量应略高于映射中的条目数&#xff0c;以便每个…

css 汉字注音,日本语片假名

代码 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2 <html xmlns"http://www.w3.org/1999/xhtml">3 4 <head>5 <meta content"te…

Microsoft .NET 框架资源基础 ---摘自:msdn

Chris SellsSells Brothers Consulting 摘要&#xff1a;Chris Sells 讨论无类型清单资源和有类型资源&#xff0c;它们是受 Microsoft .NET 框架支持的两种资源。他定义了这两种资源&#xff0c;并介绍了如何在您自己的应用程序中使用它们。 下载 winforms02202003.exe 示例文…

Elasticsearch-kopf导览

当我需要一个插件来显示Elasticsearch的集群状态时&#xff0c;或者需要深入了解通常为经典插件elasticsearch-head所达到的索引时。 由于有很多建议&#xff0c;而且似乎是非官方的继任者&#xff0c;所以我最近对elasticsearch-kopf进行了更详细的介绍 。 我喜欢它。 我不确…

文字阴影-CSS Text-Shadow

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2<html xmlns"http://www.w3.org/1999/xhtml">3<head>4<title>文字阴影-CSS Text-Shad…

javascript动态创建radio button元素支持IE/Firefox

我们都知道在IE中创建表单元素可以有三种方式varoInput document.createElement("input");varoInput document.createElement("<input />");varoInput document.createElement("<input name />");在Firefox里面仅支持varoInput docu…

如何在Android Studio中添加RecyclerView-v7支持包

首先右键你的项目然后选择 open module Settings 之后会出现这个界面&#xff0c;选择 Modules 下的app ,>>> Dependencies >>>点击右边的“” 选择第一项Library dependency 出现此界面&#xff0c;然后选择你所需要的 转载于:https://www.cnblogs.com/lcx9…

浮动层图片鼠标指针移到自动放大

html code:1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2<html xmlns"http://www.w3.org/1999/xhtml">3<head>4<title>缔友计算机信…

字符大小端aix linux,long, unsigned long不是跨平台的(慎用)

项目中用到long、long long等字段&#xff0c;遇到一些问题。先说得到的一些结论&#xff1a;大小端&#xff1a;Windows、Linux是小端&#xff0c;AIX是大端。sizeof(指针类型)程序位数/8。long、unsigned long不是跨平台的&#xff0c;一定要慎用。自己写了程序测试各平台下(…

Java构建工具:Ant vs. Maven vs Gradle

最初&#xff0c;Make是唯一可用的构建工具。 后来通过GNU Make进行了改进。 但是&#xff0c;从那时起&#xff0c;我们的需求增加了&#xff0c;结果&#xff0c;构建工具也不断发展。 JVM生态系统主要由三个构建工具组成&#xff1a; 常春藤的 Apache Ant 马文 摇篮 An…

Asp.Net中用javascript实现弹出窗口永远居中

//Asp.Net中用javascript实现弹出窗口永远居中functionShowDialog(url) { var iWidth600; //模态窗口宽度 var iHeight500;//模态窗口高度 var iTop(window.screen.height-iHeight)/2; var iLeft(window.screen.width-iWidth)/2; window.open(url,"Detail"…

Linux Vim 光标错位,技术|Vim 复制粘帖格式错乱问题的解决办法

有时候&#xff0c;复制文本(尤其是代码)到 Vim&#xff0c;会出现格式错乱的问题。看样子&#xff0c;应该是自动缩进惹得祸。本文不去深究原因&#xff0c;直接给出解决方法。1. paste 模式运行如下命令&#xff0c;进入 paste 模式&#xff1a;:set paste进入 paste 模式后&…

kali vmtools 不能复制粘贴解决方法(绝对实用)

朋友问起怎么vm kali 2019怎么不能复制了&#xff0c;而且网上的方法大多不适合。我就在这儿记录一笔吧&#xff0c;方便大家。 之前发现最新kali复制粘贴不能用&#xff0c;后来发现一个奇妙的套路&#xff0c;不是共享文件夹。只需要把文件复制到命令行中&#xff0c;会出现t…

MineCraft和堆外内存

总览 MineCraft是一个很好的例子&#xff0c;说明何时堆外内存确实可以提供帮助。 关键要求是&#xff1a; 保留的数据大部分是一个简单的数据结构&#xff08;在我的世界的情况下&#xff0c;它的很多字节[]&#xff09; 堆外内存的使用可以隐藏在抽象中。 考试 我使用以下测…

kubernetes进阶之七:Service

1.概述 Service也是Kubernetes里的最核心的资源对象之一&#xff0c;Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个“微服务”&#xff0c;之前我们所说的Pod、RC等资源对象其实都是为这节所说的“服务”------Kubernetes Service作“嫁衣”的。图1.12显…

Json Schema的使用

直接上案例&#xff1a; 在Web Api通讯中&#xff0c;客户端发送json数据&#xff0c;服务端反序列化json&#xff08;json与某个类形成对应关系&#xff09;&#xff0c;在某些情况下&#xff0c;需要校验其上传的json是否合法。 服务端是使用Json.net(newtonsoft.json)进行…

红帽企业版linux 7.4更新启动,红帽Linux企业版7.4 淘汰Btrfs文件系统

我们不得不承认Btrfs是一种古老的文件系统&#xff0c;当初(2007年)是由甲骨文宣布并进行中的COW(copy-on-write式)文件系统&#xff0c;意图取代Linux的ext。但是天不遂人愿&#xff0c;2011年8月9日&#xff0c;Fedora就决定Btrfs不再作为Fedora 16默认文件系统&#xff0c;走…

关于控件postback 后viewstate加载失败的问题

我写了一个控件Inherits TextBox&#xff0c;里面有一个复杂属性Tip&#xff0c;但每次postback的时候都说加载viewstate失败&#xff0c;除非我在!postback的情况下给Tip.xxx赋值. 下面我贴出代码&#xff0c;我已经搞了一天了&#xff0c;搞不出什么原因。 JTextBox控件 usin…

天猫浏览型应用的CDN静态化架构演变(转)

在天猫双11活动中&#xff0c;商品详情、店铺等浏览型系统&#xff0c;通常会承受超出日常数倍甚至数十倍的流量冲击。随着历年来双11流量的大幅增加&#xff0c;每年这些浏览型 系统都要面临容量评估、硬件扩容、性能优化等各类技术挑战。因此&#xff0c;架构方面的重点在于&…

查看您的Solr缓存大小:Eclipse Memory Analyzer

Solr使用不同的缓存来防止请求期间过多的IO访问和计算。 当索引不是很频繁发生时&#xff0c;您可以通过使用这些缓存来获得巨大的性能提升。 根据索引数据的结构和缓存的大小&#xff0c;它们可能会变得很大&#xff0c;并占用堆内存的很大一部分。 在本文中&#xff0c;我想展…