Linux学习笔记(三):磁盘和文件系统管理
管理磁盘和文件系统
介绍了基本的文件和目录管理之后,接下来就是磁盘和文件系统的管理。如何分区磁盘和创建文件系统呢?
添加磁盘并进行分区、创建并挂载文件系统
1、确认系统中的磁盘命令——fdisk
fdisk -l [磁盘设备]
复制代码代码如下:
[root@localhost ~]# fdisk -l==查看目前系统内的所有分区 (这里显示的结果与在交互模式下P命令是相同的,后面讲)/p
Disk /dev/hda: 21.4 GB, 21474836480 bytes ==>磁盘的文件名与容量
heads, 63 sectors/track, 2610 cylinders==>磁头、扇区与柱面大小
Units = cylinders of 16065 * 512 = 8225280 bytes ==>每个柱面的大小
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
/dev/hda312891925 5116702+83Linux
/dev/hda419262610 5502262+ 5Extended
/dev/hda519261989514048+82Linux swap / Solaris
><>
上述各字段的含义:
Device:分区的设备文件名称 Boot:是否是引导分区,即开机区,若是,则用“*”标识
Start :开始柱面,即该分区在硬盘中的起始位置 End :结束柱面,即该分区在硬盘中的结束位置
Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节,即1KB
Id:分区类型的ID标记号,对于EXT3分区为83,LVM分区为8e System:分区类型,即磁盘分区内的系统
2、规划硬盘中的分区——fdisk
fdisk [磁盘设备]
使用此命令可进入交互操纵,您可以在下面的交互操纵里面胡作非为,但是切记离开时必须按q命令,不能按w
复制代码代码如下:
#找出系统中所在根目录所在磁盘,并查阅该硬盘内的相关信息
[root@localhost ~]# df / ==重点找出磁盘文件名而已
文件系统 1K-块已用 可用 已用% 挂载点
/dev/hda29920624 2968604 643995232% /
[root@localhost ~]# fdisk /dev/hda==进入交互操纵模式,注意这里不要写具体的数字/p
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m <==等待输入,m是命令菜单
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ==>删除一个分区
l list known partition types==>创建逻辑分区
m print this menu
n add a new partition==>增加一个分区
o create a new empty DOS partition table
p print the partition table ==>在屏幕上显示分区表
q quit without saving changes ==>不存储,直接离开fdisk程序
s create a new empty Sun disklabel
t change a partition's system id变更分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit ==>将刚才的操作写入分区表,慎重操作
x extra functionality (experts only)
<><>
常见操作有:创建主分区、创建扩展分区(将硬盘的所有剩余空间作为扩展分区)、创建逻辑分区、改变分区的系统代码、保存分区表信息、用partprobe探测硬盘分区变化
下面举出几例做测试,离开时不保存:
复制代码代码如下:
Command (m for help): p==查看磁盘分区表,和终端命令模式下的fdisk -l 作用相同/p
Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
/dev/hda312891925 5116702+83Linux
/dev/hda419262610 5502262+ 5Extended
/dev/hda519261989514048+82Linux swap / Solaris
Command (m for help): d
Partition number (1-5): 4 ==>删除第4个分区
Command (m for help): d==>删除第3个分区
Partition number (1-4): 3
Command (m for help): p==>再次显示时观察下面只显示了前两个分区,第5个没显示
Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
Command (m for help): n==>创建一个分区
Command action
e extended
p primary partition (1-4)
p==>选择创建的分区类型为主分区
Partition number (1-4): 4 ==>选择4号做主分区
First cylinder (1289-2610, default 1289):
Using default value 1289 ==>起始柱面若直接按enter键就是使用默认值
Last cylinder or +size or +sizeM or +sizeK (1289-2610, default 2610): +512M
Command (m for help): p==>再次查看分区表,发现多了一个刚从建立的分区4
Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
/dev/hda412891351506047+83Linux
Command (m for help): n==>再建一个分区
Command action
e extended
p primary partition (1-4)
e ==>建立扩展分区
Selected partition 3==>这个是系统主动选择的分区
First cylinder (1352-2610, default 1352):
Using default value 1352
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610):
Using default value 2610
Command (m for help): p
Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
/dev/hda31352261010112917+ 5Extended==>看,刚新建的扩展分区
/dev/hda412891351506047+83Linux
Partition table entries are not in disk order
Command (m for help): n==>再多建几个分区玩玩,反正后面不保存就行了,,呵呵
First cylinder (1352-2610, default 1352):
Using default value 1352
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610): +2084
Value out of range.
Last cylinder or +size or +sizeM or +sizeK (1352-2610, default 2610): +2084M
Command (m for help): n ==>有没有发现,最后建立2个分区的时候根本没有询问我们要建立是主分区还是扩展分区,为啥?因为分区已经超过4了,您别无选择,只能是扩展分区了。。。
First cylinder (1606-2610, default 1606):
Using default value 1606
Last cylinder or +size or +sizeM or +sizeK (1606-2610, default 2610):
Using default value 2610
Command (m for help): p
Disk /dev/hda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device BootStart EndBlocks IdSystem
/dev/hda1 * 113104391 83Linux
/dev/hda214128810241437+83Linux
/dev/hda31352261010112917+ 5Extended
/dev/hda412891351506047+83Linux
/dev/hda513521605 2040223+83Linux==>这是后面又新建的2个分区
/dev/hda616062610 8072631 83Linux
Partition table entries are not in disk order
Command (m for help): q==>这里一定要按q啊,因为我刚才仅仅是演示操作,还破坏性的删除了2个分区,你要是真要分区,那就要按w保存了。
[root@localhost ~]#
><>
磁盘分好区后,要更新下内核,否则您使用fdisk -l 可能看不到分区后的变化,只有重启才可以。但是使用partprobe强制让内核重新找一次分区表就行了。
复制代码代码如下:
[root@localhost ~]# partprobe [/dev/hda ] ==强制让内核重新找一次分区表,则可以立刻看出分区的变化
<
注意:普通用户没有权限进行硬盘分区,只有root用户可以,但最好是在单用户模式下比较安全,此外,在进行分区的时候,若该硬盘某个分区正在使用当中,则很有可能系统内核会无法加载硬盘的分区表,解决的方法就是将该使用中的分区给卸载,然后再重新分区一次,重新写入分区表。
3、在分区中创建文件系统——mkfs,mkswap
(1)、mkfs
用途:make filesystem,创建文件系统,即格式化
格式:mkfs -t 文件系统类型 分区设备 (-t选项表示可以接受的文件系统格式,如ext3,ext2,vfat等,通常情况下不需要加次选项,因为系统可自动判断使用的是什么文件系统)
上述由于设备/dev/hda3已经挂载了,所我无法再挂载,但可以卸载后再挂载,不做演示。
(2)、mkswap
用途:make swap ,创建文件系统交换系统
格式:mkswap 分区设备
1)在Linux系统中,SWAP分区的作用类似于Windows系统中“虚拟内存”,可以在一定程度上缓解物理内存不足的情况
2)如果系统没有SWAP交换分区,或者现有交换分区的容量不够用,可以通过mkswap命令创建交换文件系统以增加虚拟内存
3)交换分区空间的启用、停用需要使用swapon、swapoff命令,free命令可以查看物理内存、交换空间的使用情况
4)“swapon -s”命令也可查看交换分区的使用情况
复制代码代码如下:
[root@localhost ~]# mkswap /dev/hda5 ==格式化交换分区
Setting up swapspace version 1, size = 526381 kB
[root@localhost ~]# swapon /dev/hda5==启用交换分区
[root@localhost ~]# free | grep -i swap ==查看交换空间
Swap: 5140400 514040
[root@localhost ~]# swapoff /dev/hda5==停用交换空间
[root@localhost ~]#free | grep -i swap
Swap:000
[root@localhost ~]#
>>>>
将新硬盘分好区以后,还需要对分区进行格式化(即创建文件系统),并挂载到Linux系统中的指定目录下,然后才能用于存储文件、目录等数据。并且挂载点一定是目录,该目录为进入文件系统的入口。因此,并不是您有任何文件都能使用,必须要挂载到某个目录树的某个目录后,才能使用文件系统。
4、挂载、卸载文件系统——mount,umount
(1)mount
用途:挂载文件系统、ISO镜像到指定文件夹
格式: mount [ -t 类型 ] 存储设备 挂载点目录 (”-t 类型“的选项通常可以省略,大多数Linux系统能够自动识别对应的文件系统类型)
mount -o loop ISO镜像文件 挂载点目录
(2)umount
用途:卸载已挂载的文件系统
格式: umount 存储设备位置
umount 挂载点目录
(3)查看已挂载分区的使用情况(df -hT)
复制代码代码如下:
[root@localhost ~]# df -hT ==查看现有已挂在分区使用情况
文件系统类型容量已用 可用 已用% 挂载点
/dev/hda2 ext39.5G2.9G6.2G32% /
/dev/hda3 ext34.8G195M4.3G 5% /home
/dev/hda1 ext3 99M 11M 83M12% /boot
tmpfstmpfs506M 0506M 0% /dev/shm
[root@localhost ~]# mount /dev/hda3 /home/jzhou==将设备/dev/hda3挂载到目录/home/jzhou下
[root@localhost ~]# df -hT ==再次查看挂载情况
文件系统类型容量已用 可用 已用% 挂载点
/dev/hda2 ext39.5G2.9G6.2G32% /
/dev/hda3 ext34.8G195M4.3G 5% /home
/dev/hda1 ext3 99M 11M 83M12% /boot
tmpfstmpfs506M 0506M 0% /dev/shm
/dev/hda3 ext34.8G195M4.3G 5% /home/jzhou ==看,这里多了一个挂载点
[root@localhost ~]# umount /dev/hda3==卸载刚才的挂载
[root@localhost ~]# df -hT==再次查看没有了,已成功卸载
文件系统类型容量已用 可用 已用% 挂载点
/dev/hda2 ext39.5G2.9G6.2G32% /
/dev/hda3 ext34.8G195M4.3G 5% /home
/dev/hda1 ext3 99M 11M 83M12% /boot
tmpfstmpfs506M 0506M 0% /dev/shm
[root@localhost ~]#
>>>>>>
另外光驱和镜像的挂载只是略有不同,语法其实是一样的,光盘设备一般是/dev/cdrom或者/dev/hdc,镜像嘛,很明显是iso格式的压缩包,挂载镜像时要加 -o loop选项,具体用法网上很多。
5、设置文件系统自动挂载——修改配置文件
系统中的“/etc/fstab”文件可以视为mount命令的配置文件,它包含了需要开机后自动挂载的文件系统目录。
查看一下这个文件的内容如上,其中各个字段的含义如下(前三个字段很重要):
第一个字段:设备位置
第二个字段:挂载点目录
第三个字段:文件系统类型
第四个字段:挂载参数,即mount命令“-o”选项后面可使用的参数
第五个字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2
设置自动挂载示例:即每次重新开机后,能自动完成挂载。
进入vim 编辑内容,将设备proc的挂载点由/proc改为/home/jzhou,并保存退出:
则再次启动时,会自动挂载到相应目录,上述是演示,之后我又改回来了。
说明:
(1)在/etc/fstab文件中正确设置了相应分区的自动挂载记录以后,手动挂载、卸载该分区时,仅需指定设备名、挂载点中的任意一个作为参数即可,例如,执行“mount /dev/sdb1”或者“umount /mailbox”都可以完成卸载
(2)mount命令不带任何选项、参数时,可以显示当前系统中已经挂载的文件系统信息
LVM简单介绍
Logical Volume Manager,逻辑卷管理
屏蔽了底层磁盘布局,便于动态调整磁盘容量
(需要注意:p /boot分区用于存放引导文件,不能应用LVM机制)
1、LVM机制的基本概念
(1)PV(Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extent,基本单元)
(2)VG(Volume Group,卷组)
一个或多个物理卷组合而成的整体
(3)LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
它们的逻辑关系如下:
我想您已经知道了为什么要存在这个LVM机制了,同大多数虚拟化的东西作用相似,最核心的还是PV,即真实的物理卷,将,多个物理卷组成一个卷组,之后是对这些卷组划分卷,这时与PV完全无关了,这能很好的利用容量和空间,而且当有新的物理卷加入时,只需将其加入逻辑卷就行了。这个机制很像网络里面划分VLAN呢。
LVM的管理命令主要有以下:
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
Scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | vgextend | lvextend |
主要命令的用法:
pvcreate 设备名
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
创建逻辑卷的基本步骤:PV->VG->LV->格式化->挂载使用文件系统
具体步骤:(我的虚拟机不能演示,bash中没有这个pvcreate命令,简单作下理论说明)
(1)、转换物理卷
1)使用fdisk命令规划两个分区 fdisk -l /dev/hda /dev/hdb | grep "LVM"
2)使用pvcreate命令转换上述分区为物理卷
复制代码代码如下:
pvcreate /dev/hda1pvcreate /dev/hdb1
(2)、创建卷组
复制代码代码如下:
vgcreate vg_test /hda1 /dev/hdb1
(3)、创建逻辑卷
1)使用lvcreate命令创建逻辑卷lv_test,从卷组vg_test上划出10G空间
复制代码代码如下:
lvcreate-L10G-nlv_testvg_test
2)使用mkfs命令创建ext3文件系统
复制代码代码如下:
mkfs-text3/dev/vg_test/lv_test
(4)、格式化为ext3文件系统,并挂载到目录/dirtest
复制代码代码如下:
mount /dev/vg_test/lv_test /dirtest
(5)、还可以为逻辑卷扩容
1)使用lvextend命令为逻辑卷lv_test扩充容量,从卷组vg_test上再划出10G给逻辑卷lv_test
复制代码代码如下:lvextend-L+10G/dev/vg_test/lv_test
2)使用resize2fs命令更新系统识别的文件系统大小
复制代码代码如下:resize2fs/dev/vg_test/lv_test
如有错误,请指正,3Q~
推荐系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x86 企业装机版2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.15GB系统类型:Win10
相关文章
- Win10系统提示Microsoft DirectX诊断工具已停止工作的原因及解决方法
- Linux系统怎么配置双显卡?
- winxp电脑附件中的画图工具不见了怎么办?
- Win10文件管理器主页中的内容如何清空保护个人隐私
- 最新数据显示,越来越多Windows 7用户投向了Windows 10怀抱
- win10系统管理员账户拒绝访问怎么办
- 7月29日微软Windows 10发布详细计划曝光 全球狂欢
- Win10发布2天安装机量已接近1000万 要破纪录
- ubuntu系统忘记root密码?
- windows 8应用商店缓存文件清除方法(图文)
- 微软Windows 10,四岁了
- Win10系统中把IE修改为默认浏览器的两种方法
- win7系统自带的画图软件让文字向左旋转90度示例
- svaplayer.exe - svaplayer是什么进程 有何作用
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 3深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
常用系统
- 1华硕笔记本&台式机专用系统 GhostWin7 64位旗舰版2018年5月(64位) 好用下载
- 2深度技术Ghost Win8.1 x32位 特别纯净版2019年10月(免激活) ISO镜像高速下载
- 3电脑公司Ghost Win8.1 X64位 中秋特别 纯净版2020年9月(自动激活) ISO镜像快速下载
- 4深度技术Ghost Win7 Sp1 电脑城万能装机版2019年10月(32位) ISO高速下载
- 5电脑公司 装机专用系统Windows10 x86企业版2019年10月(32位) ISO镜像快速下载
- 6新萝卜家园 Ghost Win7 x64 SP1 极速版2019年11月(64位) 高速下载
- 7深度技术 Ghost Win7 x64 Sp1 电脑城纯净版2019年4月(64位) ISO镜像快速下载
- 8电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版 版本1903 2021年10月(32位) ISO镜像快速下载
- 9番茄花园 Windows 10 官方企业版 2020年2月(64位) ISO高速下载
- 10新萝卜家园Ghost Win8.1 X64位 纯净版2020年12月(自动激活) ISO镜像高费下载