linux mount 命令使用
来源:互联网 发布:matlab subs 矩阵 编辑:程序博客网 时间:2024/05/21 12:47
http://roclinux.cn/?p=743
mount的艺术
在阅读本文之前,我假设你已经对Linux系统下的硬盘、光盘的设备命令规则有所了解,比如sda和sda1的关系,以及hda、sda、fd、cdrom等设备。
===
1 我把U盘插到USB口上了,下一步我该如何做才能查看U盘里的内容?
我不能确定你的Linux系统会不会自动加载。所以,你应该先去/media目录下查看一下,看看是不是已经自动加载上了。如果是的话,应该在/media里有一个目录,名字类似于disk,你进入目录就等于进入你的U盘了。
如果/media没有你想要的东西,那就要自己mount了!
$mkdir /mnt/usb
$mount -t vfat /dev/sda /mnt/usb
这样就可以了,你去/mnt/usb目录看看,应该有你想要的了。如果mount命令不管用,那么你可以将/dev/sda改成/dev/sdb或者/dev/sdc试试!
-t选项用于设定文件系统类型,我假设你的U盘是fat32的。(因为大部分U盘都是这样的)如果是其他文件系统,你可以man mount来查看一下,方法类似。
2 我把光盘放到光驱里了,下一步咋办?
如果系统没有自动加载光驱的话,那么用下面命令一般有效:
$mkdir /mnt/cdrom
$mount -t iso9660 /dev/cdrom /mnt/cdrom
3 我下载了一个pes6.iso文件,我怎么加载iso文件呢?
$mount -o loop pes6.iso /mnt/cdrom
使用-o选项和loop参数即可!
4 我下载了10个iso文件,从fifa2000.iso到fifa2009.iso,但是当我mount到fifa2007.iso时,就提示不让我mount了!怎么解决?
这个涉及到mount -o loop的原理了。你查看一下/dev下的以loop开头的文件,你就会发现:
[rocrocket@wupengchong dev]$ ls /dev/loop*
/dev/loop0 /dev/loop2 /dev/loop4 /dev/loop6
/dev/loop1 /dev/loop3 /dev/loop5 /dev/loop7
这下知道了吧,原来在/dev里只预设了8个加载iso的地方。
解决办法是这样的:
可以先用modinfo命令查看loop信息:
[root@wupengchong ~]# modinfo loop
filename: /lib/modules/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko
alias: block-major-7-*
license: GPL
srcversion: 7595F5D46DFDB4A2D489DDD
depends:
vermagic: 2.6.26.5-45.fc9.i686 SMP mod_unload 686 4KSTACKS
parm: max_loop:Maximum number of loop devices (int)
parm: max_part:Maximum number of partitions per loop device (int)
可以看出max_loop来限制最大loop的数目。而max_part用来设定每个loop的设备所能支持的分区数目。
你还可以看到控制loop的是一个内核模块:/lib/modules/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko。
我们的目标就是修改max_loop值。
$echo “options loop max_loop=20″>>/etc/modprobe.conf
然后就是要重新加载内核模块,这样来做:
[root@wupengchong ~]# modprobe -l|grep loop.ko
/lib/modules/2.6.26.5-45.fc9.i686/kernel/drivers/block/cryptoloop.ko
/lib/modules/2.6.26.5-45.fc9.i686/kernel/drivers/block/loop.ko
[root@wupengchong ~]# modprobe -r loop
[root@wupengchong ~]# modprobe loop
注意modprobe命令的选项-r表示remove,即删除某个模块。
好了,就此我们重新加载了loop模块,你现在再用ls /dev/loop*看看,是不是已经有20个loop设备了。
5 我知道/etc/fstab文件里的内容是开机时加载的所有设备,那么mount能利用这个文件么?
可以利用,你直接执行mount -a就可以了,mount会乖乖的按照/etc/fstab文件的内容来加载所有的设备。
6 我这里有不同的文件系统,我用mount加载时需要注意什么?
需要在mount时加-t来设定文件系统类别:
如果是fat的,就要-t vfat;
如果是linux的ext系统的,就要-t ext或-t ext2或-t ext3,未来会有-t ext4;
如果是光驱,那就是-t iso9660;
如果文件系统是ntfs,那么你可能需要了解一下ntfs-3g这个软件了。
7 我有一个老的三寸软盘,如果mount?
$mount -t vfat /dev/fd0 /mnt/floppy
8 mount除了加载设备,还可以做什么?
mount可以用来装载支持acl的分区。具体可查询mount和acl。
mount可以用来设定ftp登录目录,用–bind参数可以实现。
mount可以设定和修改已加载的文件系统的属性,具体可查看mount的-o参数。
over~
http://man.chinaunix.net/linux/mandrake/101/zh_cn/Command-Line.html/fs-and-mntpoints-mount.html
mount 和 umount 命令
现在,文件系统已经创建成功,您应该挂载分区了。挂载文件系统的命令是mount,其语法是:
mount [选项] <-t 类型> [-o 挂载选项] <设备> <挂载点>
在本例中,我们首先会将分区临时挂载在/mnt (或您选择的任何其它挂载点:请记住,挂载点必须已经存在)。挂载我们新创建的分区的命令是:
$ mount -t ext3 /dev/hdb1 /mnt
-t 选项用于指定分区上文件系统的类型。您最常遇到的文件系统应该是ext2FS(GNU/Linux 文件系统)或ext3FS(改进了日志性能的ext2FS),VFAT(适用于所有DOS/Windows® 分区:FAT 12, 16 or 32)以及ISO9660(CD-ROM 文件系统)。如果您不指定任何类型,mount 将会试着读取分区中的超块来猜测文件系统。
-o 选项用于指定一个或多个挂载选项。可供选择的选项视文件系统类型不同而有所不同。请参看mount(8) 手册页中的细节。
现在,您已经挂载了您的新分区,现在该将整个/usr 目录复制到新分区了:
$ (cd /usr && tar cf - .) | (cd /mnt && tar xpvf -)
文件都已经复制完了,现在可以卸下分区了。要卸下分区,请使用umount 命令。语法很简单:
umount <挂载点|设备>
所以,要卸下我们的新分区,应该输入:
$ umount /mnt
或者:
$ umount /dev/hdb1
有些时候,可能某些设备(通常是CD-ROM)正忙或无法响应。此时,大多数用户的解决办法是重新启动计算机。我们大可不必这么做。例如,如果umount /dev/hdc 失败的话,您可以试试“lazy”umount。语法十分简单:
umount -l <挂载点|设备>
此命令将会断开设备并关闭打开该设备的全部句柄。通常,您可以使用eject <挂载点|设备>命令弹出碟片。所以,如果eject 命令失效而您又不想重新启动,请使用 lazy umount。
由于分区即将成为我们的/usr 目录,我们现在需要通知系统。要完成这一操作,我们应该编辑 /etc/fstab 文件。该文件可使得系统在启动时自动挂载特定的文件系统。组成该文件的每一行分别描述了一组挂载关系,这其中包括文件系统、挂载点以及其它选项。这里是该文件的一个例子:
/dev/hda1 / ext2 defaults 1 1/dev/hda5 /home ext2 defaults 1 2/dev/hda6 swap swap defaults 0 0none /mnt/cdrom supermount dev=/dev/scd0,fs=udf:iso9660,ro,-- 0 0none /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,sync,umask=0 0 0none /proc proc defaults 0 0none /dev/pts devpts mode=0622 0 0
每行都由以下内容组成:
文件系统所在的设备;
挂载点;
文件系统类型;
挂载选项;
dump 工具备份标志;
fsck(文件系统检查(FileSystem ChecK))的检查顺序。
总是有一行说明了根文件系统。swap 分区是一种特殊的分区,因为您无法在树形结构中找到其对应位置,而且这些分区的挂载点域只写着swap 关键字。至于/proc 文件系统,我们会在第 10 章/proc 文件系统中有更详细的描述。另外一种特殊的文件系统是/dev/pts。
在这里,我们需要将整个/usr 层次移至 /dev/hdb1,并且想要在启动时将此分区挂载为/usr。要达到这一目的,应该在 /etc/fstab 文件中添加下面一行:
/dev/hdb1 /usr ext2 defaults 1 2
现在,分区将会在每次启动时自动挂载,并且必要时检查错误。
现在我们来介绍两个特殊选项:noauto 和user。noauto 选项指定了文件系统不应该在启动时挂载,而只应该在您想要挂载的时候才挂载。而user 选项指定了任何用户都可以挂载或卸下文件系统。这两个选项通常用于CD-ROM 和软盘驱动器。有关 /etc/fstab 中其它选项的详情,请您查看fstab(5) 手册页。
使用 /etc/fstab 的好处在于,它将极大简化 mount 命令的语法。要挂载文件中描述的文件系统,您只需要引用挂载点或设备。要挂载软盘,您可以只输入:
$ mount /mnt/floppy
或:
$ mount /dev/fd0
在分区转移这个例子的最后,我们来看看我们都做了什么。我们将/usr 层次复制到了新分区,然后修改了/etc/fstab,这样新分区就会在启动时自动挂载。这样似乎已经大功告成了。且慢,还有一个问题。老/usr 中的文件仍然留在驱动器中原来的地方,我们还需要将它们删除以便腾出空间(这个才是我们最初的目标)。在执行接下来的命令之前,您需要先切换到单用户模式,请在命令行上执行telinit 1 命令。
接下来,我们将会删除/usr 目录中的全部文件。请记住,我们仍然是指“老”目录,因为新的大目录尚未挂载。rm -Rf /usr/*。
最后,我们需要挂载新的/usr 目录:mount /usr/。
这样才是真正完成了我们最初的目标。现在,让我们回到多用户模式中(telinit 3 代表标准的文本模式,telinit 5 代表X Window 系统)。如果没有后续的管理工作要做的话,您就可以从 root 账户注销了。
- linux使用mount命令
- linux mount 命令使用
- Linux mount命令的使用
- Linux中mount命令使用
- Linux Mount 命令的使用(整理)
- 在Linux中mount命令使用实例
- linux使用 mount 命令 挂载光驱
- 点点滴滴 - linux mount 命令使用详解
- mount命令使用详解(Linux)
- 【Linux】mount命令介绍及其使用
- linux中mount命令的使用
- linux mount命令详解
- linux---mount命令
- linux mount命令详解
- Linux中的mount命令
- linux mount命令详解
- Linux mount命令
- linux mount命令详解
- 無形과 有形 (易學原理總論韓長庚)
- 第十七周 体会函数参数传递2
- DB2利用表空间备份重建数据库
- android开发问题集
- UVA - 10718 Bit Mask
- linux mount 命令使用
- 2013年总结(2)-财务收入与支出
- Ribbon 如何设置显示和隐藏
- 多线程第八篇:生产者消费者问题
- 云计算(二十)-Hadoop Streaming
- fzu Problem 2139 久违的月赛之二
- Java设置环境变量
- 6个Java项目UML反向工程工具
- CATransform3D 矩阵变换之立方体旋转实现细节