首页>>科技 >>内容

linux命令之mount 挂载命令详解

发布时间:2023-08-17 20:52:33编辑:温柔的背包来源:

linux命令之mount 挂载命令详解

很多朋友对linux命令之mount,,挂载命令详解不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

Linux是一个优秀的开源操作系统,可以运行在各种计算机系统上,从大型到巨型到小型到掌上电脑。随着linux系统的成熟和稳定,以及其开源的独特优势,linux在世界范围内得到了广泛的应用。现在很多企业的计算机系统都是由UNIX系统、Linux系统和Windows系统组成的混合系统,经常需要不同系统之间的数据交换。

我将根据自己的实际工作经验,介绍如何在linux系统下挂载光盘镜像文件、移动硬盘、u盘、Windows网络共享、UNIX NFS网络共享。

Mount是Linux下的一个命令,可以将分区连接到Linux中的一个文件夹,从而将分区和目录链接起来,所以我们只需要访问这个文件夹,就相当于访问了分区。挂载概念简介:如果可以访问根文件系统以外的文件,那么它们必须与根文件系统上的一个目录相关联。这个关联操作称为挂载,这个目录称为挂载点。删除此关联的过程称为卸载。

1.挂载:在根文件系统之外,通过与根文件系统上的一个目录关联来实现访问。2.挂载点:mount_point,作为另一个文件系统的访问入口;(1)先存;(2)应该使用没有或不会被其他进程使用的目录;(3)挂载点下的原始文件将被隐藏;Mount命令(mount)首先介绍一下如何使用mount命令。mount命令有许多参数。这里主要说一下我们今天会用什么。

命令格式:mount [-t VFS类型] [-o选项] devicedir1、-t VFS类型指定文件系统类型,这通常是不必要的,mount会自动选择正确的类型。光盘或光盘镜像:iso9660DOS fat16文件系统:msdosWindows 9x fat32文件系统:vfatWindows NT ntfs文件系统:ntfsMount Windows文件网络共享:smbfsUNIX(LINUX)文件网络共享:nfs2、-o options主要用于描述设备或文件的挂接方式。

Loop:用于将文件挂载为系统上的硬盘分区ro:挂载的设备rw:挂载的设备iocharset:用于访问文件系统的指定字符集3、要挂载的设备。4、系统上目录设备的目录挂载点。安装光盘映像文件1、从光盘制作光盘映像文件。将CD放入CD-ROM驱动器,并执行以下命令。# CP/dev/cdrom/home/sunny/my disk . iso或

# ddif=/dev/cdrom of=/home/sunny/mydisk . iso注意:可以通过执行上面的任意命令将当前光驱中的光盘制作成光盘镜像文件/home/sunny/mydisk . iso2、将文件和目录制作成光盘镜像文件,并执行下面的命令。# mkisofs-r-j-v mydisk-o/home/sunky/mydisk.iso/home/sunky/mydir注意:该命令将/home/Sunky/mydir目录下的所有目录和文件制作成光盘镜像文件/home/Sunky/my disk . iso,光盘卷标为:my disk。

3、挂载光盘镜像文件# mkdir /mnt/vcdrom注意:创建一个目录作为挂载点# mount-o loop-t iso 9660/home/Sunky/my disk . iso/mnt/vcdrom注意:可以使用/mnt/vcd ROM访问光盘。对于linux系统,USB接口移动硬盘作为SCSI设备处理。在插入移动硬盘之前,应该使用fdiskl或更多/proc/partitions来检查系统的硬盘和硬盘分区。

[root at pldyrouter/] # fdisk -l连接移动硬盘后,使用fdiskl或更多。/proc/partitions查看系统的硬盘和硬盘分区,应该会发现一个额外的SCSI硬盘/dev/sdc及其两个磁盘分区/dev/sdc1、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令来挂载/dev/sdc1和。# mkdir-p/MNT/usbhd 1 # mkdir-p/MNT/usbhd 2注意:创建一个目录用作挂载点。

