且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux命令之磁盘管理

更新时间:2022-03-26 13:53:11

    有关硬盘的识别,Linux会根据设备类型对存储设备进行识别,如果是IDE设备会被识别为hd,第一个IDE设备为hda,第一个主分区为hda1,第一个逻辑分区为hda5。第二个IDE设备为hdb,以此类推。

如果是SATA、SCSI、USB设备会被识别为sd,同样第一个设备为sda,第一个分区为sda1,第一个逻辑分区为sda5,第二个设备为sdb。

一 查看磁盘信息

1.1 查看磁盘分区和内存信息:

[root@localhost ~]# fdisk -l                 #查看磁盘分区信息

[root@localhost ~]# free -m                  #显示内存和交换分区的使用状况


1.2 显示文件系统的磁盘空间占用情况

[root@localhost ~]# df -i                    #显示inode信息

[root@localhost ~]# df -Th                         #显示文件系统和磁盘使用状况


1.3 显示磁盘属性

[root@localhost ~]# blkid /dev/sda3

/dev/sda3: UUID="36a510b1-0221-4a95-bdbc-c9be942a78b4" TYPE="ext4" 


1.4 查看和设置卷标

[root@localhost ~]# e2label /dev/sda3               #查看卷标

[root@localhost ~]# e2label /dev/sda3 mysql   #设置卷标


1.5 显示文件系统信息

[root@localhost ~]# dumpe2fs  /dev/sda3       #显示文件系统信息

[root@localhost ~]# dumpe2fs -h  /dev/sda3    #显示超级块信息


1.6 查看分区基本信息

[root@localhost /]# lsblk -f

NAME   FSTYPE LABEL UUID                                 MOUNTPOINT

sda                                                      

├─sda1 ext4         6808868a-6989-4ed4-a78e-d0fd0e0e0fc7 /boot

├─sda2 ext4         845226ea-3d7d-44a2-a444-2c34fd8bd767 /

├─sda3 ext4         36a510b1-0221-4a95-bdbc-c9be942a78b4 /var

├─sda4                                                   

├─sda5 swap         4d32fcdf-085b-4063-8e68-7eb0d212c72b [SWAP]

└─sda6 ext4         626f7e5d-4f40-43c6-9663-f917e3cc0a3a /usr


二 磁盘分区

1.1 创建分区

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

过程略


1.2 内核重读分区表

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


1.3 创建文件系统(格式化)

[root@localhost ~]# mkfs -t ext4 /dev/sda5


1.4 挂载


[root@localhost ~]# mount /dev/sda5 /mnt                #挂载分区,必须为空目录

[root@localhost ~]# df -h                               #查看挂载状态


三 创建交换分区

1.1 创建新的分区,将分区的ID号改为82

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

过程略


1.2 创建交换文件系统

[root@localhost ~]# mkswap /dev/sda6


1.3 启用交换文件系统

[root@localhost ~]# swapon /dev/sda6                    #启用交换分区

[root@localhost ~]# swapoff /dev/sda6                   #关闭交换分区


四 挂载文件系统

mount [-t 文件系统类型]  存储设备  挂载点

文件系统类型:通常可以省略,由系统自动识别。

存储设备:对应分区的设备名(如:/dev/sda、/dev/cdrom)或网络资源路径

挂载点:用户指定的挂载目录

[root@localhost ~]# mount                               #显示所有挂载信息

[root@localhost /]# mount -a                            #挂载/etc/fstab中文件系统

[root@localhost ~]# mount /dev/sda1 /var                #挂载硬盘分区

[root@localhost ~]# mount /dev/cdrom /mnt               #挂载光驱

[root@localhost ~]# mount -o loop erf.iso /mnt          #挂载ISO镜像文件


开机自动挂载:[root@localhost ~]# cat /etc/fstab 

192.168.154.161:/data/wwwroot /www/html nfs defaults 0 0

/dev/sda3    /var    ext4    defaults    0    0


挂载Windows共享文件夹:

[root@localhost ~]# mount -t cifs -o username="win7",password="abcdefg" //192.168.154.1/share /mnt


取消挂载:[root@localhost ~]# umount /mnt                #/mnt为挂载点

     

五 管理磁盘

5.1 dd:创建或备份文件

[root@localhost back]# dd if=/dev/sda of=/root/back/sda.mbr.back bs=512 count=1

1+0 records in

1+0 records out

512 bytes (512 B) copied, 0.00042659 s, 1.2 MB/s

以上命令用于备份MBR扇区,if表示数据源,of表示存储目标,bs表示复制单位,默认为字节,count表示复制单位的量,如果是10,代表10个512字节。


[root@localhost back]# dd if=/dev/zero of=/files bs=10M count=5    #创建50M大小的文件

5+0 records in

5+0 records out

52428800 bytes (52 MB) copied, 0.480234 s, 109 MB/s

[root@localhost back]# ll -h /files                                #验证是否创建

-rw-r--r--. 1 root root 50M Apr 19 13:03 /files


[root@localhost ~]# dd if=/etc/passwd of=/root/backpasswd          #备份账号密码文件


5.2 fsck:检查并修复文件系统,扫描文件系统时要在单用户模式、修复模式或把设备umount后进行

选项:-a    自动修复

      -t    指定文件系统

      -y    自动应答

[root@localhost ~]# fsck                                 #如果不知磁盘有什么问题,就这样干

[root@localhost ~]# fsck -a -t ext4 /dev/sda3 

[root@localhost log]# fsck -y -t ext4 /dev/sda3          #自动修复文件系统


5.3 badblocks:检测磁盘坏道,磁盘坏道分为逻辑坏道和物理坏道,前者主要因为软件操作不当造成,可以使用软件修复。而物理坏道,只能通过更改分区的或扇区的占用位置来改善,把坏道排除掉,***是更换磁盘。

选项:-s    显示进度信息

      -v    显示详情

[root@localhost log]# badblocks -s -v /dev/sda

Checking blocks 0 to 20971519

Checking for bad blocks (read-only test): ^C3.06% done, 0:22 elapsed


5.4 验证进程正在使用的文件系统

用法:fuser 选项 挂载的设备名或挂载点

选项:-m    指定设备名或挂载点

      -v    查看进程

      -k    杀死所有进程

[root@localhost /]# fuser -vm /dev/sda3                  #查看正在使用/sda3设备的进程

[root@localhost /]# fuser -km /var                       #终止此挂载点的所有进程

本文转自 zengwj1949 51CTO博客,原文链接:http://blog.51cto.com/zengwj1949/1916844