|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
, a5 P8 A4 m! i. a- v' F8 q对于新手学习,mount 命令,一定会有很多疑问。其实我想疑问来源更多的是对linux系统本身特殊性了解问题。 linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备。如:5 n$ @/ E& S( j- t8 f' x6 r3 z
' X- }/ R7 ^7 `" H+ u: f: c" l- [chengmo@centos5 dev]$ ls | grep -E "^(sd|hd)"
- hdc
- sda
- sda1
- sda2
- sdb
- sdb1
- sd*代表scic硬盘
, M2 u* x! }7 y Y& V# ` ' Q, k/ C R3 N1 o
2 n! M1 \% @% a( S% x9 b" y
1 Z3 L8 I8 z$ A因此,需要进行设备访问时候,我们需要进行系统挂载(mount). 那么mount到底能够挂载那些设备呢。 我们可以看一下。( C3 z- ?! T% W" K7 Y
+ m3 X- W( b; h1 `% Z5 g一、mount可以用来挂载什么:8 s% d2 `/ G5 C$ P8 K
/ j: F# E) @, q/ I. l- q9 U- Y& v不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,现在的xp可以支持FAT32,NTFS,现在最新版本的windows 7 引入了新的WinFS文件系统。 而 Linux差不多支持所有的文件系统格式,但一般使用ext2或ext3文件系统。很多用户使用的是windows操作系统,如果想在运行的Linux下访问其它文件系统中的资源的话,就要用Linux mount命令来实现。
6 m4 Z; g, G; h1 f/ c! J; c4 b. n2 D; K( H2 ]
0 S' \* a9 M" j2 e0 U1 L* }二、mount使用格式:
2 Z3 P0 s3 b2 y/ @
@5 @2 z$ o$ g' gmount命令[-参数] [设备名称] [挂载点]2 z1 h5 S$ {& t! Z4 R& r/ {" J
9 F7 v7 J* z8 X) S. |
说明:
7 `' K% K0 E# j* C& P! P$ I! K7 z& A
[挂载点]必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。
9 B5 b+ L9 G1 |) q/ m, ]% r/ O: g) s+ I+ k6 E: Y
[设备名称] 可以是一个分区,一个usb设备,光驱,软盘,网络共享等。6 j# j& f* Q! }
! c; s' \6 f! W5 E) J常见参数说明: | Mount 挂载文件系统使用帮助 | | 参数 | 说明 | | 常见参数: | | -t vfstype | 挂载指定的设备类型:adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiseRFs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, xiafs
/ ?& A& \1 K0 A. _) G. X一般文件类型,可以不需要指定就可以有相同自动检测(adfs, bfs, cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系统),如果探测失败,就将访问/etc/filesystems ,以指定文件系统探测。说明:如果清楚文件系统,最好指定具体类型。探测错误将带来灾难性的。 多个文件系统可以用“,”分割开来$ E- X+ g) x' N" g# i m" f) g
mount -a -t nomsdos,ext
# Q l) C6 Y, Z. {" `' W将挂载fstab文件指定所有的文件系统,除了类型为 msdos 和 ext 的那一些。 , N4 e: C% \4 n7 r$ L' V6 B
常见文件类型 - ext2 linux目前常用的文件系统
- msdos MS-DOS的fat,就是fat16 vfat
- windows98常用的fat32
- nfs 网络文件系统
- smbfs windows共享系统
- iso9660 CD-ROM光盘标准文件系统
- ntfs windows NT/2000/XP的文件系统
- auto 自动检测文件系统
7 D3 M8 o& u" n, z
| | -o options | 指定挂载系统选项:多个选项可以用","分割.某些选项只有在出现在文件 /etc/fstab 中时才有意义。下列选项可以用于任何要挂载的文件系统(但是并非所有文件系统都关心它们,例如,选项 sync 在今天只对 ext2,ext3 和 ufs 有效)
9 w, X7 m) U4 X5 u4 x5 A; C| 选项 | 说明 | | async | 所有对文件系统的 I/O 操作都必须是异步完成的。 | | atime | 每次存取时更新 inode 存取时间。这是默认选项。 | | auto | 可以在使用 -a 选项时被挂载。 | | defaults | 包含以下选项:rw, suid, dev, exec, auto, nouser,async. | | dev | 解析文件系统中的字符设备或块设备。 | | exec | 允许执行二进制文件 | | _netdev | 文件系统居于需要网络连接的设备上,避免断网下,不断挂载耗资源 | | noatime | 不更新文件系统的inode存取时间(提升新闻服务器的速度) | | noauto | 只能被显式地挂载,-a不能使它挂载 | | nodev | 不解析文件系统中的字符设备或块设备 | | noexec | 不允许执行被加载的文件系统中的任何二进制文件 | | nosuid | 不允许set-user-identifier 或set-group-identifier位起作用 | | nouser | 禁止普通的挂载文件系统(默认) | | remount | 试图重新挂载一个已经挂载的文件系统。通常用来改变挂载标记,如由只读挂载改成可读写的。 | | ro | 以只读方式挂载 | | rw | 以读写方式挂载 | | suid | 允许set-user-identifier 或set-group-identifier位起作用 | | sync | 以同步方式进行I/O操作,突然断电不会掉资料,但加重磁盘负担 | | dirsync | 所有对文件系统内目录的更新应当是同步完成的,影响下列系统调用:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename | | user | 允许普通的用户挂载文件系统,挂载者的用户名被写入mtab,从而使他可以再次卸载文件系统。这个选项暗含了选项noexec,nosuid, 以及 nodev. | | users | 允许每个用户挂载卸载文件系统 | | codepage | codepage=XXX代码页 | | iocharset | iocharset=XXX 字符集 | | loop | 挂载回旋设备 经常挂载iso文件用到 | | username | username=user 访问设备的用户名 | | password | password=pass 访问设备的密码 | | 以下参数只对特殊文件系统有用: | | uid/gid | uid=value 和 gid=value 以特殊用户及组 挂载系统 | | ownmask | ownmask=value owner权限的权限掩码 | | othmask | othmask=value othmask权限的权限掩码 | | 不同文件系统所支持的属性不一定系统。可以查找相关资料 | / y1 W0 u- o; W
| | -a | 搜索/etc/fstab文件中满足条件的文件系统,进行挂载操作。6 P) e9 e( d/ p( H% {; ?1 U( Y2 D
格式: mount -a -t type -o options 不需要指定设备/目录 | | -f | 测试mount系统,只检查设备和目录,并不真正挂载文件系统 | | -n | 不把挂载的记录,记录在/etc/mtab 文件中 | | -r | 将文件系统安装为只读,同(-o ro) | | -w | 将文件系统安装为可读写,同(-o rw) | | -L label | 挂载具有指定卷标 label 的分区 | | -w | 将文件系统安装为可读写,同(-o rw) | | -v | 显示详细的挂载进度 | | -l | 列出所有已经挂载的文件系统列表 | | 其它参数: | | --bind | 将文件层次的一部分重新挂载到其他地方.只挂接单一的文件系统,如果目录有其它文件系统,将不能挂载。如果需要都挂载,可以用:--rbind 参数。 e- k5 S. g0 _6 e/ c- c: J! S
mount --bind olddir newdir 2个目录可以访问系统内容 | | --move | 将一个目录移到另外地方,mount --move olddir newdir | | -h | 显示帮助 | | -V | 显示版本 | 3 a9 A4 V( C G. A$ s
/ G4 n8 {" _/ F& o! G& O2 r$ q
) C/ {7 ]5 a8 l+ q5 m' r# H r5 Y/ O+ `
三、常见分区加载方法:
4 `; O* _5 ?+ e
' ~+ d2 n- ?0 X* P2 a0 y- mount挂载iso文件:
4 }; V0 L# Q. P$ I6 O4 t
6 Q2 E& v( ], D3 n( j6 q1 r( e* D+ c! J1 g# \1 E" Y
#mkdir /mnt/iso12 F) i% M, G8 j
! L. P0 T' O4 P% z
#mount –o loop linuxsetup.iso /mnt/iso1
! U6 E( j1 E5 a2 L8 d3 e7 Q: @. C, \7 v" l' `) l# i
在linux 不需要虚拟光驱,就可以直接读取iso文件了。: W+ X5 `# k; W' r1 J: Z
( }7 N; t7 R; W+ f* n; w' V. R- mount挂载光驱系统
& V0 `# Y9 f, t l7 j A
) t9 I, {! `2 ^一般来说CDROM的设备文件是/dev/hdc,使用方法:
+ Q9 Z+ k; V" |! N! I+ _1 ~
% W$ ^- ^& c$ F a#mkdir /mnt/cdrom& G* `3 m* ^2 H0 |
% D# N/ i2 O# q2 o#mount /dev/hdc /mnt/cdrom –o iocharset=cp936
1 B# q! c9 u' J0 }2 N1 _, w) v4 I$ H p; G" A5 Z; Z
默认不指定光驱系统,可以自动搜索得到,将编码指定为中文8 m: J( k+ }5 C# Y0 L; j
( ?0 h( E9 Q3 P
- mount挂载软驱7 n2 d% \! e% ^" u. T, f2 r
9 P7 K, H& A; c7 ~# d* J8 p9 ~" a$ V y, q* ]6 j* R7 ]
# mkdir /mnt/floppy9 [+ c, c8 f& C6 S0 M8 B
* J% C$ o1 t3 R. M }. t+ @
# mount /dev/fd0 /mnt/floppy
) q8 ?: i4 L+ L9 o. q) G5 w/ m5 C4 x( S
默认不指定文件系统,可以自动搜索得到7 z4 Y1 Y8 y4 T% C2 y: z" i$ I
# z* y# {# }- T4 k3 F R- mount挂载windows共享文件(samba)
1 w/ W G. ~$ H& Y
- M# y$ I+ r/ [) y0 ?: k1 v3 N6 _7 L
#mkdir /mnt/winshare( A7 ?( l/ W0 E0 x" W
6 Z( R* d5 j- B6 |) l
#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare. f5 v4 D& y$ |
1 |5 }( ?2 T$ A2 r. T8 K b8 }
指定访问共享的用户名,密码,codepage指定编码与iocharset同意义。这里的windows 系统是中文简体。
2 ~" @& f' s8 e* z
& l. z: i$ p3 H- L/ Ecodepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312
a: Q* U7 l6 l" @: o* j( B0 d" t8 F k) o2 c8 C0 C1 i; b9 J# k$ Q
- mount挂载u盘
& w5 i1 T3 S6 ^4 t 2 @6 u& L2 A8 A9 L
+ n/ U4 |! E0 {如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:
! u* D; @$ p* ?% O% y
( A4 H6 k4 r! J& a3 O& v' h#mkdir /mnt/upan
' ]% h& b! x$ Z0 O
+ i" o: n$ `9 H6 p$ f: r+ T#mount /dev/sda1 /mnt/upan! o2 T# G/ ?1 w2 [
" U" [2 L+ m! ~- {/ L6 _2 O! [
挂载即可。' ^" C! Z; m$ G
3 P: a8 b n7 w* b" j3 M- {6 C- mount挂载nfs系统
: ?* v4 m& Y5 Z! E6 e 7 M4 |" L4 h G; n
/ t, w( e1 v. |8 a8 Z7 }( A与windows共享连接差不多。需要正确配置服务端的nfs服务。然后通过客户端的:showmount -e 192.168.0.30 可以查看连接。
2 O3 W/ |' j0 Y1 B- E! c& h2 _, k- U
mount -t nfs 192.168.0.30:/tmp /mnt/nfs) m5 b; E) r- l& Z& d3 @
6 `7 J+ C% _* H' X$ U' K& l- e- A- umount卸载文件系统) T& W/ f/ E) l/ e
m$ S. b9 N. u; ^5 P5 s. K5 s
. |) L1 c( L& [, Y+ T1 i
umount dir
# Z4 j) z% h- L6 l) S- [
/ G/ r( O+ r5 S8 M2 a3 e. `如上面: umout /mnt/upan或者umount /dev/sda1
5 v2 U$ j' s) }) @1 v, `. @' `) z4 e+ J) [0 Z$ \4 m* R
9 ?6 _% X' r! k1 h) H以上是mount命令使用介绍。其中-o参数最为复杂。 每个不同文件系统所支持参数可能各不相同。如果遇到特殊文件系统。建议查阅相关资料。下一节将说下,与mount 相关的文件:fstab格式。
& y+ Q8 H1 ?$ P ~& ^1 S" R |
|