Linux文件夹、分区
必须明确,硬盘分区的存在,是由硬盘的物理特性决定的,不会因为操作系统的不同而有所改变
所以不用对为根目录/挂载分区的同时还为/usr挂载分区感到惊讶
====分区的概念====
可以把一个硬盘比成一本书,书名就是MBR(master boot record),即主引导记录。
书的正文就是硬盘上的数据
书的索引相当于分区表。下面主要讲一下索引
- 由于历史的原因,硬盘的分区表大小受到限制,最多只能容纳4个分区(主分区)
- 扩展分区只能有一个,扩展分区是不可用的,但可以在扩展分区的基础上分出逻辑分区,逻辑分区是可用的。
针对下面的分区情况:
- 20G硬盘,分成4个主分区占用15G,剩下的5G分给扩展分区。这样是不行的!因为分区表只能容纳4个纪录区,这4个纪录区已经全部被用于分配成4个主分区,自然就没办法再进行额外的扩展分区。
- 20G硬盘,分成3个主分区占用15G,剩下的5G分成一个扩展分区,这是可以的,可以通过扩展分区分出多个逻辑分区
- 仅分成1个主分区和1个扩展分区,完全可以!可以在扩展分区中进行逻辑分区
====Linux的分区====
在linux中,分区是这样的:
/dev/hda
/dev/hda1
/dev/hda2
/dev/hda5
/dev/hda6
Linux中,设备用/dev/目录下的文件表示。例如
/dev/hda1 第一块硬盘的第一主分区
/dev/hdb5 第二块硬盘的第一逻辑分区
/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区
/dev/null 黑洞设备
/dev/hda1 第一块硬盘的第一主分区
/dev/hdb5 第二块硬盘的第一逻辑分区
/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区
/dev/null 黑洞设备
- 在linux中,每一个设备都是用/dev/下的一个文件表示
- hd表示这是一块IDE硬盘,如果是sd,则是一个SATA硬盘或者闪存,(IDE、SATA分别是硬盘类型接口)
- 字母a表示该类型接口上的第一个设备,b、c、d.....则分别表示该类型接口上的第二、三、四...个设备。
- 这里的5表示第一个逻辑分区,因为1~4分别为分区表上的四个分区预留,所以即使只分了一个主分区和一个扩展分区,hda3和hda4还是会预留下来。逻辑分区从5开始计数。
必须明确,硬盘分区的存在,是由硬盘的物理特性决定的,不会因为操作系统的不同而有所改变
所以不用对为根目录/挂载分区的同时还为/usr挂载分区感到惊讶
====分区的概念====
可以把一个硬盘比成一本书,书名就是MBR(master boot record),即主引导记录。
书的正文就是硬盘上的数据
书的索引相当于分区表。下面主要讲一下索引
- 由于历史的原因,硬盘的分区表大小受到限制,最多只能容纳4个分区(主分区)
- 扩展分区只能有一个,扩展分区是不可用的,但可以在扩展分区的基础上分出逻辑分区,逻辑分区是可用的。
针对下面的分区情况:
- 20G硬盘,分成4个主分区占用15G,剩下的5G分给扩展分区。这样是不行的!因为分区表只能容纳4个纪录区,这4个纪录区已经全部被用于分配成4个主分区,自然就没办法再进行额外的扩展分区。
- 20G硬盘,分成3个主分区占用15G,剩下的5G分成一个扩展分区,这是可以的,可以通过扩展分区分出多个逻辑分区
- 仅分成1个主分区和1个扩展分区,完全可以!可以在扩展分区中进行逻辑分区
====Linux的分区====
在linux中,分区是这样的:
/dev/hda
/dev/hda1
/dev/hda2
/dev/hda5
/dev/hda6
Linux中,设备用/dev/目录下的文件表示。例如
/dev/hda1 第一块硬盘的第一主分区
/dev/hdb5 第二块硬盘的第一逻辑分区
/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区
/dev/null 黑洞设备
/dev/hda1 第一块硬盘的第一主分区
/dev/hdb5 第二块硬盘的第一逻辑分区
/dev/sda4 第一块SATA硬盘的第四主分区,或者扩展分区
/dev/null 黑洞设备
- 在linux中,每一个设备都是用/dev/下的一个文件表示
- hd表示这是一块IDE硬盘,如果是sd,则是一个SATA硬盘或者闪存,(IDE、SATA分别是硬盘类型接口)
- 字母a表示该类型接口上的第一个设备,b、c、d.....则分别表示该类型接口上的第二、三、四...个设备。
- 这里的5表示第一个逻辑分区,因为1~4分别为分区表上的四个分区预留,所以即使只分了一个主分区和一个扩展分区,hda3和hda4还是会预留下来。逻辑分区从5开始计数。
与windows不同的是,在linux中,是将分区挂载在目录下的。比如可以把 /dev/hd5 挂载到/home目录下,这样当我们再/home中保存东西的时候,其实就是在第一个逻辑分区中保存,如果再安装系统,只要把该分区挂载到/home下,进入新系统就会像回家一样。
建议挂载的目录:
- / :根目录,唯一必须挂载的分区。不用犹豫,选一个分区,挂在它!
- swap:交换分区,容量大于物理内存即可
- /home:通常存放自己创建的文件,建议挂载
- /usr:(Unix Software Resource,而不是User)应用程序目录,大部分软件都安装在这里
mount <设备文件> [挂载路径]:挂载文件系统
umount <设备文件> | <挂载路径>:卸载已挂载文件系统
df:查看已挂载文件系统的磁盘空间占用
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统-T 显示文件系统类型
-k 以k字节为单位显示
-i 显示i节点信息,而不是磁盘块
-t <文件系统类型> 显示指定类型的文件系统的磁盘空间使用情况
-x <文件系统类型> 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-l 只显示本地文件系统
free:查看内存、缓冲区、交换空间的占用
-b 以字节为单位显示数值
-k 以千字节为单位显示数值
-m 以兆字节为单位显示数值
-g 以吉字节为单位显示数值
-l 显示内存占用峰值
-o 不显示缓冲区占用
-t 统计结果
-s <秒> 刷新频率
-b 以字节为单位显示数值
-k 以千字节为单位显示数值
-m 以兆字节为单位显示数值
-g 以吉字节为单位显示数值
-l 显示内存占用峰值
-o 不显示缓冲区占用
-t 统计结果
-s <秒> 刷新频率
sync:同步文件系统。将缓冲区中的数据写入文件系统
fdisk <磁盘设备文件>:分区表修改工具
交互命令:
m 使用帮助
l 查看已知文件系统类型
p 显示分区信息
n 新建分区 (p:主分区 l:扩展分区 参见 分区概念 )
d 删除分区
t 改变分区类型
w 将改动写入分区表
q 放弃改动并退出
磁盘设备名称为整块磁盘,而不是磁盘中的分区。例如 /dev/hda ,而不是 /dev/hda1
交互命令:
m 使用帮助
l 查看已知文件系统类型
p 显示分区信息
n 新建分区 (p:主分区 l:扩展分区 参见 分区概念 )
d 删除分区
t 改变分区类型
w 将改动写入分区表
q 放弃改动并退出
磁盘设备名称为整块磁盘,而不是磁盘中的分区。例如 /dev/hda ,而不是 /dev/hda1
====Linux的启动====
读取MBR的信息,启动Boot Manager,Linux中的Boot Manager 为GRUB
加载系统内核,启动init进程,它是Linux的根进程,任何进程都是init进程的子进程
====FHS====
FHS:Filesystem Hierachy Standard
FHS依據檔案系統使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種交互作用的形態,用表格來說有點像底下這樣:
可分享的(shareable) | 不可分享的(unshareable) | |
不變的(static) | /usr (軟體放置處) | /etc (設定檔) |
/opt (第三方協力軟體) | /boot (開機與核心檔) | |
可變動的(variable) | /var/mail (使用者郵件信箱) | /var/run (程序相關) |
/var/spool/news (新聞群組) | /var/lock (程序相關) |
与windows不同的是,在linux中,是将分区挂载在目录下的。比如可以把 /dev/hd5 挂载到/home目录下,这样当我们再/home中保存东西的时候,其实就是在第一个逻辑分区中保存,如果再安装系统,只要把该分区挂载到/home下,进入新系统就会像回家一样。
建议挂载的目录:
- / :根目录,唯一必须挂载的分区。不用犹豫,选一个分区,挂在它!
- swap:交换分区,容量大于物理内存即可
- /home:通常存放自己创建的文件,建议挂载
- /usr:(Unix Software Resource,而不是User)应用程序目录,大部分软件都安装在这里
mount <设备文件> [挂载路径]:挂载文件系统
umount <设备文件> | <挂载路径>:卸载已挂载文件系统
df:查看已挂载文件系统的磁盘空间占用
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统-T 显示文件系统类型
-k 以k字节为单位显示
-i 显示i节点信息,而不是磁盘块
-t <文件系统类型> 显示指定类型的文件系统的磁盘空间使用情况
-x <文件系统类型> 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-l 只显示本地文件系统
free:查看内存、缓冲区、交换空间的占用
-b 以字节为单位显示数值
-k 以千字节为单位显示数值
-m 以兆字节为单位显示数值
-g 以吉字节为单位显示数值
-l 显示内存占用峰值
-o 不显示缓冲区占用
-t 统计结果
-s <秒> 刷新频率
-b 以字节为单位显示数值
-k 以千字节为单位显示数值
-m 以兆字节为单位显示数值
-g 以吉字节为单位显示数值
-l 显示内存占用峰值
-o 不显示缓冲区占用
-t 统计结果
-s <秒> 刷新频率
sync:同步文件系统。将缓冲区中的数据写入文件系统
fdisk <磁盘设备文件>:分区表修改工具
交互命令:
m 使用帮助
l 查看已知文件系统类型
p 显示分区信息
n 新建分区 (p:主分区 l:扩展分区 参见 分区概念 )
d 删除分区
t 改变分区类型
w 将改动写入分区表
q 放弃改动并退出
磁盘设备名称为整块磁盘,而不是磁盘中的分区。例如 /dev/hda ,而不是 /dev/hda1
交互命令:
m 使用帮助
l 查看已知文件系统类型
p 显示分区信息
n 新建分区 (p:主分区 l:扩展分区 参见 分区概念 )
d 删除分区
t 改变分区类型
w 将改动写入分区表
q 放弃改动并退出
磁盘设备名称为整块磁盘,而不是磁盘中的分区。例如 /dev/hda ,而不是 /dev/hda1
====Linux的启动====
读取MBR的信息,启动Boot Manager,Linux中的Boot Manager 为GRUB
加载系统内核,启动init进程,它是Linux的根进程,任何进程都是init进程的子进程
====FHS====
FHS:Filesystem Hierachy Standard
FHS依據檔案系統使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種交互作用的形態,用表格來說有點像底下這樣:
可分享的(shareable) | 不可分享的(unshareable) | |
不變的(static) | /usr (軟體放置處) | /etc (設定檔) |
/opt (第三方協力軟體) | /boot (開機與核心檔) | |
可變動的(variable) | /var/mail (使用者郵件信箱) | /var/run (程序相關) |
/var/spool/news (新聞群組) | /var/lock (程序相關) |