一、df命令
df [选项] [文件]
df命令用于检查文件系统的磁盘空间占用情况。通过该命令可以直观地获得当前磁盘上各个分区分别已经使用了多少空间,还剩下多少空间等信息。如果跟上文件,将显示该文件所在分区的信息,默认是显示所有文件系统。
常用参数:
-a:显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统 -h:以可读性较好的格式显示尺寸(例如:1K、234M、2G) -k:以k字节为单位显示 -i:显示inode 信息而非块使用量 -t:显示各指定类型的文件系统的磁盘空间使用情况 -x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反) -T:显示文件系统类型。
二、fdisk命令
fdisk是Linux下的磁盘分区工具,能将磁盘划分为若干个区域,同时也能为每个分区指定文件系统,例如Linux、Linux swap、vfat、ntfs、fat32等格式。需要注意的是,该命令必须以管理权限运行。单独执行“fdisk -l”命令的时候,可以查看到当前主机上已被识别的所有磁盘存盘存储设备及其相关信息,包括各个分区对应的Linux设备文件、分区磁柱开始以及结束位置、分区类型、分区容量跟磁盘大小总揽等信息。如果执行“fdisk -l 设备文件”,将单独显示该设备文件磁盘信息。注意,此设备文件在Linux系统中是通过hd*x或sd*x表示的,其中“*”表示的是a、b、c等英文字母;x表示是1、2、3等阿拉伯数字;hd是IDE硬盘;sd是SATA硬盘、SCSI硬盘或移动存储。在执行“fdisk -l 设备文件”命令时,设备文件名称不带后面的阿拉伯数字。
fdisk内部主要命令:
d delete a partition //删除一个分区 l list known partition types //列出分区类型 m print this menu //列出帮助信息 n add a new partition //添加一个分区 p print the partition table //列出分区表 q quit without saving changes //不保存退出 t change a partition's system id //改变分区类型 w write table to disk and exit //把分区表写入硬盘并退出 x extra functionality (experts only) //扩展功能
三、mkfs命令
mkfs [-t 文件系统] 设备文件
mkfs命令缩写至make filesystem,顾名思义,是用来为指定分区建立文件系统的。该命令需要管理员权限。由于fdisk命令在重新分区之后也能创建文件系统,故mkfs命令存在的意义更多在于不重新分区的情况下也可以更改文件系统,这边是我们通常所说的分区格式化。
四、mount跟umount命令
mount跟umount命令分别用来挂载跟卸载移动存储设备(如光盘、软盘、U盘或移动硬盘等)。mount命令将这些移动存储设备绑定到指定目录以后,访问该目录就能直接读写这些移动存储设备上的数据了。建立这种绑定关系的过程通常称为挂载,使用mount命令;相反地,解除这种绑定关系的过程称为卸载,使用umount命令。这两个命令都需要管理员权限。
命令格式:
mount [-t vfstype] [-o options] device dir umount device 或 umount dir
其中:
(1) -t vfstype —— 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs
(2) -o options —— 主要用来描述设备的挂接方式。
loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset:指定访问文件系统所用字符集
(3) device——要挂接(mount)的设备。
(4) dir —— 设备在系统上的挂接目录(挂载点)。
五、应用实例:
1、演示df命令常用参数的使用。
trevor@trevor-PC:~/linux/linux100$ df -a 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda9 28836860 4775080 22596948 18% / proc 0 0 0 - /proc none 0 0 0 - /sys fusectl 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security none 1022436 340 1022096 1% /dev none 0 0 0 - /dev/pts none 1028036 4584 1023452 1% /dev/shm none 1028036 360 1027676 1% /var/run none 1028036 0 1028036 0% /var/lock/dev/sda8 28834812 21473668 5896416 79% /home binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc gvfs-fuse-daemon 0 0 0 - /home/trevor/.gvfs/dev/sda5 104959996 36509740 68450256 35% /media/Document trevor@trevor-PC:~/linux/linux100$ df -T 文件系统 类型 1K-块 已用 可用 已用% 挂载点 /dev/sda9 ext4 28836860 4775092 22596936 18% / none devtmpfs 1022436 340 1022096 1% /dev none tmpfs 1028036 4584 1023452 1% /dev/shm none tmpfs 1028036 360 1027676 1% /var/run none tmpfs 1028036 0 1028036 0% /var/lock/dev/sda8 ext4 28834812 21473668 5896416 79% /home /dev/sda5 fuseblk 104959996 36509740 68450256 35% /media/Document trevor@trevor-PC:~/linux/linux100$ df -Tht ext4 文件系统 类型 容量 已用 可用 已用%% 挂载点 /dev/sda9 ext4 28G 4.6G 22G 18% / /dev/sda8 ext4 28G 21G 5.7G 79% /home trevor@trevor-PC:~/linux/linux100$ df -Thit ext4 文件系统 类型 Inode 已用(I) 可用(I) 已用(I)%% 挂载点 /dev/sda9 ext4 1.8M 200K 1.6M 12% / /dev/sda8 ext4 1.8M 233K 1.6M 14% /home trevor@trevor-PC:~/linux/linux100$
2、删掉sda原有分区,添加一个100M的主分区,剩下作扩展分区,在扩展分区中添加一个200M的逻辑分区。
trevor@trevor-PC:~/linux/linux100$ sudo fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdb: 2020 MB, 2020872192 bytes 32 heads, 34 sectors/track, 3627 cylinders Units = cylinders of 1088 * 512 = 557056 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 2 3628 1972484 c W95 FAT32 (LBA) Command (m for help): d Selected partition 1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3627, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-3627, default 3627): +100M Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (190-3627, default 190): Using default value 190 Last cylinder, +cylinders or +size{K,M,G} (190-3627, default 3627): Using default value 3627 Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (190-3627, default 190): Using default value 190 Last cylinder, +cylinders or +size{K,M,G} (190-3627, default 3627): +200M Command (m for help): p Disk /dev/sdb: 2020 MB, 2020872192 bytes 32 heads, 34 sectors/track, 3627 cylinders Units = cylinders of 1088 * 512 = 557056 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 189 102799 83 Linux /dev/sdb2 190 3627 1870272 5 Extended /dev/sdb5 190 566 205071 83 Linux Command (m for help): q trevor@trevor-PC:~/linux/linux100$
需要注意的是,这里的最后一步,我选择了q命令,即放弃之前的一切操作然后退出,如果你真的需要分区,而不是跟我一样只是练习练习,则选择w命名。当然,这里我没有做很关键的一步,那就是为分区设定格式,即选择system id,默认情况下fdisk为新分区设定的是Linux格式,如果您想设置其他格式(如FAT32、NTFS),可以使用t命令来进行设置。
3、格式化U盘
(1)查看U盘所对应的设备文件名称
trevor@trevor-PC:~$ sudo fdisk -l Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 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: 0x07591fa1 Device Boot Start End Blocks Id System /dev/sda1 * 1 13 102400 7 HPFS/NTFS Partition 1 does not end on cylinder boundary. /dev/sda2 13 2627 20992000 7 HPFS/NTFS /dev/sda3 2627 5240 20992000 7 HPFS/NTFS /dev/sda4 5240 38914 270482433 f W95 Ext'd (LBA) /dev/sda5 5240 18307 104960000 7 HPFS/NTFS /dev/sda6 18307 31387 105062400 7 HPFS/NTFS /dev/sda7 31387 31619 1864704 82 Linux swap / Solaris /dev/sda8 31619 35266 29294592 83 Linux /dev/sda9 35267 38914 29296640 83 Linux Disk /dev/sdb: 1999 MB, 1999568384 bytes 255 heads, 63 sectors/track, 243 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: 0xcad4ebea Device Boot Start End Blocks Id System /dev/sdb4 * 1 244 1959898+ b W95 FAT32 trevor@trevor-PC:~$
可以发现,U盘对于的设备文件为/dev/sdb4。
(2)将U盘格式化为vfat格式
trevor@trevor-PC:~$ sudo mkfs -t vfat /dev/sdb4 mkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: /dev/sdb4 contains a mounted file system. trevor@trevor-PC:~$ sudo umount /dev/sdb4 trevor@trevor-PC:~$ sudo mkfs -t vfat /dev/sdb4 mkfs.vfat 3.0.9 (31 Jan 2010) trevor@trevor-PC:~$ sudo mkdir /media/test trevor@trevor-PC:~$ sudo mount /dev/sdb4/media/test/ trevor@trevor-PC:~$ df /media/test/ 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sdb4 1948848 4 1948844 1% /media/test trevor@trevor-PC:~$
第一次格式化的时候出错,提示设备已将被挂载,故使用umount命令将其卸载,第二次格式化的时候执行成功。紧接着创建目录/media/test作为U盘的挂载点,再执行mount命令将U盘挂载到系统上。最后执行df命令验证挂载执行成功。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。