mount挂载命令使用技巧

mount: 注意:在linux系统上,所有的文件系统必须通过根文件系统的某个分支来访问

根文件系统:根关联到的分区有一定的要求;fhs

其余所有的其他文件系统如果想要被访问,都只能通过“关联”至根文件系统上的某个目录来实现:

挂载:mount 卸载:umount 挂在点:mount_point,即用作为另一个系统访问入口的目录;

mount [option]... [-t fstype] [-o option] device mount_point

命令选项: 只读挂载:-r 读写挂载:-w read and write 被挂载的设备上的文件系统类型: -t ,可省略,此时mount会自动使用blkid命令来判断之; 以卷标的方式制定要挂载的设备:-L label,因此,此时device可省 以uuid的方式挂载设备,一次device可省 [root@localhost ~]# blkid /dev/sdb1 /dev/sdb1: UUID="838ed07a-7ad5-4af9-b120-8c62336c3a5d" TYPE="ext4" [root@localhost ~]# mount -u 838ed07a-7ad5-4af9-b120-8c62336c3a5d /tmp/xxx -a: 自动挂载所有的支持自动挂载的设备(/etc/fstab文件中定义的支持自动挂载的设备); -n:默认情况下,设备挂载与否的改变结果会被保存于/etc/mtab中一份;-n选项用于变动时不更新此文件 示例:# mount -U dea669ee-e769-46d9-86a8-88925a10278b /data/mydata:默认情况下,设备挂载与否的改变会被保存于/etc/mtab中的一份,如果不想更新此文件,可使用-n选项,用于变动时不更新此文件

cat /etc/mtab 追踪当前系统下所有挂载的文件 mount命令: mount device mount_point

挂载选项:-o option

async:异步写入,能获取最好性能的写入,缺点:可能丢失数据 sync : 同步写入,即使用同步i/o,可靠性高,速度有所慢 atime/noatime:文件或目录在被访问时是否更新其访问时间戳:(对于访问非常频繁i/o来讲,此项须关闭能够减少i/o,提快访问速度)

diratime/nodiratime:目录在文件中是否更新其访问时间戳 auto/noauto:此设备是否支持mount -a选项自动挂载

dev/nodev:此设备上是否创建设备文件:

exec/noexec:是否允许执行此文件系统上的程序文件

suid/nosuid:是否支持此设备上的文件使用suid权限;

remount:重新挂载

acl:支持使用lacl #mount -o remount,acl /dev/sdb1 #tune2fs -o acl /dev/nodev 打开acl为默认挂载选项

ro:只读 rw:读写 user/nouser:是否允许普通用户挂载此文件系统 所有挂载选项均未指明时,其默认为" defaults, use default option:rw,suid,dev,exec,auto,nouser,async,and relatime, 另外一个使用技巧: 将某目录绑定至指定目录下,作为临时访问入口: mount --bind 源文件 目标目录 例:将/usr/local 挂载/mnt/下 [root@localhost tmp]# mount --bind /usr/local/ /tmp/ [root@localhost tmp]# ls /usr/local/ bin etc games include lib lib64 libexec sbin share src [root@localhost tmp]# ls tmp bin etc games include lib lib64 libexec sbin share src [root@localhost /]# umount /usr/local/ [root@localhost /]# ls /tmp/ 1mark orbit-gdm vmware-config0 vmware-root-2117547395 ks-script-UQ0B_e pulse-VA9IVBowRMXL VMwareDnD vmware-root-2117940668 ks-script-UQ0B_e.log pulse-YW29q1RHDFtl vmware-mark yum.log mark.txt virtual-mark.E7iX8u vmware-root [root@localhost /]# ls /usr/local/ bin etc games include lib lib64 libexec sbin share src [root@localhost /]# 查看所有已经挂载设备的方法: #mount #cat /etc/mtab #cat /proc/mounts

注意:正在被某进程访问的设备是不可以被卸载的,查看被什么进程占用

lsof mount_point fuser -v mount_point fuser -k 终止正在访问挂载点进程 示例: [root@localhost local]# umount /dev/sdb2 umount: /tmp: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@localhost local]#lsof /dev/sdb2 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 2545 root cwd DIR 8,18 4096 2 /tmp [root@localhost local]# fuser -v /dev/sdb2 [root@localhost local]# fuser -v /tmp/ USER PID ACCESS COMMAND /tmp/: root 2545 ..c.. bash [root@localhost local]# fuser -km /tmp/ (终端将会被直接踢出) /tmp/: 2545c [root@localhost local]# umount /dev/sdb2 [root@localhost local]# remount 和ACL的使用示例:

[root@localhost /]# cd /tmp/1mark/ [root@localhost /]# mount /dev/sdb2 /tmp/1mark [root@localhost 1mark]# ls lost+found [root@localhost 1mark]# mkdir test1 [root@localhost 1mark]# setfacl -m u:mark:rw /tmp/1mark/test1/ setfacl: /tmp/1mark/test1/: Operation not supported [root@localhost 1mark]#mount -o remount,acl /dev/sdb2 [root@localhost 1mark]#setfacl -m u:mark:rw /tmp/1mark/test1/ [root@localhost 1mark]# mount /dev/sdb2 on /tmp/1mark type ext4 (rw,acl) [root@localhost 1mark]# getfacl test1/ 1. file: test1/ 1. owner: root 1. group: root user::rwx user:mark:rw- group::r-x mask::rwx other::r-x

[root@localhost 1mark]# setfacl -x u:mark /tmp/1mark/test1/ 取消 [root@localhost 1mark]# setfacl -x u:mark: /tmp/1mark/test1/ [root@localhost 1mark]# getfacl test1/ 1. file: test1/ 1. owner: root 1. group: root user::rwx group::r-x mask::r-x other::r-x

[root@localhost 1mark]#