Linux每日命令Linux我用 Linux

mount,umount命令详解

2019-05-21  本文已影响2人  快乐程序员

mount:用于挂载Linux系统外的文件

语法:

mount [-hV]

mount -a [-fFnrsvw] [-t vfstype]

mount [-fnrsvw] [-t vfstype] [-o options] 设备 挂载点

参数:

-V:显示程序版本

-h:显示辅助讯息

-v:显示较讯息,通常和 -f 用来除错。

-a:将 /etc/fstab 中定义的所有档案系统挂上。

-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。

-f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。

-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。

-s-r:等于 -o ro

-w:等于 -o rw

-L:将含有特定标签的硬盘分割挂上。

-U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。

-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。

-o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。

-o sync:在同步模式下执行。

-o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。

-o auto、-o noauto:打开/关闭自动挂上模式。

-o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.

-o dev、-o nodev-o exec、-o noexec允许执行档被执行。

-o suid、-o nosuid:允许执行档在 root 权限下执行。

-o user、-o nouser:使用者可以执行 mount/umount 的动作。

-o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。

-o ro:用唯读模式挂上。

-o rw:用可读写模式挂上。

-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

使用实例:

实例1:将 /dev/hda1 挂在 /mnt 之下。

命令:

mount /dev/hda1 /mnt

实例2:查看系统中已经挂载的文件系统,注意有虚拟文件系统

命令:

mount

输出:

说明:

将/dev/vda1 分区挂 载到 / 目录,文件系统是ext4,权限是读写

实例3:挂载光盘

命令:

mkdir  /mnt/cdrom/

mount  /dev/cdrom  /mnt/cdrom/

实例4:挂载U盘

挂载 U 盘和挂载光盘的方式是一样的,只不过光盘的设备文件名是固定的(/dev/sr0 或 /dev/cdrom),而 U 盘的设备文件名是在插入 U 盘后系统自动分配的。因为U盘使用的是硬盘的设备文件名,而每台服务器上插入的硬盘数量和分区方式都是不一样的,所以 U 盘的设备号需要单独检测与分配,以免和硬盘的设备文件名产生冲突。U 盘的设备文件名是系统自动分配的,我们只要查找出来然后挂载可以了。

首先把 U 盘插入 Linux 系统中(注意:如果是虚拟机,则需要先把鼠标点入虚拟机再插入 U 盘),然后就可以使用 fdisk 命令查看 U 盘的设备文件名了。命令如下:

命令:

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5GB, 21474836480 bytes

#系统硬盘

…省略部分输出…

Disk/dev/sdb: 8022 MB, 8022654976 bytes

#这就是识别的U盘,大小为8GB

94 heads, 14 sectors/track, 11906 cylinders

Units = cylinders of 1316 * 512 = 673792 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Device Boot Start End Blocks Id System

/dev/sdb1 1 11907 7834608 b W95 FAT32

#系统给U盘分配的设备文件名

#查看到 U 盘的设备文件名,接下来就要创建挂载点了。命令如下:

[root@localhost ~]# mkdir /mnt/usb

[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/

# 挂载U盘。因为是Windows分区,所以是vfat文件系统格式

[root@localhost ~]# cd /mnt/usb/

#去挂载点访问U盘数据

[root@localhost usb]# ls

#输出为乱码

#之所以出现乱码,是因为编码格式不同

# 之所以出现乱码,是因为 U 盘是 Windows 中保存的数据,

# 而 Windows 中的中文编码格式和 Linux 中的不一致,

# 只需在挂载的时候指定正确的编码格式就可以解决乱码问题,命令如下:

[root@localhost ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/

#挂载U盘,指定中文编码格式为UTF-8

[root@localhost ~]# cd /mnt/usb/

[root@localhost usb]# ls

1111111年度总结及计划表.xls ZsyqlHL7osKSPBoGshZBr6.mp4 协议书

12月21日.doc 恭喜发财(定).mp4 新年VCR(定).mp4

#可以正确地查看中文了

umount:可卸除目前挂在Linux目录中的文件系统

语法:

umount [-ahnrvV] [-t <文件系统类型>] [文件系统]

参数:

-a 卸除/etc/mtab中记录的所有文件系统。

-h 显示帮助。

-n 卸除时不要将信息存入/etc/mtab文件中。

-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。

-t<文件系统类型> 仅卸除选项中所指定的文件系统。

-v 执行时显示详细的信息。

-V 显示版本信息。

实例:

umount-v /dev/sda1       #通过设备名卸载  /dev/sda1 umounted

umount-v /mnt/mymount/   #通过挂载点卸载  /tmp/diskboot.img umounted

观注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!

上一篇下一篇

猜你喜欢

热点阅读