首页 > 代码库 > Linux基础——硬盘分区、格式化及文件系统的管理

Linux基础——硬盘分区、格式化及文件系统的管理

1. 硬件设备与文件名的对应关系
 掌握在Linux系统中,每个设备都被当初一个文件来对待。

设备

设备在Linux内的文件名

IDE硬盘

/dev/hd[a-d]

SCSI硬盘

/dev/sd[a-p]

U盘

/dev/sd[a-p](与 SCSI 硬盘.样)

CDROM

/dev/srO

 

2. 硬盘的结构及硬盘分区
1) 为什么要进行硬盘分区:

l  更容易管理和控制系统,因为相关的文件和目录都放在一个分区中。

l  系统效率更高。

l  可以限制用户使用硬盘的份额(磁盘空间的大小)。

l  更容易备份和恢复。

 

3. Linux系统中硬盘的分区

l  掌握硬盘分区的分类:硬盘的分区可以分为主分区、扩展分区和逻辑分区。

l  掌握主分区的数量:在一个硬盘上最多可以划分出4个主分区。

l  了解Linux操作系统的内核支持每个硬盘上的分区数量还是有一定限制的,Linux内核在每个硬盘上可以最多支持:

n  在SCSI硬盘上划分15个分区(Partitions)。

n  在IDE硬盘上划分63个分区(Partitions)。

 

4. fdisk和partprobe命令

fdisk命令的功能:创建磁盘分区

l  d:删除一个(已经存在的)分区,其中d是delete的第1个字母。

l  l:列出(已经存在的)分区的类型,其中l是list的第1个字母。

l  m:列出fdisk中使用的所有命令,其中m是menu的第1个字母。

l  n:添加一个新的分区,其中n是new的第1个字母。

l  p:列出分区表的内容,其中p是print的第1个字母。

l  q:退出fdisk,但是不存储所做的变化,其中q是quit的第1个字母。

l  t:改变分区系统的id,其中t是title的第1个字母。

l  w:退出fdisk并存储所做的变化,其中w是write的第1个字母。

partprobe命令:重新初始化内存中内核的分区表。

 

5. 创建文件系统mkfs命令

格式化:所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等。

文件系统:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。

mkfs命令:格式化磁盘

格式:mkfs.文件系统类型

可以创建的格式为:

mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat   

mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs    

 

6. 文件系统的挂载与卸载mount、umount命令

挂载:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。

mount命令:实现文件系统的挂载。

-V:显示程序版本;

-l:显示已加载的文件系统列表;

-h:显示帮助信息并退出;

-v:冗长模式,输出指令执行的详细信息;

-n:加载没有写入文件“/etc/mtab”中的文件系统;

-r:将文件系统加载为只读模式;

-a:加载文件“/etc/fstab”中描述的所有文件系统。

例:将/dev/sdb1分区挂载到/test目录上的命令:mount /dev/sdb1 /test

 

umount命令:实现文件系统的卸载。

-l :强制卸载

-a:卸除/etc/mtab中记录的所有文件系统;

-h:显示帮助;

-n:卸除时不要将信息存入/etc/mtab文件中;

-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;

-t<文件系统类型>:仅卸除选项中所指定的文件系统;

-v:执行时显示详细的信息;

-V:显示版本信息。

例:卸载/test上的文件系统的命令:umount /test

 

7. df命令

df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 

df -h -i -T 文件系统类型

-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;(文件数)(硬盘满也有可能是文件数字满了)
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。

 

8. dd命令

dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐

例:dd if 查看硬盘I/O速度(if,input file)(of output file)

dd if=/dev/zero of=/a.txt bs=1G count=1

选项

bs=<字节数>:将ibs(输入)与欧巴桑(输出)设成指定的字节数;
cbs=<字节数>:转换时,每次只转换指定的字节数;
conv=<关键字>:指定文件转换的方式;
count=<区块数>:仅读取指定的区块数;
ibs=<字节数>:每次读取的字节数;
obs=<字节数>:每次输出的字节数;
of=<文件>:输出到文件;
seek=<区块数>:一开始输出时,跳过指定的区块数;
skip=<区块数>:一开始读取时,跳过指定的区块数;
--help:帮助;
--version:显示版本信息。

 

 

Linux基础——硬盘分区、格式化及文件系统的管理