Linux系统磁盘分区管理命令

时间:2023-02-10 18:33:22
  Linux系统磁盘分区管理命令 磁盘分区――fdisk

    fdisk命令语法:

    fdisk [参数] [外围设备代号…]

    实例1:查看系统中所有磁盘的分区情况。

    [root@localhost ~]# fdisk –l

    实例2:查看系统中所有磁盘的分区情况,以扇区为单位。

    [root@localhost ~]# fdisk –lu

    实例3:在当前系统中添加一块新的SCSI磁盘,系统中新增的这块磁盘的设备名为/dev/sdb。

    任务一,划分该磁盘的分区为独立的一个分区/dev/sdb1。

    首先在进行分区操作之前,显示当前的磁盘分区情况。

    [root@localhost ~]# fdisk –l /dev/sdb

    接着在shell提示符下执行fdisk命令,进出交互式界面,等待用户输入fdisk的操作命令。

    [root@localhost ~]# fdisk /dev/sdb

    磁盘分区――sfdisk

    sfdisk命令语法:

    sfdisk[参数]

    实例1:查看系统中所有磁盘的大小。

    [root@localhost ~]# sfdisk –s

    该命令中未明确指明显示那个磁盘设备或分区,其执行结果就是输出当前系统中挂载的所有磁盘设备的大小,若有多个磁盘设备会分别统计每个磁盘的大小后,最后输出所有磁盘大小的总和。

    实例2:查看磁盘/dev/sda的分区信息。

    [root@localhost ~]# sfdisk –l /dev/sda

    实例3:查看磁盘/dev/sda的CHS参数信息。

    [root@localhost ~]# sfdisk –g /dev/sda

    实例4:查看磁盘/dev/sda的分区信息,并将结果存入文件sda.bak中,以备修复分区用。

    [root@localhost ~]# sfdisk –d /dev/sda > sda.bak

    当磁盘分区信息损坏后,可以用已经备份的磁盘分区文件sda.bak恢复。仅需输入如下命令即可。

    [root@localhost ~]# sfdisk /dev/sda < sda.bak

    实例5:对磁盘/dev/sda进行一致性检查。

    [root@localhost ~]# sfdisk –V /dev/sda

    若显示”OK”,表示当前指定磁盘的通过了一致性检查,磁盘无错。否则,将会显示相应的错误信息。

    实例6:显示磁盘/dev/sda的第三个分区的文件系统ID。

    [root@localhost ~]# sfdisk –c /dev/sda 3

    实例7:设置磁盘/dev/sda的第3个分区的文件系统ID为82(Linux swap文件系统)。

    首先在进行设置磁盘/dev/sda的第3个分区的文件系统ID为82操作之前,显示当前的磁盘分区情况。

    [root@localhost ~]# sfdisk –l /dev/sda

    接着在shell提示符下执行sfdisk命令,设置磁盘第3分区的文件系统ID为82。

    [root@localhost ~]# sfdisk –c /dev/sda 3 82

    最后再次显示当前的磁盘分区情况,对照查看前后两次磁盘分区情况。

    磁盘分区――parted

    parted命令语法:

    parted [参数][磁盘设备[命令[参数…]…]]

    实例1:对磁盘/dev/sda中的分区/dev/sda2进行一致性检查。

    命令行方式:

    [root@localhost ~]# parted /dev/sda check 1

    交互式方式:

    [root@localhost ~]# parted /dev/sda

    <parted> check 1

    实例2:显示磁盘/dev/sda中的分区信息。

    命令行方式:

    [root@localhost ~]# parted /dev/sda print

    交互式方式:

    [root@localhost ~]# parted /dev/sda

    <parted> print

    实例3:对磁盘/dev/sda中的分区/dev/sda2上的资料全部复制到该磁盘的分区/dev/sda3上。

    命令行方式:

    [root@localhost ~]# parted /dev/sda cp /dev/sda 2 3

    交互式方式:

    [root@localhost ~]# parted /dev/sda

    <parted> cp /dev/sda 2 3

    实例4:对磁盘/dev/sdb上的创建一个fat32文件系统类型的分区/dev/sdb2。

    交互式方式:

    [root@localhost ~]# parted /dev/sdb

    <parted> mkfs

    Partition number? 2

    File system? [ext2]? fat32

    实例5:调整磁盘/dev/sdb上的分区/dev/sdb2的大小为50 MB。

    交互式方式:

    [root@localhost ~]# parted /dev/sda

    <parted> print 2

    <parted> resize

    Partition number? 2

    Start? [494MB]? 494

    End? [1069MB]? 544

    <parted> print 2

    实例6:救援磁盘分区/dev/sdb2。

    [root@localhost ~]# parted /dev/sda

    <parted> print

    <parted> rm 2

    <parted> print

    <parted> rescue 494 544

    <parted> print

    创建文件系统――mkfs

