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,一经查实,立即删除!

相关文章

sublime text3

注册码注册信息 v3143可用 —– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D136 94D7F7D4 95BC8C1C 527DA828 560BB037 D1EDDD8C AE7B379F 50C9D69D B35179EF 2FE898C4 8E4277A8 555CE…

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 示例文…

HDU 5025Saving Tang Monk BFS + 二进制枚举状态

3A的题目&#xff0c;第一次TLE&#xff0c;是因为一次BFS起点到终点状态太多爆掉了时间。 第二次WA&#xff0c;是因为没有枚举蛇的状态。 解体思路&#xff1a; 因为蛇的数目是小于5只的&#xff0c;那就首先枚举是否杀死每只蛇即可。 然后多次BFS&#xff0c;先从起点到第一…

ansible模块之yum、pip、service、corn、user、group

ansible相关模块 yum rpm 和yum 的区别 rpm&#xff1a;全称redhat package manager &#xff08;红帽包管理器&#xff09; 不能解决包之间的依赖关系 yum&#xff1a;可以解决依赖关系yum 源配置[rootlocalhost ~]# cat /etc/yum.repos.d/epel.repo [epel] nameExtra Package…

linux nuttx 环境搭建,ubuntu14.04 nuttx开发环境的搭建

origin: http://blog.csdn.net/hunter168_wang/article/details/529145451. NUTTX编译用 toolchain的下载与配置开发环境&#xff1a;64位Ubuntu 14.04 系统编译NuttX用的toolchain下载地址&#xff1a;https://launchpadlibrarian.net/268330503/gcc-arm-none-eabi-5_4-2016q2…

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…

C# 只允许运行一个程序实例

using System; using System.Windows.Forms; using System.Runtime.InteropServices;//使用DllImport的必须。 using System.Diagnostics;//引入Process 类namespace 命名空间 {static class Program{private const int WS_SHOWNORMAL 1;[DllImport("User32.dll")]p…

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

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

linux 时间会跳吗,linux系统时间暂时跳跃

此脚本将告诉您何时发生时间漂移以及进程树中的差异,如果这是由更改系统时间的进程引起的,则应该有助于识别此情况.它将打印到终端并登录到当前工作目录中的timedrift.log.#!/bin/basholdTime"$(date %s)"oldPsOutput"$(ps faux)"while true; dosleep 1;cu…

您从未听说过的Java 8的10个功能

Lambdas lambdas lambdas。 这是您在谈论Java 8时所听到的所有信息。但这只是一部分。 Java 8具有许多新功能-有些是功能强大的新类和习惯用语&#xff0c;而另一些则是从一开始就应该存在的功能。 我想介绍十个新功能&#xff0c;我认为这些功能绝对是值得了解的小宝石。 您肯…

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

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>缔友计算机信…

透明的iframe

<iframe allowtransparency"true" src"about: " οnlοad"style.display block;"> 只要是两个属性&#xff1a; 1&#xff09; allowtransparency"true" 2&#xff09; src"about: " 或iframe 的风页设置成 在IE下…

koa2 mongdb 做后端接口的小demo

现在前端全栈里面有一种技术栈比较火 前端使用 vue 或者react 后端使用 koa2 mysql数据库 或者mongdb做数据储存 但是基本这样的全栈教程 都要收费 收费就收费吧 但是 有没有遇到非常好的教程 于是 准备硬着头皮看别人项目的源码 自己摸索 一步一步完成 koa mongdb的后端学习…

字符大小端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…

redis问题与解决思路

问题现象&#xff1a; 集群状态 1主 2从&#xff0c;主没有开启bgsave&#xff0c;从开启bgsave。现象所有redis可以访问&#xff0c;进行操作。主不断开始bgsave 1从停止bgsave。 主日志报错# Connection with slave XXXX lost. 从日志报错# Timeout receiving bulk data from…