# mount-t ntfs/dev/SD C1/MNT/USB hd1 # mount-t vfat/dev/SD C5/MNT/USB hd2注意:NTFS分区应该使用-t ntfs参数,fat32分区应该使用-t vfat参数。如果汉字文件名显示为乱码或不显示,可以使用以下命令格式。# mount-t NTFS-o iocharset=CP 936/dev/SD C1/mnt/usbhd 1 # mount-t vfat-o iocharset=CP 936/dev/SD C5/mnt/usbhd 2

在linux系统中使用fdisk分区命令和mkfs文件系统创建命令,可以将移动硬盘的分区做成linux系统特有的ext2、ext3格式。这样在linux下使用更方便。使用下面的命令直接挂钩。#mount /dev/sdc1 /mnt/usbhd1

和带USB接口的移动硬盘一样,u盘被当作linux系统的SCSI设备。使用方法和移动硬盘完全一样。在插入u盘之前,应该使用fdiskl或更多/proc/partitions来检查系统的硬盘和硬盘分区。[root at pldyrouter root] # fdisk -l插入u盘后,使用fdiskl或更多/proc/partitions检查系统的硬盘和硬盘分区。pldyrouter根目录下的根目录]# fdisk -l

系统有一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,而/dev/sdd1就是我们要挂接的u盘。#mkdir -p /mnt/usb注意:创建一个目录作为挂载点# mount-t vfat/dev/sdd1 /mnt/usb注意:现在可以通过/mnt/usb访问u盘了。如果中文文件名显示为乱码,您可以使用下面的命令。# mount-t vfat-o iocharset=CP 936/dev/SD D1/mnt/USB来挂载Windows文件共享。

Windows网络共享的核心是中小企业/CIFS。要在linux下挂载)windows磁盘共享,必须安装并使用samba软件包。绝大多数流行的linux发行版已经包含了samba软件包。如果安装linux系统时没有安装samba,请先安装samba。当然,你也可以从www.samba.org网站下载新版本,即3.0.10版。在设置了windows系统共享之后,您可以在linux客户端上挂载它,如下所示:# mkdirp/mnt/samba。

注:建立一个目录用来作挂接点(mount point)

# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

注:administrator 和pldy123 是ip地址为10.140.133.23 windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享。

如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windowsxp、windows 2003环境下测试通过。

挂接UNIX系统NFS文件共享类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8和REDHAT as server 3 为例简单介绍一下在linux下如何mount nfs网络共享。

在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。

1、Solaris系统NFS服务端配置方法如下:

(1)修改/etc/dfs/dfstab, 增加共享目录

share -F nfs -o rw /export/home/sunky

(2)启动nfs服务

# /etc/init.d/nfs.server start

(3)NFS服务启动以后,也可以使用下面的命令增加新的共享

# share /export/home/sunky1

# share /export/home/sunky2

注:/export/home/sunky和/export/home/sunky1是准备共享的目录

2、linux系统NFS服务端配置方法如下:

(1)修改/etc/exports,增加共享目录

/export/home/sunky 10.140.133.23(rw)

/export/home/sunky1 *(rw)

/export/home/sunky2 linux-client(rw)

注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、

linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机

/etc/hosts文件里增加linux-client主机ip定义。格式如下:

10.140.133.23 linux-client

(2)启动与停止NFS服务

/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)

/etc/rc.d/init.d/nfs start 启动NFS服务

/etc/rc.d/init.d/nfs stop 停止NFS服务

注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。

使用命令exportfs -rv也可以达到同样的效果。

3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享

# mkdir p /mnt/nfs

注:建立一个目录用来作挂接点(mount point)

#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。

如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。

以上操作在redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86sparc环境下测试通过。

补充:linux加载光驱:

(1)使用光驱前,要先mount一下:

mount /dev/cdrom /mnt/cdrom

然后您就可以进入/mnt/cdrom目录下读取光盘内容了。

(2)当您想退出光盘时,须使用umout命令,否则光驱就会一直处于死锁状态:

umount /mnt/cdrom

命令演示:1、指定文件系统将块设备挂载至指定空文件夹内:演示内容:1)没有指定文件系统,命令是否能正确执行;2)指定错误文件系统,命令是否能正确执行;3)挂载点有内容的文件夹,查看被挂载后其内容是否消失。

