本文共 3930 字,大约阅读时间需要 13 分钟。
# disk
#
#
# 2011.11.4
1:记录一些与磁盘分区,文件系统相关的命令。如df,fdisk,mount,umount等。
2:df命令
df -a # 显示所有文件系统的情况,包括dummy file systems
df -B SIZE # 使用SIZE-byte块,默认为1-k块
df --total # 显示总和
df -h # 按MB或GB的方式显示
df -H # 使用1000而不是1024的换算方式
df -i # 显示inode信息
df -l # 仅显示本地文件系统
df -t TYPE # 仅显示TYPE类型的文件系统
df -T # 显示文件系统类型
df -x TYPE # 显示非TYPE类型的文件系统
TYPE:
'nfs' -- NFS file system
'ufs,efs,ext..'
'hsfs, cdfs' -- file system on CD-ROM drive
'pcfs' -- MS-DOS file system
'fuseblk' -- NTFS
SIZE:
'KB' -- 1000
'K' -- 1024
'MB' -- 1000 * 1000
'M' -- 1024 * 1024
'G, T, P, E, Z, Y
3:fdisk命令
fdisk -l # 显示系统所有的分区或给定的分区
fdisk -u # 显示时,显示的是扇区数不是柱面数
fdisk -s partition # 显示指定partition的block数
关于fdisk进行磁盘分区的命令,这里并不记录。下面只讲fdisk -l命令的显示结果的意思。
下面是在我的电脑上执行"sudo fdisk -l"命令后的输出。
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 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: 0xd274d274
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3201 25712001 7 HPFS/NTFS
/dev/sda2 3202 27596 195952807 f W95 Ext'd (LBA)
/dev/sda3 27597 30146 20482875 83 Linux
/dev/sda4 30147 30401 2048287+ 82 Linux swap / Solaris
/dev/sda5 3202 13199 80308903+ 7 HPFS/NTFS
/dev/sda6 13200 27596 115643871 7 HPFS/NTFS
Disk /dev/sdb: 500.1 GB, 500107861504 bytes
255 heads, 63 sectors/track, 60801 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: 0xa4b57300
Device Boot Start End Blocks Id System
/dev/sdb1 1 13054 104856223+ 7 HPFS/NTFS
/dev/sdb2 13055 60801 383527777+ f W95 Ext'd (LBA)
/dev/sdb5 13055 60801 383527746 7 HPFS/NTFS
先看最上面的信息
Disk /dev/sda: 250.1 GB, 250059350016 bytes 硬盘:/dev/sda
255 heads, 63 sectors/track, 30401 cylinders 该硬盘有255个磁面,每磁道63个扇区,共30401个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes 这是计算每个柱面的大小
Sector size (logical/physical): 512 bytes / 512 bytes
注意,硬盘的大小 = 柱面数 * 每个柱面的大小 = 柱面数 * 磁面数 * 每磁道的扇区数 * 扇区的大小。
因此我这个sda硬盘的大小 = 30401 * 255 * 63 * 512bytes = 250056737280 bytes
从输出信息来看,我这有两块硬盘:/dev/sda和/dev/sdb
下面来看每块硬盘的具体输出信息:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3201 25712001 7 HPFS/NTFS
/dev/sda2 3202 27596 195952807 f W95 Ext'd (LBA)
/dev/sda3 27597 30146 20482875 83 Linux
/dev/sda4 30147 30401 2048287+ 82 Linux swap / Solaris
/dev/sda5 3202 13199 80308903+ 7 HPFS/NTFS
/dev/sda6 13200 27596 115643871 7 HPFS/NTFS
第一列Device表示分区的名称,这里有6个分区。第二列Boot表示在分区是否为启动分区,是则标上*号。
第三列和第四列,start和end标识每个分区的起始柱面号和结尾柱面号。
如分区/dev/sda1,占用的柱面为1 ~ 3201个。其Blocks数 = 3201 * 8225280 / 1024 = 25712032,(有点误差,原因暂时不详,抱歉)
第六列的Id表示文件系统的Id号。
第七列为该分区的文件系统。如sda1为NTFS的。
注意sda2的分区类型为W95 Ext'd (LBA),这说明该分区为扩展分区。
一块硬盘只能有四个主分区,扩展分区也是主分区,不过扩展分区可以继续分为多个逻辑分区。
这里可以看到四个主分区为:sda1,sda2,sda3,sda4。其中sda2为扩展分区。主分区的号码必须为1,2,3,4.
sda5和sda6为逻辑分区。可以从它们的start和end值看出来。
sda2 : start : 3202 end:27596
sda5 : start : 3202 end:13199
sda6 : start : 13200 end:27596
下面看sdb硬盘的分区。
从上面的信息可以看到, sdb有两个主分区,sdb1和sdb2.其中sdb2为扩展分区。sdb5为sdb2中的逻辑分区。
这里就没有sdb3和sdb4了,因为只有两个主分区。
3:mount命令
mount
mount device dir
mount -a # 加载/etc/fstab中指定的所有设备
mount -f # 模拟加载操作,但不实际加载它
mount -L # 加载卷标为Label的文件系统
mount -o auto # 在/etc/fstab中指定该选项,则自动加载
defaults # 默认选项,包括:rw, suid, dev, exec, auto等
dev/nodev # 字符或块设备
exec/noexec # 执行二进制文件
ro # 以只读模式加载
rw # 以可读写模式加载
user # 让一般用户可以加载
loop # 可以加载文件
mount -t filesystem # 指定文件系统类型。
filesystem: ext3, vfat, ntfs, iso9660, auto
利用mount命令,我们可以将在fdisk显示的磁盘挂载在某个目录下。
/etc/fstab中指定自动挂载的设备。/etc/mtab中显示当前已挂载的设备
4:mkfs
mkfs用来对某个磁盘分区建立文件系统。
如mkfs -t ext3 /dev/sda1 表示对sda1分区建立ext3文件系统。其他文件系统类型可以用man mkfs查看。
也可以用mkfs来对一个文件建立文件系统,如下命令。
$ dd if=/dev/zero of=tmp.disk bs=1024k count=10 # 建立一个10M的文件tmp.disk
$ mkfs -t ext3 tmp.disk # 将该文件格式化为ext3文件系统
$ sudo mount -o loop tmp.disk /mnt/ # 将该文件系统挂载到mnt目录下。
挂载后,就可以把这个10M的文件当作一个磁盘来用了。不过只有10M,可以建立更大的。
ref: 关于fdisk命令主要参考:
(很不错的文章,写的比我这清楚和详细)
转载地址:https://blog.csdn.net/weixin_32467749/article/details/116557912 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!