`
zengshaotao
  • 浏览: 756180 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【Linux学习笔记】分区与目录

 
阅读更多

原文地址:http://www.blogjava.net/pengpenglin/archive/2008/12/01/243810.html

【1. 分区与目录概念理解】


 Linux的分区是物理上的概念,就像我们把一块硬盘分成C:,D:,E:三个区一样,物理上将存储空间分开
 Linux的目录是逻辑上的概念,Linux的目录树实际上是一个分区之间的数据逻辑结构关系,不是物理结构

【2. 分区与目录的关系】


 一个分区必须挂载到一个目录下才能使用。分区可以挂载到任何目录。比如说下面我们看到的例子(以RHEL4为例) 

[root@localhost ~]# df -lh
Filesystem            容量  已用 可用 已用%     挂载点
/dev/sda3             
6.4G  4.8G  1.3G  80%   /
/dev/sda1              99M  
8.4M   86M   9%  /boot
none                    494M  
0      494M   0%  /dev/shm
/dev/hdc              105M  105M     
0  100% /media/cdrom


df命令是用来汇报磁盘文件系统的空间使用情况的,参数l表示本地文件系统,h表示以人可识别的方式表示(实际上就是以M/G单位来表示,而不是纯粹的数字,难以理解)。我们看到上面命令的结果是:

①左边的信息代表了磁盘文件系统分区:/dev/sda1, /dev/sda3等
②右边的信息分别代表了容量,已用空间,可用空间,百分比,挂载点
③特别注意的是挂载点,它就是我们前面所说的将分区挂载到某一个目录的“那个目录”
④我们看到分区sda1挂载到/boot目录下,而分区sda3挂载到根目录/下

这里我们可以这样理解:

分区是真正存放数据的地方,只有一份数据
目录是分区数据的逻辑映射,就像Windows系统中的快捷方式一样
分区的数据可以挂载到任意多个不同目录,这些目录就像不同名的快捷方式,都指向同样的分区数据

例如下面这样:

[root@localhost /]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/sda3             
6.4G  4.8G  1.3G  80% /
/dev/sda1              99M  
8.4M   86M   9% /boot
none                  494M     
0  494M   0% /dev/shm
/dev/hdc              105M  105M     
0 100% /media/cdrom

   [root@localhost /]# cd /
[root@localhost /]# ls
bin   dev  home    lib         media  mnt  paul  root  selinux  sys  u01  var
boot  etc  initrd  lost+found  misc   opt  proc  sbin  srv      tmp  usr

   [root@localhost /]# mount /dev/sda1 paul
[root@localhost /]# ls paul
config-
2.6.9-5.EL  initrd-2.6.9-5.EL.img  message     System.map-2.6.9-5.EL
grub               lost+found             message.ja  vmlinuz-
2.6.9-5.EL


可以看到原来/dev/sda1分区是挂载到/boot目录下的,现在我把他也挂载到/paul目录下,这样我们就可以在/paul目录下看到和/boot目录同样的内容了,但实际上数据还是只有一份。

【3. 分区的mount和umount】


 前面我们提到分区必须挂载到某个特定的目录才能使用,那么假如我们把Linux最重要的分区boot分区和根分区/都不挂载到相应的目录,结果会如何呢?

 测试一:卸载/分区

[root@localhost /]# umount /
umount: /: device is busy
umount: /: device is busy


很明显,/分区是不能被umount的。那么boot分区呢?

测试二:卸载boot分区

[root@localhost /]# ls
bin   dev  home    lib         media  mnt  paul  root  selinux  sys  u01  var
boot  etc  initrd  lost+found  misc   opt  proc  sbin  srv      tmp  usr
[root@localhost /]# umount boot
[root@localhost /]#


测试成功,可见boot分区也是可以被umount的,而/实际上代表了硬盘,所以不能被umount。

【4. umount了boot分区还能再正常启动吗】


 前面我们看到了既然boot分区可以被umount掉,那么假如我们umount了boot分区后重启,会不会导致系统启动不了呢?答案是不会。

 我们可以到Linux下的/etc/fstab命令来查看Linux启动时的挂载情况及顺序

[root@localhost boot]# cat /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                    /                       ext3    defaults       1 1
LABEL=/boot             /boot                  ext3    defaults        1 2
none                       /dev/pts              devpts  gid
=5,mode=620  0 0
none                       /dev/shm             tmpfs   defaults        
0 0
none                       /proc                   proc    defaults        
0 0
none                       /sys                    sysfs   defaults        
0 0
LABEL
=SWAP-sda2    swap                   swap    defaults       0 0

# Beginning of the block added by the VMware software
.host:/                 /mnt/hgfs               vmhgfs  defaults
,ttl=5     0 0

# End of the block added by the VMware software
/dev/hdc                /media/cdrom          auto    pamconsole
,exec,noauto,m anaged 0 0
/dev/fd0                /media/floppy           auto    pamconsole
,exec,noauto,


可以看到在该文件中,已经定义了在启动时默认到/boot目录下去寻找启动文件,所以即便我们把boot分区umount掉了,重启后还是能够正常进入的。它是靠什么自动加载的呢?其实fstab 文件中的 defaults 就包含了 "auto" 功能,除非明确指定 noauto ,否则开机都会自动挂载。

注意:这里的前提条件是不改变fstab文件的内容,如果我们把/boot那一行注释掉了,那么就真的启动不了了。
 

分享到:
评论

相关推荐

    Linux学习笔记,分区与远程登录

    这是一篇最适合初学者了解的Linux的简单操作方式。主要内容是分区和远程登录。后续还有其他笔记

    linux学习笔记

    我自己的笔记。linux基础命令,网络配置,磁盘分区挂载等等。

    Linux学习笔记.pdf

    学习linux时整理的笔记,内容可以参考。基本命令的解读,文件系统,linux的vim操作等讲解。linux的网络配置、软件安装、磁盘分区等讲解

    linux全套学习笔记_博雅运维

    linux全套学习笔记_博雅运维,适合linux初学者,包含用户管理,进程管理,分区管理,vim,磁盘阵列,LVM逻辑卷,dns,ftp,nfs,samba,dhcp,apache,mysql,php,nginx,iptables,selinux,lamp,lnmp架构,phpmyadmin,...

    Linux学习笔记.docx

    Linux学习详细笔记整理,分九章,vim和vi编辑器,实用指令,组管理和权限管理,crond任务调度,Linux磁盘分区挂载,网络配置,进程管理,服务管理,shell编程

    Linux学习笔记_0.4

    主要讲解了linux的系统管理命令、用户管理、Shell编程,包括如何格式化分区、如何使用smb共享文件等,均由本人亲身实践、自己总结。

    Linux Raid 5 扩容学习笔记(精排编目)

    本人在redhat linux 5上的学习笔记,动态增加硬盘、格式化、增加新分区到LVM下的Raid分区、分区故障模拟和替换、给分区扩容等 给同样的菜鸟和有需要的朋友,如有不正确的地方请大家指点

    Linux基础笔记——第一章

    Linux基础学习笔记整理 第一章 虚拟机安装 先下载VMware14 安装完成后下载镜像文件 根据自己需要下载相应的镜像版本 (给大家推荐个网站 ‘阿里云站点’ ) 安装过程中要注意一下内容 点击 sda 创建三个分区 要自己...

    redhatlinux上课笔记

    linux 学习笔记,详细记录了linux下目录、分区、常用命令使用方法。

    Linux学习笔记精华总结(选自鸟哥的Linux私房菜)

    《鸟哥的Linux私房菜-基础篇》这本书挺适合入门的,比较基础的但也有难点,书页1千多页呐(二十五章),而这篇博客把它总结成十章呐(其实都浓缩在一起的),这样就方便我以后有问题可以直接翻阅这篇博客就ok了,也...

    【三思笔记】Oracle学习资料整合汇总

    三思笔记,itpub版主(著有涂抹oracle)整理的oracle学习笔记,图文并茂。 个人在itpub中将:Linux5版本安装Oracle11gR2、全面学习分区表及分区索引、一步一步学rman、全面学习oracle的flashback特性、手把手教你用...

    Linux学习-开山篇

    2020开年疫情期间,居家无事,学习B站韩顺平老师的Linux课程,并做笔记如下。 一、基础篇 linux入门 vm和linux的安装 linux目录结构 二、实际操作篇 远程登录(XShell XFtp) vi和Vim编辑器 开机、重启和用户...

    Linux 运维 入门到高级

    .ubuntu换国内源 CentOS硬盘分区 搭建网站 8.1linux上配置环境并启动 8.2Nginx配置https证书 xshell系列问题 .linuxSRE架构图 ubuntu换国内源 加密和安全 搭建DNS服务器 Linux防火墙 WEB服务器APACHE LAMP架构 ...

    全志H5(Nanopi_Neo_Plus2)学习笔记

    1.1 搭建交叉编译器 1.2 Menuconfig 中选择 y 和 m 的区别 ...1.7 Linux 下(SD 卡) 磁盘分区,格式化,挂载 2.1 WiringPi 简介 2.2 数据段、代码段、堆栈段、 BSS 段的区别 3.1 仿写杂项设备框架

    Oracle入门教程.三思笔记.一步一步学Oracle

    [三思笔记]全面学习分区表及分区索引.pdf [三思笔记]全面学习和应用ORACLE+ASM特性.pdf [三思笔记]日期时间及数字的格式化参数大全.pdf [三思笔记]使用可传输表空间的特性复制数据.pdf [三思笔记]手把手教你用vmware...

    linux管理员指南

    第8章转向介绍如何对硬盘进行操作,讨论如何对硬盘进行管理、怎样建立分区以及设定硬盘的使用限额。第9章涉及到作为一名系统管理员需要了解掌握的某些系统最底层的知识:核心系统服务。其内容包括对一些关键性的进程...

    三思oracle笔记包

    三思oracle笔记包 包含: Linux5版本安装Oracle11gR2 ORACLE 10gR2 RAC环境增加及删除节点 Oracle+RAC数据库配置DataGuard ...全面学习分区表及分区索引 全面学习和应用ORACLE+ASM特性 学习动态性能表 等20+篇学习文档

    wyh自学笔记–linux指令篇~Ⅰ

    开篇标语:代码之路其修远兮,我将上下而求索 文章开始先扯些没用的话,就当是第一篇博客给自己的一些鼓励还有自勉吧,选择了这一行,需要学习的太...linux所有的存储设备都必须在挂载之后用户才能用到,分区是自动挂载

    C++ 后台工程师面试宝典

    数据结构与算法学习 LeetCode刷题笔记 数据密集型应用系统设计-读书笔记 第一章:构建可靠性、可扩展性、可维护性的应用 第二章:数据模型与查询语言 第三章:存储与检索 第四章:编码与演化 第五章:分布式数据 第...

    文件系统与Linux相关知识点

    对于服务器开发人员,比较关注的是unix(linux)环境下的文件系统,比如分区与磁盘关系,磁盘的剩余空间,文件的类型与权限控制,文件链接等相关知识。文章内容来自笔者学习清华大学和UCSD的操作系统课程的笔记和...

Global site tag (gtag.js) - Google Analytics