LINUX核心命令实战总结九——磁盘与文件系统管理命令

1.1 命令fdisk:磁盘分盘工具

【功能说明】

工具fdiskLinux下常用的磁盘分区工具。受mbr分区表的限制,fdisk工具只能给小于2TB的磁盘划分分区。如果使用fdisk对于大于2TB的磁盘进行分区,虽然可以分区,但其仅识别2TB的空间,所以磁盘容量若超过2TB,就要使用parted分区工具进行分区。

【语法格式】

fdisk   [option] [device...]
fdisk  [选项] [设备名...]

【选项说明】

命令fdisk参数选项及说明

参数选项

解释说明(带*的为重点)

-l

显示所有磁盘分区的信息(*

【使用范例】

[root@A ~]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000a4199
 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64       13055   104344576   8e  Linux LVM
View Code

Device:分区,这里有三个分区;

Boot:启动分区,用*表示的是启动分区

Start:表示开始的柱面

End :表示结束的柱面

Blocksblock块数量

Id:分区类型ID

System:分区类型

 

交互式分区实践

[root@A ~]# ls /dev/sd*        #查看分区前设备的状态
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde  /dev/sdf  /dev/sdg
[root@A ~]# fdisk /dev/sdf        #不加参数,直接接设备名就可以分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2d011ec8.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

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').            #提示使用-c关闭dos兼容模式
                                 #提示-u参数使用扇区为单位分区
Command (m for help): m                #m是帮助,需要人工输入m后回车,下同    
Command action
   a   toggle a bootable flag                #设置引导扇区
   b   edit bsd disklabel                    #编辑bsd卷标
   c   toggle the dos compatibility flag        #设置dos兼容扇区
   d   delete a partition                    #删除一个分区
   l   list known partition types                #查看分区类型对应编号列表
   m   print this menu                    #打印帮助菜单
   n   add a new partition                    #新建一个分区
   o   create a new empty DOS partition table    #创建一个新的空DOS分区表
   p   print the partition table                #打印分区表
   q   quit without saving changes            #退出不保存更改
   s   create a new empty Sun disklabel        #创建新的空sun卷标
   t   change a partition's system id            #更改分区系统id
   u   change display/entry units            #改变显示/条目的单位
   v   verify the partition table                #验证分区表
   w   write table to disk and exit            #将操作写入分区表并退出程序
   x   extra functionality (experts only)        #额外的功能

Command (m for help): n            #新建一个分区,需要人工输入n后回车
Command action
   e   extended                    #创建扩展分区
   p   primary partition (1-4)            #创建主分区(1-4)
p             #创建一个主分区,需要人工输入p后回车
Partition number (1-4): 1        #设置分区编号为1,需要人工输入1后回车
First cylinder (1-913, default 1): +500        
#设置结束柱面(913)或分区大小(+100M),因为要划分指定大小的分区,所以常用+100M这种方法,如果分区时使用fdisk  -cu /dev/sdf,则这里就会使用扇区为单位来进行分区。
Last cylinder, +cylinders or +size{K,M,G} (500-913, default 913): 
Using default value 913

Command (m for help): p

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (1-913, default 1): +2000M
Last cylinder, +cylinders or +size{K,M,G} (255-499, default 499): 
Using default value 499

Command (m for help): p

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
/dev/sdf2             255         499     1967962+   5  Extended
Command (m for help): p

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
/dev/sdf2             255         499     1967962+   5  Extended
/dev/sdf3              51         254     1638630   83  Linux
/dev/sdf5             255         261       56196   83  Linux
/dev/sdf6             262         275      112423+  83  Linux
/dev/sdf7             276         289      112423+  83  Linux
/dev/sdf8             290         303      112423+  83  Linux
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@A ~]# ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sdc  /dev/sde  /dev/sdf1  /dev/sdf3  /dev/sdf6  /dev/sdf8
/dev/sda1  /dev/sdb   /dev/sdd  /dev/sdf  /dev/sdf2  /dev/sdf5  /dev/sdf7  /dev/sdg
[root@A ~]# partprobe /dev/sdf   #执行该命令通知内核分区表已更改,此步是不重启让分区表生效命令
格式化磁盘
[root@A ~]# mkfs.ext4 /dev/sdf1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
208000 inodes, 831363 blocks
41568 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=851443712
26 block groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200

正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
View Code

