在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
# sudo blkid [设备名]
sudo blkid /dev/mydisk
和UUID一样,是和硬盘分区绑定的,只不过它可以通过命令修改。默认状态下,卷标是不存在的,必须手动设置之后才有。自动挂载的时候,如果有卷标,通常会用卷标作为硬盘的标识符,若无,则会用系统默认的标识符(linux通常是用UUID,windows则是E:)。