linux的mount命令
  

沧海 882

{{ttag.title}}
Mount:挂载磁盘
命令格式:
mount [-t vfstype] [-o options] device dir
mount –o remount,rw,auto / 重新挂载
mount –n –o remount,rw / 重新挂载根目录,设置为可读写
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
挂接光盘镜像文件
1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso
2、将文件和目录制作成光盘镜像文件,执行下面的命令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk
3、光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
注:建立一个目录用来作挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。
挂接移动硬盘
对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 -- /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdc: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS
/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)
/dev/sdc5 511 4864 34973473+ b Win95 FAT32
大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和/dev/sdc5。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1
挂接U盘
和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdd: 131 MB, 131072000 bytes
9 heads, 32 sectors/track, 888 cylinders
Units = cylinders of 288 * 512 = 147456 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 889 127983+ b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1000, 8, 32) logical=(888, 7, 31)
系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。
#mkdir -p /mnt/usb
注:建立一个目录用来作挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
挂接Windows文件共享
Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba 软件包。现在流行的linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到官网下载新版本。
当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:
# mkdir –p /mnt/samba
注:建立一个目录用来作挂接点(mount point)
# mount -t smbfs -o username=**istrator,password=pldy123 //**/c$ /mnt/samba
注:**istrator 和 pldy123 是ip地址为** windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享
如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、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是准备共享的目录,**、*、 linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机 /etc/hosts文件里增加linux-client主机ip定义。格式如下:
** 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 **/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 x86&sparc环境下测试通过。
权限问题:
假设 server 端的使用者 jack, user id 为 1818, gid 为 1818, client 端也有一个使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack 希望能完全读写 server 端的 /home/jack 这个目录。server 端的 /etc/exports 是
这样写的:
/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)
这个的配置文件的意思是,所有 client 端的使用者存取 server 端 /home/jack 这
目录时,都会 map 成 server 端的 jack (uid,gid=1818)。我 mount 的结果是
1. client 端的 root 可以完全存取该目录, 包括读、写、杀……等
2. client 端的 jack (uid,gid=1818) 我可以做:
rm -rf server_jack/*
cp something server_jack/
mkdir server_jack/a
umount:将文件设备卸载
[root@centos57 ~]# umount /dev/hda1 用设备文件名来卸载
[root@centos57 ~]# umount /aixi 用挂载点来卸载
umount: /aixi: device is busy 如果提示设备忙,不急可以使用如下命令卸载
#umount -l /mnt/hda1 选项 –l 并不是马上umount,而是在该目录空闲后再umount。
如果比较急,可用如下命令:
#umount -f /mnt/hda1 -f代表强制卸载
如果还不行,可使用fuser -m –v /dev/hda1来查询是哪些程序在占用,结束这些程序进程即可卸载
[root@centos57 aixi]# sync && fuser -m /dev/hda1 –k 使用这条命令后一定可以卸载

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

晨羲 发表于 2022-7-29 22:45
  
学习了,好人一胎6个
发表新帖
热门标签
全部标签>
西北区每日一问
干货满满
每日一问
技术盲盒
技术笔记
产品连连看
GIF动图学习
技术咨询
标准化排查
新版本体验
安装部署配置
功能体验
2023技术争霸赛专题
信服课堂视频
自助服务平台操作指引
每周精选
解决方案
设备维护
秒懂零信任
升级
高手请过招
升级&主动服务
答题自测
玩转零信任
信服圈儿
通用技术
技术晨报
社区新周刊
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
原创分享
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高频问题集锦

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人