挂载磁盘分区

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
[root@A ~]# mount /dev/sdf1 /mnt
[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf1             3.1G  5.6M  2.9G   1% /mnt
[root@A ~]# echo "mount /dev/sdf1 /mnt">> /etc/rc.local
[root@A ~]# tail -1 /etc/rc.local
mount /dev/sdf1 /mnt
View Code

linux 添加硬盘如何不重启

1. 添加了磁盘后查看,没有刷新出来

[root@node /]# fdisk -l
Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 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: 0x000aa84a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2089    16775168   83  Linux
/dev/sda2            2089        2089        1024   82  Linux swap / Solaris
View Code

2. 查看主机总线号

root@node /]# ls /sys/class/scsi_host/
host0  host1  host2

3.重新扫描SCSI总线来添加设备

[root@node /]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@node /]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@node /]# echo "- - -" > /sys/class/scsi_host/host2/scan

4. 查看磁盘,可以看到 /dev/sdb :53.7G 这个就是新加的盘

[root@node /]# fdisk -l
Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 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: 0x000aa84a
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2089    16775168   83  Linux
/dev/sda2            2089        2089        1024   82  Linux swap / Solaris
Disk /dev/sdb: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 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

fdisk非交互式分区(批量分区案例)

sdc1

sdc2

sdc5

sdc6

n

n

n

n

p

e

l

l

1

2

enter

enter

enter

enter

+400M

enter

+100M

enter

 

 

[root@server ~]# fdisk /dev/sdc<<EFO
> n
> p
> 1
> 
> +100M
> n
> e
> 2
> 
> 
> n
> l
> 
> +400M
> n
> l
> 
> 
> p
> w
> EFO
View Code
  Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1          14      112423+  83  Linux
/dev/sdc2              15         522     4080510    5  Extended
/dev/sdc5              15          66      417658+  83  Linux
/dev/sdc6              67         522     3662788+  83  Linux

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@server ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdc1  /dev/sdc2  /dev/sdc5  /dev/sdc6
View Code

1.2 命令partprobe:更新内核的硬盘分区表信息

【功能说明】

命令partprobe用于在硬盘分区发生改变时,更新Linux内核中的硬盘分区表数据。有时在使用fdiskpart命令对硬盘进行分区后,会发现找不到新分区,此时需要重启系统才会使修改生效,但使用partprobe可以不重启系统就让修改的分区表生效。

【语法格式】

partprobe   [options]
partprobe      [选项] 

【选项说明】

命令partprobe的参数选项及说明

参数选项

解释说明(带*的为重点)

-d

不更新内核

-s

显示摘要和分区

【使用范例】

[root@server ~]# partprobe
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙).  As a result, it may not reflect all of your changes until after reboot.

1.3 命令tune2fs:ext2/ext3/ext4 文件系统参数

【功能说明】

命令tun2fs可以调整或查看ext2/ext3/ext4文件系统的参数,比如可以调整LINUX文件系统开机自检的周期,此命令在工作中极少使用。

【语法格式】

tune2fs   [options]
tune2fs      [选项] 

【选项说明】

命令tune2fs的参数及说明

参数选项

解释说明(带*的为重点)

-c

设置强制自检的挂载次数,每挂载一次就计数就会加一,超过次数就会强制自检。设置成0-1则此功能关闭

-C

设置文件系统已经被挂载的次数

-i

