24 Nov 2014
MBR分区表主分区和扩展分区总数不超过4个,并且只能有最多一个扩展分区;
因为MBR的分区表只有64字节,16个字节记录一个分区信息,所以最多记录4个;
新的GPT分区表没有这个限制
扩展分区下可以创建多个分区
sata硬盘的设备名称从sda开始,依次是sda,sdb,sdc,sdd…;
ide硬盘的设备名称从hda开始,依次为hda,hdb,hdc,hdd…;
同一块硬盘上的分区编号是由”设备名称”+“数字(从1开始)”组成;
例如sda1、sda2。。。或hda1、hdb1
目前linux已经统一标识为sd开头,需要注意下面示例中磁盘命名被顶掉的问题
# 查看目前vmware虚机的磁盘情况 fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000466e9 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 1301 10240000 83 Linux /dev/sda3 1301 1428 1024000 82 Linux swap / Solaris /dev/sda4 1428 2611 9501696 5 Extended /dev/sda5 1429 2611 9500672 83 Linux # 关闭虚机,添加IDE格式硬盘 # 开机查看目前磁盘状态 fdisk -l Disk /dev/sda: 5368 MB, 5368709120 bytes 255 heads, 63 sectors/track, 652 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000466e9 Device Boot Start End Blocks Id System /dev/sdb1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sdb2 26 1301 10240000 83 Linux /dev/sdb3 1301 1428 1024000 82 Linux swap / Solaris /dev/sdb4 1428 2611 9501696 5 Extended /dev/sdb5 1429 2611 9500672 83 Linux
默认IDE磁盘排序优于SCSI,所以顶掉了SCSI,命名为sda,SCSI自动成为sdb
IDE磁盘目前也被统一识别为sd开头的命名
所以IDE硬盘和SCSI\SATA硬盘混用的时候一定要注意,IDE会默认排在最前面
如果原来你的SATA硬盘是最前面sda,IDE会挤掉它为sda,而原来的sata会变为sdb
df作用:显示已挂载的分区空间使用情况
语法:df [参数] [文件(此文件所在分区的空间使用情况)]
参数:
-h “human-readable”用人类易读方式列出,例如”1K”、”234M”和”2G”-m 以M为单位列出结果-k 以K为单位列出结果-T “type”额外列出已挂载分区格式-i “inode”将查看分区空间改为查看分区inode使用情况# 查看某文件所在分区的分区使用情况 df -h /root/.cshrc Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.5G 1.2G 7.9G 13% / # 查看系统所有分区的分区使用情况 df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.5G 1.2G 7.9G 13% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 29M 151M 16% /boot /dev/sda5 8.8G 21M 8.4G 1% /data # /dev/shm是内存中的分区 # 查看系统分区的inode使用情况 df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda2 626K 39K 588K 7% / tmpfs 123K 1 123K 1% /dev/shm /dev/sda1 50K 38 50K 1% /boot /dev/sda5 581K 11 581K 1% /data # 发现某个磁盘inode占用过大之后,如何定位到具体是什么文件占用了过多的inode # 查看某个目录下,哪个子目录占用了过多的inode { find /data -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n; } 2>/dev/null # 查看某个目录下,哪些文件或目录占用了过多的inode find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
作用:估算目录或文件占用空间(并非文件体积大小)
语法:du [参数] [文件]
参数:
-s “summarize”查看目标目录下文件占用空间总和-S “separate”-h “human-readable”使用人类易读方式显示容量,例如nK、nM等-a “all”估算时包含隐藏文件和普通文件-m 以M作为单位显示空间大小PS:
- du查看的是文件占用空间大小,而ls是查看文件的实际大小。
- du默认查看的是文件夹,只有目标文件为文件或者加上-a参数时才会显示普通文件的占用空间大小。
# "-a"参数用法举例 # 无"-a"参数时只显示目录占用空间 du -h . 8.0K ./d 8.0K ./c 28K . # 此目录一共占用24K,而上面两个容量加起来才12K,是因为还有普通文件没统计进来 # 之所以都是4.0K的整数倍,是因为磁盘最小的一块就是4K啊 # 加上"-a"参数后,显示所有文件占用空间 du -ah . 4.0K ./d/e.txt 8.0K ./d 4.0K ./b.txt 4.0K ./c/f.txt 8.0K ./c 4.0K ./a.txt 28K . # 此目录占用28K,而上面所有文件占用空间加起来是32K? # 因为此目录下面的子目录d和c的占用空间已经包含了其本身下面的文件占用的空间数,所以上面计算相当于重复计算了d和c目录下面的文件,所以才会出现这样情况 # 若不计算此目录子目录下的文件,也就是不计算e.txt和f.txt的占用空间,计算出来的占用量是24K,差距的4K是因为此目录本身也需要占用去4K的磁盘空间 # 最实用和常用的使用方法,参数"-s" # 需要知道此目录总共占用空间 du -sh . 28K . # 需要知道此目录下第一层级目录和普通文件各自占用空间 du -sh ./* 4.0K ./a.txt 4.0K ./b.txt 8.0K ./c 8.0K ./d # 这样的好处是汇总了目录的容量,不再重复显示目录下文件的单独占用空间,符合大多数情况下我们的使用需求
作用:输出存储设备的属性信息
语法:blkid [参数] [设备]
blkid /dev/sda1: UUID="619a84a7-7fb2-4ad0-9d8d-5860d14610a1" TYPE="ext4" /dev/sda2: UUID="f354fcc9-2144-4b51-b55b-0727570e2450" TYPE="ext4" /dev/sda3: UUID="2022d4bf-6e4a-4e94-a67b-112389296afa" TYPE="swap" /dev/sda5: UUID="864ecee1-bb51-42f8-bb77-4ec3f86e09b0" TYPE="ext4" /dev/sdb1: UUID="4b9301b7-c2d8-4ee1-925a-58c7987bf72b" TYPE="ext4" /dev/sdb2: UUID="230151ac-6f82-428e-9594-3c13f69f08b8" TYPE="ext4" /dev/sdb3: UUID="91560800-aa5d-42a2-a3d4-b2aafc09ff78" TYPE="xfs" blkid /dev/sdb3 /dev/sdb3: UUID="91560800-aa5d-42a2-a3d4-b2aafc09ff78" TYPE="xfs"
作用:查看分区格式及挂载点
mount |grep sda /dev/sda2 on / type ext4 (rw) /dev/sda1 on /boot type ext4 (rw) /dev/sda5 on /data type ext4 (rw)