挂载和挂载点
在linux系统中,仅仅将硬盘连接到电脑上(通过直接接入硬盘接口或通过硬盘盒USB连接)是不够的,还需要将硬盘加入到一个目录当中(即挂载),才能访问其中的文件。在ubuntu中,你可能是通过点击硬盘图标来读取硬盘目录的,在你点击图标时,ubuntu自动为你进行了挂载操作。在没有图形界面的linux中,必须使用以下命令将硬盘挂载到一个目录才能读取其中的文件。挂载点就是硬盘挂载后的绝对目录。查找设备名的方法在下一节。
# 先创建挂载点
mkdir /mnt/mydisk
# sudo mount [设备名] [挂载点]
sudo mount /dev/sdb1 /mnt/mydisk
卸载就相当于windows系统中的“安全弹出USB”。卸载命令如下:
sudo umount /dev/sdb1
设备名(文件系统)
查看当前挂载硬盘的文件设备名,请使用以下命令:
df -h
该命令会打印当前已经挂载的所有硬盘的文件系统(即设备名),大小,使用情况和挂载点。
使用以下命令可以打印所有硬盘(包括未挂载的):
lsblk
视野拓展(可跳过直接看下一节挂载点):
在 Linux 系统中,如 CentOS 或 Ubuntu,当一个硬盘被插入服务器时,其设备名是由内核根据硬盘接口类型和连接顺序自动分配的。这个过程遵循以下原则:
-
接口类型:设备名通常反映了硬盘的接口类型。例如,
/dev/sda
、/dev/sdb
等通常表示通过 SATA 或 SCSI 接口连接的硬盘。对于 USB 存储设备,可能会有像/dev/sdc
这样的设备名。 -
连接顺序:在相同类型的多个设备中,设备名的后缀(如
a
、b
、c
等)通常表示它们被系统识别的顺序。第一个被识别的设备是/dev/sda
,第二个是/dev/sdb
,以此类推。 -
分区识别:对于有分区的硬盘,分区也会有自己的设备名。例如,
/dev/sda1
表示/dev/sda
硬盘上的第一个分区。
自动挂载的情况
买的新硬盘,插在windows上,显示的标识符可能是“E:”,插在ubuntu上,显示的标识符可能是像下面的一大串字符,插在CentOS上,显示的标识符又是data0。
a78569db-db3e-4030-954e-88b17f0c81d2
这就是因为硬盘是自动挂载的,系统自动为硬盘设置了挂载点。系统自动挂载时,硬盘的标识符与UUID和卷标有关。
UUID
硬盘分区完成后,每个卷都会有一个UUID,这是跟硬盘的分区绑定且无法使用命令修改的(除非格式化硬盘或重新分区)。可以通过以下命令读取硬盘的UUID
# sudo blkid [设备名]
sudo blkid /dev/mydisk
卷标
和UUID一样,是和硬盘分区绑定的,只不过它可以通过命令修改。默认状态下,卷标是不存在的,必须手动设置之后才有。自动挂载的时候,如果有卷标,通常会用卷标作为硬盘的标识符,若无,则会用系统默认的标识符(linux通常是用UUID,windows则是E:)。
查看卷标请使用以下命令:
#sudo e2label [设备名]
sudo e2label /dev/sdc1
添加或修改卷标请使用以下命令:
#sudo e2label [设备名] [卷标名]
sudo e2label /dev/sdc1 name
删除卷标请使用以下命令:
#sudo e2label [设备名] ""
sudo e2label /dev/sdc1 ""
SN序列号
SN序列号是跟硬盘硬件本身绑定的,把硬盘拆下后在硬盘正面的标签上会展示SN序列号(如下图)
当硬盘被插上电脑后,可以通过以下代码查询硬盘的SN序列号。
sudo lsblk -o NAME,SERIAL