Linux mount命令揭露存储设备访问路径

日期: 2015-10-11 作者:Sander van Vugt翻译:吴炫国 来源:TechTarget中国 英文

对于新接触Linux的管理员来说,Linux的存储设备加载和Windows有很大的区别。 在Windows服务器上,接入任何存储设备,如U盘、移动硬盘等,Windows系统都会自动加载,你只需要直接打开Windows资源管理器就可以浏览存储设备上的文件,而Linux系统却不是这样。 Linux的文件和目录都是位于一个root根分区。Root分区并不依赖单一的硬盘或者存储设备。

管理员可以使用mount命令将多个存储设备加载到根分区。 在Windows系统,存储设备访问是面向设备的。你会在Windows资源管理器看到光驱,USB键盘和硬盘驱动器等设备,因此很容易便可以使用一个新的设备。 但在Lin……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

对于新接触Linux的管理员来说,Linux的存储设备加载和Windows有很大的区别。

在Windows服务器上,接入任何存储设备,如U盘、移动硬盘等,Windows系统都会自动加载,你只需要直接打开Windows资源管理器就可以浏览存储设备上的文件,而Linux系统却不是这样。

Linux的文件和目录都是位于一个root根分区。Root分区并不依赖单一的硬盘或者存储设备。管理员可以使用mount命令将多个存储设备加载到根分区。

在Windows系统,存储设备访问是面向设备的。你会在Windows资源管理器看到光驱,USB键盘和硬盘驱动器等设备,因此很容易便可以使用一个新的设备。

但在Linux里,你要访问一个设备的时候,它必须先安装并连接到一个目录。一般情况下,没有预先安装配置好自动加载的工具的话,安装设备都是手动的,并且需要管理员决定将设备连接到哪个目录。在你断开设备,必须先卸载。服务器很少使用图形化界面。如果你在Linux系统的服务器不经过加载而直接插入一个usb存储设备,那么将不会看到这个设备。

要在Linux中加载一个存储设备,首先要规划好连接这个设备的目录,然后使用mount命令进行加载。举个例子:mount /dev/sdb1 /mnt  这里的/dev/sdb1是一个系统设备,/mnt是一个目录,通过这个命令你可以将sdb1这个设备加载到/mnt目录来使用,你可以先使用fdisk –l命令来查看系统里面的存储设备

如之前所说的,fdisk –l命令可以列出系统目前接入的存储设备。一般情况下,你可以看到许多类似于/dev/sd 的存储设备,sda通常就是系统所在的存储设备,代表着sata的第一个硬盘,sdb就是第二个接入的硬盘,而像sda1是显示这个硬盘上的分区1,如果有多个分区,就会延续sda1这个数字继续下去。

根据前面提到的信息,你应该能够找到你想要安装到服务器上的设备的名称,如存储设备。但是如果不是存储设备的话,需要使用dmesg命令来查看。该命令显示最近的内核活动,包括新发现的设备。下面是dmesg命令的例子。

例子1: 使用dmesg显示检测和控制内核环缓冲,包括加载的设备

[18435.325715] usb 1-1: new high-speed USB device number 2 using ehci-pci

[18435.504105] usb 1-1: New USB device found, idVendor=abcd, idProduct=1234

[18435.504109] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[18435.504110] usb 1-1: Product: UDisk      

[18435.504115] usb 1-1: Manufacturer: General

[18435.504116] usb 1-1: SerialNumber: Љ

[18435.687375] usb-storage 1-1:1.0: USB Mass Storage device detected

[18435.688710] scsi33 : usb-storage 1-1:1.0

[18435.689819] usbcore: registered new interface driver usb-storage

[18436.692763] scsi 33:0:0:0: Direct-Access   General UDisk      5.00 PQ: 0 ANSI: 2

[18436.702381] sd 33:0:0:0: Attached scsi generic sg2 type 0

[18436.728121] sd 33:0:0:0: [sdb] 15616000 512-byte logical blocks: (7.99 GB/7.44 GiB)

[18436.730316] sd 33:0:0:0: [sdb] Write Protect is off

[18436.730319] sd 33:0:0:0: [sdb] Mode Sense: 0b 00 00 08

[18436.732437] sd 33:0:0:0: [sdb] No Caching mode page found

[18436.872492] sd 33:0:0:0: [sdb] Assuming drive cache: write through

[18436.902023] sd 33:0:0:0: [sdb] No Caching mode page found

[18436.917099] sd 33:0:0:0: [sdb] Assuming drive cache: write through

[18436.979578] sdb: sdb1

[18436.997664] sd 33:0:0:0: [sdb] No Caching mode page found

[18437.002400] sd 33:0:0:0: [sdb] Assuming drive cache: write through

[18437.009989] sd 33:0:0:0: [sdb] Attached SCSI removable disk

从上面dmesg显示的设备名称例子来看,你可以看到许多分区可以已经加载在/ proc 目录。这个命令显示了所有内核支持的分区。在这里显示出来的分区意味着你可以使用加载命令mount来加载这些分区。dmesg命令也显示很多设备的信息,包括内核的缓冲等等信息,当然每个Linux系统有着不同的硬件设备和系统环境,所显示的也不同,如果你不了解这些信息,可以忽略。

例子2. 使用 cat /proc/partitions 显示linux系统的已连接的分区

[root@server2 ~]# cat /proc/partitions

major minor #blocks name

2    0     4 fd0

8    0  8388608 sda

8    1   512000 sda1

8    2  7875584 sda2

11    0  1048575 sr0

253    0   839680 dm-0

253    1  7032832 dm-1

8    16  7808000 sdb

8    17  2318236 sdb1

在Linux系统里,你要移除一个设备,要使用umount命令进行卸载,而且要确保进行移除的设备没有被其他程序或者进程占用。例如使用umount /dev/sdb1来卸载sdb1分区。

翻译

吴炫国
吴炫国

吴炫国,在网络管理领域有丰富经验,专注硬件、服務器、WiFi等方面。强烈爱好虚拟化,TechTarget中国虚拟化论坛版主。