Files
kernel_Notes/Zim/Utils/mount.txt
2012-08-08 15:17:56 +08:00

172 lines
6.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Content-Type: text/x-zim-wiki
Wiki-Format: zim 0.4
Creation-Date: 2011-11-01T15:03:36+08:00
====== mount ======
Created Tuesday 01 November 2011
格式mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
__-a __安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount作出检查设备和目录的样子但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
__-r __讲文件系统安装为只读。
-v 详细显示安装信息。
__-w __将文件系统安装为可写为命令默认情况。
-t <文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos MS-DOS的fat就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT/2000/XP的文件系统
__auto__ 自动检测文件系统
-o <选项> 指定挂载文件系统时的选项, 多个选项用逗号分割,有些也可写到在/etc/fstab中。常用的有
defaults 使用所有选项的默认值auto、nouser、rw、suid
auto/noauto 允许/不允许以 a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许__执行__二进制代码
suid/nosuid 确认/不确认 suid和sgid位
user /nouser 允许/不允许__一般用户__挂载 (一般把这个选项写在**fstab**中,而不是自己手动挂载的情况)
codepage=XXX 代码页
__iocharset__=XXX 字符集
ro 以只读方式挂载
rw 以读写方式挂载 (这两个选项只能说明被挂载文件系统有读写*能力*,但具体能否读写取决于目录的权限)
umask=000 __挂载目录及文件系统中所有文件的读写权限的掩码(忽略文件或目录的原始权限)__
__remount__ 重新安装已经安装了的文件系统
__loop__ 挂载“回旋设备”以及“ISO镜像文件”
需要注意的是挂载点必须是一个已经存在的目录这个目录可以不为空但挂载后这个目录下以前的内容将不可用umount以后会恢复正常。使用多个-o参数的时候-o 只用一次,参数之间用半角逗号隔开:
# mount o remount,rw /
例如要挂载windows下文件系统为FAT32的D盘一般而言在Linux下这个分区对应/dev/hda5根据具体的分区情况会有不同这里就以hda5来举例说明
# mkdir /mnt/hda5 //创建hda5的目录作为挂载点位置和目录名可自定义
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言Linux会**自动探测**分区的文件系统,除非让你指定时,否则-t vfat 可以省掉。
# mount /dev/hda5 /mnt/hda5
这样就可以进入/mnt/hda5目录去访问分区中的资源了。
3. 为什么mount上分区后显示不了中文文件为问号/乱码?
显示问号表明你的系统中没有可识别使用的中文字体请先安装中文字体。确保你的系统已经可以很好的显示中文。显示为乱码一般是mount默认使用的文件系统编码和文件系统中文件的实际编码不一致造成的。要想正常显示中文文件mount时需要用到 -o 参数里的codepage和iocharset选项。codepage指定文件系统的代码页简体中文中文代码是936iocharset指定字符集简体中文一般用__cp936或gb2312或utf8__。
# mount o iocharset=__gb2312__ codepage=936 /dev/hda5 /mnt/hda5
一般来说 mount o iocharset=__cp936__ /dev/hda5 /mnt/hda5 就可以解决问题了。
如果这样做了以后还有问题请尝试UTF-8编码
# mount o iocharset=__utf8 __/dev/hda5 /mnt/hda5
4. 为什么mount上去以后分区普通用户不可写
mount时加上 o __umask=000 __即可
# mount o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
5. 为什么mount上去后的分区中的文件都变成短文件名了
这是文件系统挂错的原因将FAT32挂载成FAT16时就会出现这种情况先umount然后用 t vfat 重新挂载即可解决问题。
# mount t vat /dev/hda5 /mnt/hda5
7. 如何挂载U盘和mp3
如果计算机没有其它SCSI设备和usb外设的情况下插入的U盘的设备路径是 /dev/sda1用命令
# mkdir /mnt/u
# mount /dev/sda1 /mnt/u
挂载即可。
8. 可以直接使用iso文件吗
可以就是mount的这一选项使得Linux下有免费虚拟光驱的说法具体用法是
# mkdir /mnt/iso
# mount __o loop linux.iso__ /mnt/iso
当然,挂载以后挂载点/mnt/iso也是只读的。
12. 如何开机自动挂载分区?
每次挂载都要输入那么长的命令的确是繁琐了些,只要将分区信息写到/etc/fstab文件中即可实现系统启动的自动挂载例如对于/dev/hda5的自动挂载添加如下的行即可
/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
13. 如何挂载samba 分区?
# mkdir /mnt/share
# mount -t **smbfs** -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share
如果中文显示不正常请尝试UTF-8编码。当然可以写到fstab中实现自动挂载。
14. mount --bind是什么意思
mount --bind 是**将一个目录中的内容挂载到另一个目录上newdir中的原始文件暂时不能访问直到umount /newdir**,用法是
# mount --bind olddir newdir
这个命令使得自己搭建的FTP要共享某个目录的时候变得特别方便。, 可以用下个命令取消这种绑定:
#umount newdir
15. mount --move是什么意思
mount --move 是将一个目录中的内容
# mount --move olddir newdir 即可。
如果mount --bind 也想写入fstab中的话格式如下
olddir newdir __none__ __bind__ 0 0
我是要找这个方法的,终于让我找到了
16. 为什么umount的时候老显示 device busy
这是因为有程序正在访问这个设备最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备如果用户不急着umount则可以用:
# umount -l /mnt/hda5
来卸载设备。选项 l 并不是马上umount而是在该目录空闲后再umount。还可以先用命令 ps aux 来查看占用设备的程序PID然后用命令kill来杀死占用设备的进程这样就umount的非常放心了。