设置强制自检的时间间隔(天、周、月)(*

-j

ext2文件系统转换为ext3类型文件系统

-l

查看文件系统信息(*

【使用范例】

查看文件系统挂载信息

[root@server ~]# tune2fs -l /dev/sda1|grep -i Mount 
Last mounted on:          /boot                
Default mount options:    user_xattr acl
Last mount time:          Sat Dec  2 19:30:01 2017        #上次挂载时间
Mount count:              7            #挂在次数
Maximum mount count:      -1             #强制自检的挂载次数为-1,关闭自检功能

设置挂载次数

[root@server ~]# tune2fs -C 30 /dev/sda1
tune2fs 1.41.12 (17-May-2010)
Setting current mount count to 30
[root@server ~]# tune2fs -l /dev/sda1|grep -i Mount
Last mounted on:          /boot
Default mount options:    user_xattr acl
Last mount time:          Sat Dec  2 19:30:01 2017
Mount count:              30
Maximum mount count:      -1

设置强制自检的挂载次数

[root@server ~]# tune2fs -c 40 /dev/sda1             
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to 40
[root@server ~]# tune2fs -l /dev/sda1|grep -i Mount
Last mounted on:          /boot
Default mount options:    user_xattr acl
Last mount time:          Sat Dec  2 19:30:01 2017
Mount count:              30
Maximum mount count:      40
View Code

设置强制自检的时间间隔

[root@server ~]# tune2fs -l /dev/sda1|grep -i check
Last checked:             Tue Jul  5 11:03:32 2016
Check interval:           0 (<none>)
[root@server ~]# tune2fs -i 10 /dev/sda1
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 864000 seconds
[root@server ~]# tune2fs -l /dev/sda1|grep -i check
Last checked:             Tue Jul  5 11:03:32 2016
Check interval:           864000 (1 week, 3 days)
Next check after:         Fri Jul 15 11:03:32 2016
[root@server ~]# tune2fs -i 0 /dev/sda1            
tune2fs 1.41.12 (17-May-2010)
Setting interval between checks to 0 seconds
View Code

1.4 命令parted:磁盘分区工具

【功能说明】

对于小于2TB的磁盘可以用fdiskparted命令进行分区,这种情况一般采用fdisk命令,但对于大于2TB的磁盘则只能用parted分区,且需要将磁盘转换为GPT格式。

【语法格式】

parted   [option] [device...]
parted  [选项] [设备名...]

【选项说明】

命令parted参数选项及说明

参数选项

解释说明(带*的为重点)

-l

显示所有磁盘分区的信息(*

-h

查看帮助

【使用范例】

[root@A ~]# parted -l
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  标志
 1      1049kB  525MB  524MB  primary  ext4         启动
 2      525MB   107GB  107GB  primary               lvm
View Code

挂载超过2T的磁盘

[root@A ~]# parted /dev/sdg
GNU Parted 2.1
使用 /dev/sdg
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/sdg will be destroyed and all data on this disk will be lost. Do you want to
continue?/Yes/否/No? yes                                                         
(parted) mkpart primary 
文件系统类型?  [ext2]? ext4                                              
起始点?                                                                  
起始点? 0                                                                
结束点?                                                                  
结束点? 3000000
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore
(parted) p                                                                
Model: VMware Virtual disk (scsi)
Disk /dev/sdg: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  3000GB  3000GB               primary

(parted) mkpart logical 3000000 3000050
(parted) p                                                                
Model: VMware Virtual disk (scsi)
Disk /dev/sdg: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     标志
 1      17.4kB  3000GB  3000GB               primary
 2      3000GB  3000GB  50.3MB               logical

(parted) q                                                                
信息: You may need to update /etc/fstab.                                  

[root@A ~]# ls  /dev/sd*
/dev/sda   /dev/sda2  /dev/sdc  /dev/sde  /dev/sdf1  /dev/sdf3  /dev/sdf6  /dev/sdf8  /dev/sdg1
/dev/sda1  /dev/sdb   /dev/sdd  /dev/sdf  /dev/sdf2  /dev/sdf5  /dev/sdf7  /dev/sdg   /dev/sdg2
[root@A ~]# mkfs.ext4 /dev/sdg1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
183107584 inodes, 732421870 blocks
36621093 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
22352 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848, 512000000, 550731776, 644972544

正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf1             3.1G  5.6M  2.9G   1% /mnt
[root@A ~]# mount /dev/sdg1 /mnt
[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1             477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf1             2.7T   73M  2.6T   1% /mnt
/dev/sdg1             2.7T   73M  2.6T   1% /mnt

1.5 命令mkfs:创建linux文件系统

【功能说明】

命令mkfs用于在指定的设备上创建格式化并创建文件系统,fdiskparted等分区相当于建房的人,把房子(硬盘),分成几居室(分区),mkfs就相当于对不同的居室装修(创建文件系统)了,只有装修好的房子(有文件系统)才能入住,分区一样,只有格式化创建文件系统后,才能用来存储数据。

【语法格式】

mkfs   [option] [filesys...]
mkfs  [选项] [设备名...]

【选项说明】

命令mkfs的参数选项及说明

参数选项

解释说明(带*的为重点)

-t

指定要创建的文件系统类型(*

-c

创建文件系统时检查磁盘坏块

-v

显示详细信息

命令mkfs只是一个前端命令

[root@A ~]# ls /sbin/mkfs*
/sbin/mkfs         /sbin/mkfs.ext2  /sbin/mkfs.ext4     /sbin/mkfs.msdos
/sbin/mkfs.cramfs  /sbin/mkfs.ext3  /sbin/mkfs.ext4dev  /sbin/mkfs.vfa

通过mkfs命令创建文件系统(-t 参数)的例子

[root@A ~]# mkfs -t  ext4 -v /dev/sdf3
mke2fs 1.41.12 (17-May-2010)
fs_types for mke2fs.conf resolution: 'ext4', 'default'
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
102544 inodes, 409657 blocks
20482 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=423624704
13 block groups
32768 blocks per group, 32768 fragments per group
7888 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
View Code

通过mkfs.etx4创建文件系统

[root@A ~]# mkfs.ext4 /dev/sdf3
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
102544 inodes, 409657 blocks
20482 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=423624704
13 block groups
32768 blocks per group, 32768 fragments per group
7888 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
View Code

1.6 命令dumpe2fs:导出ext2/ext3/ext4文件系统信息

【功能说明】

命令dunpe2fs用于导出ext2/ext3/ext4文件系统内部的相关信息,例如:文件系统的组成包含超级快,块组,inodeblock等信息。

【语法格式】

dumpe2fs   [option] [device...]
dumpe2fs  [选项] [设备名...]

【选项说明】

命令dumpe2fs的参数选项及说明

参数选项

解释说明(带*的为重点)

-b

打印文件系统中预留的块信息

-h

仅显示超级块信息

-i

从指出的文件系统映像文件中读取文件的系统信息

-x

16进制格式打印信息块成员

【使用范例】

查看系统的inode的信息

[root@A ~]# dumpe2fs /dev/sda1|egrep -i "inode size |inode count"
dumpe2fs 1.41.12 (17-May-2010)
Inode count:              128016
[root@A ~]# dumpe2fs /dev/sdf1|egrep -i "inode size |inode count" 
dumpe2fs 1.41.12 (17-May-2010)
Inode count:              208000
[root@A ~]# df -i
Filesystem              Inodes IUsed     IFree IUse% Mounted on
/dev/mapper/vg_root-lv_root
                       3276800 67060   3209740    3% /
tmpfs                  4109543     1   4109542    1% /dev/shm
/dev/sda1               128016    39    127977    1% /boot
/dev/mapper/vg_root-lv_home
                       2990080   103   2989977    1% /home
/dev/sdf1            183107584    11 183107573    1% /mnt
/dev/sdg1            183107584    11 183107573    1% /mnt
View Code

查看系统的block信息

[root@A ~]# dumpe2fs /dev/sdf1|egrep -i "block size |block count"     
dumpe2fs 1.41.12 (17-May-2010)
Block count:              831363
Reserved block count:     41568
[root@A ~]# dumpe2fs /dev/sda1|egrep -i "block size |block count" 
dumpe2fs 1.41.12 (17-May-2010)
Block count:              512000
Reserved block count:     25600

1.7 命令resize2fs:调整ext2/ext3/ext4文件系统大小

【功能说明】

命令resize2fs用于扩容或收缩未挂载的ext2/ext3/ext4文件系统,在Linux2.6或更高版本的内核中,该命令还支持在线扩容已经挂载的文件系统,该命令经常用来针对LVM扩容后的分区使用。

【语法格式】

resize2fs   [option] [device...]
resize2fs  [选项] [设备名...]

【选项说明】

命令resize2fs的参数选项及说明

参数选项

解释说明(带*的为重点)

-p

打印完成任务的进度条

-f

 强制执行操作

【使用范例】

出现这种情况一般是当初对系统分区的时候没有规划好,现在想要重新调整分区的大小,假设是要对/dev/sdf上的分区进行操作,将/mnt/data1扩容

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf1             3.1G  5.6M  2.9G   1% /mnt/data1
/dev/sdf3             1.6G  2.4M  1.5G   1% /mnt/data2
[root@A ~]# touch /mnt/data1/{1..5}.hml
[root@A ~]# touch /mnt/data2/{a..e}.hml
View Code

记录分区的柱面起始信息:

[root@A ~]# fdisk -l /dev/sdf

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
/dev/sdf2             255         499     1967962+  83  Linux
/dev/sdf3              51         254     1638630   83  Linux

Partition table entries are not in disk order
View Code

卸载分区:

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
View Code

重新分区:

[root@A ~]# fdisk  /dev/sdf  

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/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
/dev/sdf2             255         499     1967962+  83  Linux
/dev/sdf3              51         254     1638630   83  Linux

Partition table entries are not in disk order

Command (m for help): d
Partition number (1-4): 2

Command (m for help): d
Partition number (1-4): 3

Command (m for help): p

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-913, default 1): 51
Last cylinder, +cylinders or +size{K,M,G} (51-499, default 499): 499

Command (m for help): p

Disk /dev/sdf: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 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: 0x2d011ec8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1             500         913     3325455   83  Linux
/dev/sdf2              51         499     3606592+  83  Linux

Partition table entries are not in disk order

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@A ~]# partprobe /dev/sdf
[root@A ~]# mount /dev/sdf2 /mnt/data2
[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf2             1.6G  2.4M  1.5G   1% /mnt/data2
[root@A ~]# ls /mnt/data2
a.hml  b.hml  c.hml  d.hml  e.hml  lost+found
[root@A ~]# resize2fs /dev/sdf2
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/sdf2 is mounted on /mnt/data2; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/sdf2 to 901648 (4k) blocks.
The filesystem on /dev/sdf2 is now 901648 blocks long.

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf2             3.4G  3.2M  3.2G   1% /mnt/data2
[root@A ~]# ls /mnt/data3
View Code

1.8 命令fsck:检查并修复linux文件系统

【功能说明】

命令fsck用于检查并修复文件系统中的错误,即针对有问题的系统或磁盘进行修复,类似的命令还有e2fask命令。有关fsck的使用需要特别注意的是:(1)文件系统必须是卸载状态,否则会出现故障。(2)不要对正常的分区使用fsck,在不加参数的情况下,fsck会根据/etc/fstab进行文件系统检查,这相当于fsck -As 参数的功能。

【语法格式】

fsck   [option] [filesys...]
fsck  [选项] [文件系统...]

【选项说明】

命令fsck的参数及选项说明

参数选项

解释说明(带*的为重点)

-a

自动修复文件系统,不询问任何问题

-s

按顺序检查的分区内容,检查文件内所列的全部文件系统

-t

指定要检查的分区的文件系统类型

-A

依照/etc/fstab 配置文件的内容,检查文件内所列的全部文件系统

-N

不执行指令,仅列出实际执行会进行的动作

【使用范例】

Linux断电后重启故障修复案例。

Linux系统遭到突然断电等非正常关机操作时,很容易导致文件系统数据损坏,造成系统不能重启,此时,屏幕出现的提示可能是如下内容:

*** AN error occurred during the file system check
*** xxx
*** xxx
Give root password for maintenance 
(or type Control-D to continue)
View Code

此时根据系统提示输入root密码,注意而不是直接Ctrl+D继续,会再重启。

当输入密码之后,正常会出现下面的提示:

(Repair filesystem) 1 #

此时就可以输入fsck或者fsck  -A对磁盘进行修复检查,执行后可能出现一堆询问,按yes即可。

(Repair filesystem) 1 #fsck -A
(Repair filesystem) 2 #

1.9 命令dd:转换或复制文件

【功能说明】

命令dd具有复制文件、转换文件和格式化文本的功能

【语法格式】

dd   [option]
dd  [选项] 

【选项说明】

命令dd的参数及说明

参数选项

解释说明(带*的为重点)

If=<输入文件>

从指定文件读取,全程为input file*

of=<输出文件>

写入到指定文件,全程为output file*

bs=<字节数>

一次读写的字节数,全程为block size8

count=<块数>

指定复制block的块的个数

Ibs=<字节数>

一次读的字节,默认512

obs=<字节数>

一次写的字节,默认512

conv-<格式>

格式转换

ucase 把字母由小写转换为大写

lcase 把字母由大写转换为小写

【使用范例】

/dev/sda1分区复制(备份)到文件中。

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sdf2             3.4G  3.2M  3.2G   1% /mnt/data2
[root@A ~]# dd if=/dev/sde of=/dev/sde1 
记录了12582912+0 的读入
记录了12582912+0 的写出
6442450944字节(6.4 GB)已复制,22.9898 秒,280 MB/秒

删除/dev/sde1分区数据

这个操作十分危险,请做好快照

/dev/zero设备读取数据,写入或覆盖/dev/sdf2的数据

[root@A ~]# ls /mnt/data2
a.hml  b.hml  c.hml  d.hml  e.hml  lost+found
[root@A ~]# dd if=/dev/zero of=/dev/sdf2
dd: 正在写入"/dev/sdf2": 设备上没有空间
记录了7213186+0 的读入
记录了7213185+0 的写出
3693150720字节(3.7 GB)已复制,82.8028 秒,44.6 MB/秒
[root@A ~]# ls /mnt/data2               
[root@A ~]# 
[root@A ~]# touch /mnt/data2/{1..5}.htl
touch: 无法创建"/mnt/data2/1.htl": 只读文件系统
touch: 无法创建"/mnt/data2/2.htl": 只读文件系统
touch: 无法创建"/mnt/data2/3.htl": 只读文件系统
touch: 无法创建"/mnt/data2/4.htl": 只读文件系统
touch: 无法创建"/mnt/data2/5.htl": 只读文件系统
[root@A ~]# 
Message from syslogd@web01 at Jan 31 16:57:01 ...
 kernel:journal commit I/O error
View Code

生成任意大小的测试文件

[root@A ~]# dd if=/dev/zero of=test.data bs=1M count=4
记录了4+0 的读入
记录了4+0 的写出
4194304字节(4.2 MB)已复制,0.00477111 秒,879 MB/秒
[root@A ~]# ll -h test.data
-rw-r--r-- 1 root root 4.0M 1月  31 17:13 test.data

使用dd复制文件并进行格式化转换的例子

[root@A ~]# cat aa
I am yanhuihuang my QQ is 88888888
[root@A ~]# dd if=aa conv=ucase of=ab  
记录了0+1 的读入
记录了0+1 的写出
35字节(35 B)已复制,0.00025041 秒,140 kB/秒
[root@A ~]# cat ab
I AM YANHUIHUANG MY QQ IS 88888888

1.10 命令mount:挂载文件系统

【功能说明】

命令mount可以将指定的文件系统挂载到目录,在linux系统下必须先挂载所有的设备,然后才能被访问,挂载起始就是为要访问的设置开个门。

【语法格式】

mount [ options]  device  dir
mount [ 选项]  设备 目录

【选项说明】

命令mount的参数选项及说明

参数选项

解释说明(带*的为重点)

-l

显示系统已经挂载的设备的相关信息

-a

根据/etc/fstab文件里的配置挂载文件系统

-t

指定挂载的文件系统类型(*),例如,文件系统类型有,nfs(网络文件系统),iso9660(挂载CD-ROM光盘),auto(自动检测文件系统)。如果不设置-t参数,或使用-t auto参数,mount命令会自行选择挂载的文件类型。

-o

后接一些挂载的选项,是安全,性能优化的重要选项(*

-r

只读挂载,等同于-o ro的挂载方式

-w

读写挂载,等同于-o rw的挂载方式

命令mount-o参数可接的选项

参数选项

解释说明(带*的为重点)

async

所涉及文件系统I/O的操作都是异步处理,即数据不会同步写入到磁盘,而是写入到缓冲区中,这种设置会提高系统的性能,但同时也会降低数据的安全性,一般在生产环境下不推荐使用。除非对性能要求很高,对数据安全性要求不高的业务。

sync

async相反,即有i/o操作时,都会同步处理i/o,即把数据同步写入硬盘,此参数会牺牲一部分i/o性能,但是换来的是系统突发停机后数据的安全性

atime

在每次数据访问时,都会同步更新每次访问的文件的inode的访问时间,在高并发环境下,应用此选项,可以在一定程度上提高系统i/o的性能

noatime

不更新文件系统上文件的inodef访问时间,在高并发环境下,应用此选项,可以在一定程度上提高系统i/o的性能

nodiratime

不更新文件系统上目录的inodef访问时间,在高并发环境下,应用此选项,可以在一定程度上提高系统i/o的性能

auto

通过-a参数能够被自动挂载

noauto

不会自然挂载文件系统

defaults

默认值包括rwsuiddevexecautonouserasync、、etc/fstab文件挂载配置的很多情况下都使用默认值

exec

允许执行二进制程序,取消该参数,可以提升系统的安全性

noexec

不能执行二进制程序

nosuid

不允许suidLinux的特殊权限)特殊功能生效

nouser

禁止一个普通用户挂载该文件系统,这是挂载时的默认选项

remount

尝试重新挂载一个已经挂载了的文件系统,其通常用于改变一个文件系统的挂载标志,从而使得一个只读文件系统变得可写,这个动作不会改变设备或者挂载点,提示一下,当系统发生故障时或者进入单用户模式、救援模式时,会发现根文件系统经常会变成只读文件系统,不允许修改,此时该命令就派上用场了,具体命令为:mount  -o remount,rw / 会将根文件系统重新挂载使其可写,在单用户模式或者救援模式修改系统时该命令十分重要。

ro

只读挂载

rw

读写挂载

【使用范例】

显示系统已经挂载的信息

[root@A ~]# mount
/dev/mapper/vg_root-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/vg_root-lv_home on /home type ext4 (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
/dev/sdf2 on /mnt/data2 type ext4 (rw)
[root@A ~]# mount -l
/dev/mapper/vg_root-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/vg_root-lv_home on /home type ext4 (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
/dev/sdf2 on /mnt/data2 type ext4 (rw)

 对系统的光驱进行挂载

[root@A ~]# mkdir -p /mnt/cdrom
[root@A ~]# mount -t iso9660 -o,loop /dev/sr0 /mnt/cdrom
[root@A ~]# cd /mnt/cdrom
[root@A cdrom]# ls
CentOS_BuildTag  GPL       Packages                  RPM-GPG-KEY-CentOS-6           RPM-GPG-KEY-CentOS-Testing-6
EFI              images    RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Debug-6     TRANS.TBL
EULA             isolinux  repodata                  RPM-GPG-KEY-CentOS-Security-6

使用性能及安全挂载参数选项(-o多选项)的企业案例

[root@client ~]# mount -t nfs -o nosuid,noexec,nodev,noatime,10.16.50.243:/data /data

生产场景文件系统故障解决案例

由于系统等问题,在工作中可能造成文件系统只读,这时就需要重新挂载根(/)为读写模式

[root@client ~]# mount -o remount,rw /

生产场景配置fstab后防止开机启动出错案例

在工作中,当添加新的磁盘时,会有永久性挂载的需求,此时就会配置/etc/fstab这个文件,但是这个文件若配置有问题可,能造成系统重启后无法开机,因此配置好fstab文件后可先用mount -a读取/etc/fstab进行挂载测试,如果能挂在成功,那么重启一般也会正常,反之则会出现异常。

[root@A ~]# mount -a     
mount: mount point /mt/data2 does not exist
[root@A ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul  5 11:04:36 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_root-lv_root /                       ext4    defaults        1 1
UUID=218ebb60-cc90-4911-ae01-034e6d351867 /boot                   ext4    defaults        1 2
/dev/mapper/vg_root-lv_home /home                   ext4    defaults        1 2
/dev/mapper/vg_root-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sdf2               /mnt/data2              ext4    defaults        0 0
                                                                                                                   
"/etc/fstab" 17L, 933C written
[root@A ~]# mount -a     
[root@A ~]# 
View Code

1.11 命令umount:卸载文件系统

【功能说明】

命令umount可以卸载已经挂载的文件

【语法格式】

umount   [option]  {dir|device}...
umount   [选项]  {目录|设备}...

【选项说明】

命令umount的参数及说明

参数选项

解释说明(带*的为重点)

-f

强制删除(*

-l

懒惰的卸载,将文件系统从文件系统层次结构分离出来,并清除对文件系统的所有引用。一般和-f参数配合使用其卸载效果更佳(*

【使用范例】

卸载已经挂载的光盘

[root@client ~]# df -Th     
Filesystem           Type     Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                     ext4      50G  2.2G   45G   5% /
tmpfs                tmpfs     16G     0   16G   0% /dev/shm
/dev/sda1            ext4     477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                     ext4      45G   53M   43G   1% /home
/dev/sr0             iso9660  4.4G  4.4G     0 100% /mnt/cdrom
[root@client ~]# umount /mnt/cdrom
[root@client ~]# df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                     ext4    50G  2.2G   45G   5% /
tmpfs                tmpfs   16G     0   16G   0% /dev/shm
/dev/sda1            ext4   477M   33M  419M   8% /boot
/dev/mapper/vg_root-lv_home
                     ext4    45G   53M   43G   1% /home

在当前目录等环境下强制卸载

[root@A ~]# umount -lf /mnt/data2    

1.12命令df:报告文件系统磁盘空间的使用情况

【功能说明】

显示文件系统磁盘使用情况

【语法格式】

命令df的参数选项及说明

参数选项

解释说明(带*的为重点)

-a

显示所有文件

-h

以容易理解的格式显示磁盘的使用情况(*

-i

显示文件系统的inode信息(*

-t

显示指定类型的磁盘

-T

列出文件系统的类型

【使用范例】

显示磁盘的使用情况

[root@A ~]# df -Th
Filesystem           Type     Size  Used Avail Use% Mounted on
/dev/sr0             iso9660  4.4G  4.4G     0 100% /mnt/cdrom
/dev/sda1            ext4     477M   33M  419M   8% /boot
tmpfs                tmpfs     16G     0   16G   0% /dev/shm
/dev/sdf2            ext4     3.4G  6.9M  3.2G   1% /mnt/data2

显示磁盘使用情况的各列信息及说明

列信息

说明

Filesystem

文件系统对应的设备文件的路径名(一般是硬盘上的分区)

Type

文件类型

Size

分区的大小(MGT

Used

分区使用大小

Avail

分区空闲大小

Use%

使用百分比

Mounted on

文件挂载点

1K-blocks

分区大小(单位为block

 

[root@A ~]# df 
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/sda1               487652   33508    428544   8% /boot
tmpfs                 16438172       0  16438172   0% /dev/shm
/dev/sdf2              3484320    7064   3296928   1% /mnt/data2

不加参数和文件参数的例子

[root@A ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_root-lv_root
                      51475068 2225836  46627792   5% /
/dev/mapper/vg_root-lv_home
                      46902216   53484  44459536   1% /home
/dev/sr0               4523182 4523182         0 100% /mnt/cdrom
/dev/sda1               487652   33508    428544   8% /boot
tmpfs                 16438172       0  16438172   0% /dev/shm
/dev/sdf2              3484320    7064   3296928   1% /mnt/data2
[root@A ~]# df /usr/
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_root-lv_root
                      51475068 2225836  46627792   5% /
[root@A ~]# df /boot/
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sda1         487652 33508    428544   8% /boot
View Code

了解参数-h的用法

[root@A ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root
                       50G  2.2G   45G   5% /
/dev/mapper/vg_root-lv_home
                       45G   53M   43G   1% /home
/dev/sr0              4.4G  4.4G     0 100% /mnt/cdrom
/dev/sda1             477M   33M  419M   8% /boot
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sdf2             3.4G  6.9M  3.2G   1% /mnt/data2

参数i显示inode的使用情况

[root@A ~]# df -i
Filesystem            Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/vg_root-lv_root
                     3276800 67079 3209721    3% /
/dev/mapper/vg_root-lv_home
                     2990080   103 2989977    1% /home
/dev/sr0                   0     0       0     - /mnt/cdrom
/dev/sda1             128016    39  127977    1% /boot
tmpfs                4109543     1 4109542    1% /dev/shm
/dev/sdf2             225792    11  225781    1% /mnt/data2

参数t显示指定类型的磁盘

[root@A ~]# df -t ext4
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_root-lv_root
                      51475068 2225836  46627792   5% /
/dev/mapper/vg_root-lv_home
                      46902216   53484  44459536   1% /home
/dev/sda1               487652   33508    428544   8% /boot
/dev/sdf2              3484320    7064   3296928   1% /mnt/data2

参数-T列出了文件系统的类型

[root@A ~]# df -T
Filesystem           Type    1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_root-lv_root
                     ext4     51475068 2225836  46627792   5% /
/dev/mapper/vg_root-lv_home
                     ext4     46902216   53484  44459536   1% /home
/dev/sr0             iso9660   4523182 4523182         0 100% /mnt/cdrom
/dev/sda1            ext4       487652   33508    428544   8% /boot
tmpfs                tmpfs    16438172       0  16438172   0% /dev/shm
/dev/sdf2            ext4      3484320    7064   3296928   1% /mnt/data2

1.13 命令mkswap:创建交换分区

【功能说明】

命令mkswap是在Linux系统里创建交换分区的工具,当系统没有交换分区或交换分区不够用时,可以新建一个交换分区。

【语法格式】

mkswap   [option]     device...
mkswap   [选项]     文件设备...

【使用说明】

命令mkswap的参数选项及说明

参数选项

解释说明(带*的为重点)

-c

建立交换分区之前,首先检查磁盘是否有损坏的区块

-f

强制执行操作

【使用案例】

创建交换分区

[root@A ~]# mkswap -f  /dev/sdc
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=d401b170-de48-41d7-84a4-dfa0fafa9c11

1.14 命令swapon:激活交换分区

【功能说明】

使用mkswap命令创建交换分区后,分区并没有生效,还需要使用swapon命令使之生效。

【语法格式】

swapon   [option]     
swapon   [选项]     

【选项说明】

参数选项

解释说明(带*的为重点)

-s

显示所有交换分区的信息

【使用范例】

激活交换分区

[root@A ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         32105       6730      25375       6144         46       6305
-/+ buffers/cache:        378      31727
Swap:         4031          0       4031
[root@A ~]# swapon /dev/sdc
[root@A ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         32105       6733      25372       6144         46       6305
-/+ buffers/cache:        381      31724
Swap:         8127          0       8127

查看交换分区

[root@A ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       4128764 0       -1
/dev/sdc                                partition       4194300 0       -2

8.15 命令swapoff:关闭交互分区

【功能说明】

如果需要回收磁盘资源,则可以使用swapoff关闭交换分区释放磁盘空间

【语法格式】

swapoff   [option]     
swapoff  [选项]

【选项说明】

命令swapoff参数选项及说明

参数选项

解释说明(带*的为重点)

-a

关闭所有交换分区

关闭交换分区

[root@A ~]# swapoff /dev/sdc
[root@A ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         32105       6730      25375       6144         46       6305
-/+ buffers/cache:        378      31727
Swap:         4031          0       4031
[root@A ~]# swapoff -a
[root@A ~]# free -m   
             total       used       free     shared    buffers     cached
Mem:         32105       6727      25378       6144         46       6305
-/+ buffers/cache:        375      31730
Swap:            0          0          0
[root@A ~]# 

1.16 命令sync:刷新文件系统缓冲区

【功能说明】

命令sync会将内存缓冲内的数据强制刷新到磁盘

【语法格式】

sync   [option]     
sync   [选项]

【使用范例】

手动将数据从缓冲刷到磁盘中并重要系统

[root@A ~]# sync
[root@A ~]# sync
[root@A ~]# reboot

[root@A ~]# df

Filesystem           1K-blocks    Used Available Use% Mounted on

/dev/sda1               487652   33508    428544   8% /boot

tmpfs                 16438172       0  16438172   0% /dev/shm

/dev/sdf2              3484320    7064   3296928   1% /mnt/data2

 

 

 

 

 

posted @ 2020-09-19 20:43  辉煌-love  阅读(570)  评论(0编辑  收藏  举报