1.基本用法
mount -t 分区格式 分区位置 加载位置
fat32的分区: mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/c
CDROM: mount -t iso9600 -o iocharset=gb2312,umask=0,codepage=936 /dev/cdrom /mnt/cdrom
iso文件: mount -o loop /abc.iso /mnt/isodir
软盘: mount /dev/fd0 /mnt/floppy
USB闪存: mount /dev/sda1 /mnt/usbdir
查看所有: /etc/fstab内容 mount -a
可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
在Linux下访问硬盘分区的内容,必须先用mount命令将分区加载到Linux的某个目录下才能访问.
先用“fdisk -l”命令(某些版本可能需要用“fdisk -l 硬盘设备名”)查看硬盘分区情况,操作如下:
Example:
mount -t vfat /dev/hda1 /mnt/c(/mnt/c目录必须存在)
mount -rw -t vfat /dev/hda1 /mnt/c
2.扩展
Q: 如何使Windows分区里面的中文文件名(目录名)正确显示?
A:用mount命令加载Windows分区后,中文常显示为“?”号.这是因为发行版自带的内核默认用ISO-8859编码
来处理加载上的Windows分区文件(目录)名,只能处理单字节的英文字体而无法显示双字节的中文字体.
要正确显示,可以用下面的代码加载Windows分区:
$ mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/c
这个命令能让内核以cp936编码处理Windows分区的文件(目录)名,从而正确显示中文文件(目录)名.
还有一个“一劳永逸”的方法,即重新配置内核,在“File systems”-“Native Language Support”-“Default NLS Option”
里填入cp936.重新编译内核后,无需加上-o iocharset=cp936参数也能正确显示.
Q: 如何使用-rw参数加载Windows分区后,只有root用户能够读写,普通用户还是只能读、不能写?
A:直接用mount -rw加载的Windows分区,所有文件对普通用户都只有读权限而没有写权限(但root用户有写权限).要想让
普通用户也能读写,可在mount命令中加上umask=000参数:
$ mount -rw -t vfat -o umask=000,iocharset=cp936 /dev/hda1 /mnt/c
Q: 不编译内核,How to mount ntfs partition ?
A:
1. 上google.com搜索并下载 kernel-ntfs-xxx.rpm
(xxx means linux kernel name: uname -a)
2. rpm -ivh kernel-ntfs-2.4.21-15.i686.rpm
3. mkdir /mnt/c
4. mount -t ntfs /dev/hda1 /mnt/c
或
Read only:
http://linux-ntfs.sourceforge.net/
Read/Write:
http://www.jankratochvil.net/project/captive
Q: mount局域网上其他windows机器共享出的目录
A: mount -t smbfs -o username=guest,password=guest //machine/path localpath
Q: 在vmware的LINUX中使用本地硬盘的FAT分区 ?
A: 将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上.可以将如下的行放到/etc/fstab中:
//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,
codepage=936,iocharest=gb2312 0 0
参数:
win_ip是你的windows的IP地址;
D$是你的windows里面共享的D盘的共享名;
/mnt/d是要将该分区mount到linux的目录;
win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码.
如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区.
Example:
//xxx.xxx.xxx.xxx/C$ /mnt/C smbfs defaults,auto,username=xxx,password=xxxx,
codepage=936,iocharset=gb2312 0 0
Q: /etc/fastab
A:
1. fstab文件的作用
文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过
"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行
中的字段都有空格或tab键分开.同时fsck、mount、umount的等命令都利用该程序.
2. fstab文件格式
下面是/etc/fatab文件的一个示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass /dev/hda1 / ext2 defaults 1 1
fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来
说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述
为/dev/sdaXN.对于NFS情况,格式一般为: hostname.domainname,例如:`knuth.aeb.nl:/.
对于procfs,使用`proc来定义.
fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名
包含空格的情况,用40来表示空格.
fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、
vfat(Windows系统的fat32格式)、NTFS、iso9600等.
fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来.
对于大多数系统使用"defaults"就可以满足需要.其他常见的选项包括:
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却
降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设
置该字段为0
fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0
3. 示例文件
# /etc/fstab
/dev/hda9 swap swap defaults 0 0
/dev/hda1 / ext2 defaults 1 1
/dev/hda5 /home ext2 defaults 1 1
/dev/hda6 /usr ext2 defaults 1 1
/dev/hda7 /usr/local ext2 defaults 1 1
/dev/hda8 /var ext2 defaults 1 1
/dev/hdb /cdrom iso9660 noauto,user 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
Q: FSTAB 最后的配置项里边最后两个数字是什么意思
A: 第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号
1 是root文件系统,2 是别的文件系统.fsck按序号检测磁盘,0表示该文件系统不被检测
dump 执行ext2的文件系统的备份操作
fsck 检测和修复文件系统
Q: 如何临时增加交换空间?
A:
1. 产生一个64M的空文件
#dd if=/dev/zero of=/swapfile bs=1024 count=65536
2. 初始化该文件为交换文件:
mkswap /swapfile 65536
sync
3. 激活这个交换文件:
swapon /swapfile