root@localhost /# fdisk -l。

设备Boot Start End Blocks Id System

/dev/sdb1 2048 2099199 1048576 83 Linux

/dev/sdb2 2099200 4196351 1048576 5 Extended

/dev/sdb5 2101248 2306047 102400 83 Linux

/dev/sdb6 2308096 2512895 102400 83 Linux

/dev/sdb7 2514944 2719743 102400 83 Linux

/dev/sdb8 2721792 2926591 102400 83 Linux。

root@localhost /# mount /dev/sdb8 /device

root@localhost /# df

文件系统1K-块已用可用已用% 挂载点

/dev/mapper/CentOS-root 18307072 4724136 13582936 26% /

devtmpfs 485368 0 485368 0% /dev

tmpfs 500664 84 500580 1% /dev/shm

tmpfs 500664 7160 493504 2% /run

tmpfs 500664 0 500664 0% /sys/fs/cgroup

/dev/sda1 508588 142620 365968 29% /boot

tmpfs 100136 20 100116 1% /run/user/42

tmpfs 100136 0 100136 0% /run/user/0

/dev/sdb8 98988 5280 93708 6% /device

root@localhost /# blkid /dev/sdb8

/dev/sdb8: UUID=“a3c4bf06-3695-45e8-8a07-a063498f0578” TYPE=“xfs”

root@localhost /# umount /device

root@localhost /# mount -t ext2 /dev/sdb8 /device

mount: 文件系统类型错误、选项错误、/dev/sdb8 上有坏超级块、

缺少代码页或助手程序,或其他错误

root@localhost /# cd /device/

root@localhost device# ll

总用量0

root@localhost device# touch 11 22

root@localhost device# ll

总用量0

-rw-r--r--。 1 root root 0 8月23 10:14 11

-rw-r--r--。 1 root root 0 8月23 10:14 22

root@localhost device# ll

总用量0

root@localhost device# ll -a

总用量4

drwxr-xr-x. 2 root root 6 8月23 09:27 。

dr-xr-xr-x. 21 root root 4096 8月23 09:29 。

root@localhost device# cd 。

root@localhost /# umount /device/

root@localhost /# cd /device/

root@localhost device# ll

总用量0

-rw-r--r--。 1 root root 0 8月23 10:14 11

-rw-r--r--。 1 root root 0 8月23 10:14 22

通过上述演示,说明了如下事实:1)没有指定文件系统,块设备也可以正常挂载;2)指定与块设备不一致的文件系统类型则命令报错;3)挂载点有内容的文件夹,在挂载后内容消失,卸载后内容重现,也就是说挂载后会将原文件内容掩盖,但并不对其进行其他操作。

2、演示内容:1)指定卷标并以只读方式挂载;2)对目录进行挂载操作,查看其与硬链接与软链接有何不同。

root@localhost device# blkid /dev/sdb6

/dev/sdb6: LABEL=“sdb6” UUID=“8284450c-8cb9-45d7-a8b8-ed9ed9ef9e52” TYPE=“xfs”

root@localhost device# mount -L ‘sdb6’ -r /device/

root@localhost device# touch /device/33

touch: 无法创建“/device/33”: 只读文件系统

root@localhost device# umount /device/

root@localhost /# mount -B /etc//device/

root@localhost /# ll -i /

总用量64

11341 lrwxrwxrwx. 1 root root 7 7月19 23:54 bin -》 usr/bin

128 dr-xr-xr-x. 4 root root 4096 8月2 10:09 boot

3 drwxr-xr-x. 19 root root 3300 8月23 09:10 dev

33554561 drwxr-xr-x. 129 root root 8192 8月23 09:38 device

33554561 drwxr-xr-x. 129 root root 8192 8月23 09:38 etc

158 drwxr-xr-x. 42 root root 4096 8月22 09:00 home

通过上述演示,说明了如下事实:1)指定卷标挂载可行,以只读方式挂载后,无法对挂载点中的内容进行修改、创建等操作;2)目录的挂载实质上是硬链接,挂载后可以对里面的文件内容进行修改与删除。

注:文件夹的挂载在df中并不显示

以上知识分享希望能够帮助到大家!