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:显示版本信息。
9. 新建硬盘分区的主要步骤
新建硬盘分区主要有三个步骤,分别是磁盘分区、建立文件系统,文件系统的挂载。
挂载之后Linux系统才能访问到这个磁盘空间,就像用吸管喝水,水杯是硬盘、吸管是挂载的文件夹。其实Linux系统每一个磁盘都挂载在一个文件夹下,而系统的每一个文件夹其实都是一个吸管,所以若是将新建的硬盘挂载到了一个原来有文件的文件夹下,就相当于新挂载的磁盘截胡了原来磁盘的访问,将文件夹这个吸管通道接到了自己的硬盘空间上,所以现在再打开这个文件夹显示的是新挂载上的磁盘的内容,只有删除这个挂载后这个文件夹才能访问原来的内容。
由于文件夹的管道作用,一块磁盘空间可以挂载在多个文件夹下,而这几个文件夹中都显示的是一样的磁盘内容。
新建分区:命令fdisk 新建分区,一共可以建立四个主分区,其中一个为扩展分区,扩展分区中可以建立多个逻辑分区。
fdisk命令比较简单,忘记的话按m看一下介绍就行,不要忘了w保存修改。有时候完成分区后需要partprobe命令,重新初始化内存中内核的分区表。
创建文件系统:mkfs命令建立文件系统。
文件系统的挂载与卸载:mount命令挂载系统,umount命令卸载系统
2. 虚拟内存的概念以及设置与管理(详见linux系统管理P414)
1) 掌握虚拟内存的定义:所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap)。
2) 了解Linux交换分区的类型为:0x82
3) 掌握mkswap命令的功能:设置交换分区。
4) 掌握使用mkswap命令设置交换分区的用法举例:
例如:将分区/dev/sdb2设置为交换分区的命令:mkswap /dev/sdb2
5) 掌握swapon命令的功能:启动交换分区。
6) 掌握swapon –a命令的功能:启动全部的交换分区。
7) 掌握swapon –s命令的功能:列出当前正在使用的所有系统交换分区的状态。
8) 掌握使用swapon命令的用法举例:
例如:启用交换分区/dev/sdb2的命令:swapon /dev/sdb2
swapoff 关闭交换区