mkfs命令语法:

    mkfs [参数][文件系统][区块]

    实例1:在设备/dev/hda1上建一个msdos的文件系统,同时检查是否有坏块存在,并且将过程详细展现出来。

    [root@localhost ~]# mkfs -V -t msdos -c /dev/hda1

    实例2:在设备/dev/sdb1上建一个ext3的文件系统。

    [root@localhost ~]# mkfs -t ext2 -j /dev/sdb1

    或

    [root@localhost ~]# mke2fs -j /dev/sdb1

    创建MS-DOS文件系统――mkdosfs

    mkdosfs命令语法:

    mkdosfs [参数][设备名称][区块数]

    实例1:将整个U盘上建立一个MS-DOS文件系统。

    [root@localhost ~]# mkdosfs –I /dev/sdb

    在执行完mkdos命令后,屏幕上将会显示改命令的版本号信息,接下来便可以使用mdir等mtools系列命令管理在U盘上的MS-DOS文件系统。

    实例2:将整个U盘上建立一个MS-DOS文件系统,并设置根目录下最多可包含16个文件或子目录。

    [root@localhost ~]# mkdosfs –v –r 16 –I /dev/sdb

    如果创建MS-DOS文件系统时,在没有设置根目录下最多可包含的文件或子目录个数的情况下,系统会给出一个缺省值为224。

    实例3:将整个U盘上建立一个MS-DOS文件系统,并设置卷标为DOS-Disk。

    [root@localhost ~]# mkdosfs -I –v –n DOS-Disk /dev/sdb

    创建ext2/ext3文件系统――mke2fs

    mke2fs命令语法:

    mke2fs [参数] [设备名称][区块数]

    实例1:将整个U盘/dev/sdb建立成ext2文件系统。

    [root@localhost ~]# mke2fs /dev/sdb

    实例2:将整个U盘/dev/sdb建立成ext2文件系统,并设置卷标为Ext2-Disk。

    [root@localhost ~]# mke2fs –L Ext2-Disk /dev/sdb

    实例3:将整个U盘/dev/sdb建立成ext2文件系统,并设置扇区大小为2 048字节。

    [root@localhost ~]# mke2fs –b 2048 /dev/sdb

    实例4:将整个U盘/dev/sdb建立成ext3文件系统,并设置卷标为Ext3-Disk。

    [root@localhost ~]# mke2fs –j –L Ext3-Disk /dev/sdb

    实例5:将整个U盘/dev/sdb建立成ext2文件系统,并设置给管理员的保留区块的比例为10%。

    [root@localhost ~]# mke2fs –m 10 /dev/sdb

    创建ISO9660文件系统――mkisofs

    mkisofs命令语法:

    mkisofs [参数][目录或文件]

    实例1:将目录/root/demo下的所有文件及目录建立成名为demo.iso的光盘映像文件。

    [root@localhost ~]# mkisofs –o demo.iso /root/demo

    实例2:将目录/root/demo下,除文件install.log和目录tmp以外的所有文件及目录建立成名为demo.iso的光盘映像文件。

    [root@localhost ~]# ls –l /root/demo

    [root@localhost ~]# mkisofs –x tmp –m install.log –o demo.iso /root/demo

    [root@localhost ~]# mount –o loop demo.iso /mnt/cdrom

    [root@localhost ~]# ls -l /mnt/cdrom

    实例3:由目录/root/demo,建立成名为demo.iso的光盘映像文件,并使用Rock Ridge Extensions。

    [root@localhost ~]# mkisofs –r –o demo.iso /root/demo

    实例4:由目录/root/demo,建立名为demo.iso的光盘映像文件,并将信息记录到demoiso.log文件中,同时指定光盘的发行人为Zhang Dong。

    [root@localhost ~]# mkisofs –log-file demoiso.log –publisher “Zhang Dong” –r –o demo.iso /root/demo

    实例5:预计由目录/root/demo建立光盘映像文件的大小。

    [root@localhost ~]# mkisofs –print-size –r /root/demo

    该命令并不实际生成一个光盘镜像文件iso,而仅仅只是预计由指定目录的生成iso文件的大小。

    mkfs.msdos命令的作用与mkdosfs命令一致,在Linux系统下,在指定的设备或磁盘分区上构造一个MS-DOS文件系统。在RedHat Enterprise Linux 5中文件/sbin/mkfs.msdos与文件/sbin/mkdosfs除文件名有区别外,其他信息完全一致。该命令使用方法请参考mkdosfs。

    mkfs.vfat命令的作用与mkdosfs命令一致,在Linux系统下,在指定的设备或磁盘分区上构造一个MS-DOS文件系统。在RedHat Enterprise Linux 5中,文件/sbin/mkfs.vfat与文件/sbin/mkdosfs除文件名有区别外,其他信息完全一致。该命令使用方法请参考mkdosfs。

    创建交换分区――mkswap

    mkswap命令语法:

    mkswap [参数][设备名称或文件][交换区大小]

    实例1:将分区/dev/sdb1设置成一个新式的交换区。

    [root@localhost ~]# mkswap –v1 /dev/sdb1

    实例2:将分区/dev/sdb1设置成一个新式的交换区,并检查是否有坏道。

    [root@localhost ~]# mkswap –v1 –c /dev/sdb1

    执行该命令时,一定会感受得到该命令执行速度远比前一条命令慢很多,原因是系统正在对分区中是否有坏道进行检查,然后才建立交换分区。

    实例3:将分区/dev/sdb1设置成一个新式的交换区,并检查是否有坏道。

    [root@localhost ~]# mkswap –v1 –c /dev/sdb1

    执行该命令时,一定会感受得到该命令执行速度远比前一条命令慢很多,原因是系统正在对分区中是否有坏道进行检查,然后才建立交换分区。

    实例4:设置文件swapfile为交换文件。

    首先建立一个交换容量为10M的空文件swapfile。

    [root@localhost ~]# dd if=/dev/zero of=/root/swapfile bs=1K count=1000

    然后执行命令mkswap将文件/root/swapfile设置为交换文件。

    [root@localhost ~]# mkswap –v1 –c /dev/sdb1

    关闭交换分区――swapoff

    swapoff命令语法:

    swapoff [参数][设备名称或文件]

    实例1:关闭定义在/dev/sdb1设备上的交换区。

    [root@localhost ~]# swapoff /dev/sdb1

    实例2:关闭所有定义在/etc/fstab上的交换区。

    [root@localhost ~]# swapoff –av

    开启交换分区――swapon

    swapon命令语法:

    swapon [参数] [设备或文件]

    实例1:启动定义在/etc/fstab上的交换分区。

    [root@localhost ~]# swapon –av

    实例2:显示当前系统中已启动的交换分区信息。

    [root@localhost ~]# swapon –s

    实例3:启动交换分区/dev/sdb1。

    在创建好swap类型分区的前提下,首先执行命令mkswap创建交换分区,然后才能进行交换分区启动工作。

    [root@localhost ~]# swapon –v /dev/sdb1

    实例4:启动交换分区/dev/sdb1,并指定其优先级为8。

    [root@localhost ~]# swapon –v –p 8 /dev/sdb1