云网牛站
所在位置:首页 > Linux命令 > 使用mount和umount命令在Linux中挂载和卸载文件系统/分区

使用mount和umount命令在Linux中挂载和卸载文件系统/分区

2020-07-11 15:37:23作者:李群稿源:云网牛站

本文的内容有:什么是mount命令?什么是umount命令?如何列出已挂载的文件系统、如何挂载文件系统、如何重新挂载文件系统的说明、如何在系统启动时挂载文件系统的说明、如何安装USB驱动器、如何挂载CD/DVD-ROM、如何在Linux中挂载ISO映像、如何挂载NFS共享、如何卸载文件系统及如何卸载过时的NFS装载。通常,必须在Linux系统上挂载文件系统才能访问内容。将新硬盘添加到系统时,可能需要使用fdisk命令或parted命令创建分区。创建分区后,必须使用磁盘空间上的mkfs命令创建文件系统。没有文件系统的Linux系统将无法使用任何磁盘,因为文件系统包含有关文件和目录的信息。完成上述步骤后,可以使用mount命令将分区(目录)安装到安装点。挂载和卸载程序在“/etc/mtab”文件中维护当前已挂载文件系统的列表。

使用mount和umount命令在Linux中挂载和卸载文件系统/分区

 

什么是mount命令?

mount命令用于将文件系统和可移动设备(例如CDRM、DVD、USB闪存驱动器)附加(安装)到目录树中的特定安装点。

系统引导时,“/etc/fstab”文件中所有提及的文件系统将自动挂载。

挂载文件系统的一般语法:

mount -[options] [device_name] [mount_directory]

mount [-t file_system_type] [-o mount_options] [device_name] [mount_point]

以下是挂载文件系统时可以使用的一些选项:

defaults:您可能已经看到,大多数已安装的文件系统在“/etc/fstab”文件中都有默认选项,此默认选项在装入的文件系统中使用以下选项,例如rw、suid、dev、exec、auto、nouser、async和relaime。

ro:以只读方式挂载文件系统。

rw:以读写方式挂载文件系统。

async:文件系统的所有I/O应该异步完成(默认使用)。

noauto:系统启动时,不会自动挂载在/etc/fstab文件中使用noauto选项设置的文件系统。

noexec:禁止在已加载的文件系统上执行任何二进制文件。

nosuid:忽略文件系统中的set-user-identifier(SUID)或set-group-identifier(SGID)位。

nodev:不要解释字符或阻止文件系统上的特殊设备。

_netdev:这仅在启用网络后才允许系统挂载文件系统。

remount:这将重新安装一个已经挂载的文件系统,这通常用于合并您在文件系统上所做的更改。

参考:mount命令_Linux mount命令使用详解:用于加载文件系统到指定的加载点

 

什么是umount命令?

umount命令用于在Linux和其他类似Unix的操作系统上手动卸载(分离)文件系统。

系统关闭时,所有已挂载的文件系统都会自动卸载。

卸载文件系统并不总是成功,最常见的问题是文件系统正忙,某些进程当前正在使用它。

如果是这样,则应终止该过程以卸载文件系统。

参考:umount命令_Linux umount命令使用详解:用于卸载已经加载的文件系统

 

如何列出已挂载的文件系统

当您运行不带任何参数的mount命令时,该命令将显示已挂载的文件系统,包括虚拟文件系统,例如cgroup、tmpfs、devpts、debugfs等。

它用一行显示设备名称,文件系统类型,安装点名称和安装选项。

如下:

# mount

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1928468k,nr_inodes=482117,mode=755)

securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)

tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,seclabel)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)

cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)

cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)

cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)

cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)

cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)

cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)

cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)

cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)

cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)

cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)

cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)

configfs on /sys/kernel/config type configfs (rw,relatime)

/dev/mapper/vg_root-lv_root on / type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12557)

debugfs on /sys/kernel/debug type debugfs (rw,relatime)

hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)

mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)

/dev/sda1 on /boot type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var on /var type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_apps on /apps type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_repo on /var/www/html type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_home on /home type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_tmp on /tmp type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_tmp on /var/tmp type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var_log on /var/log type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var_log_audit on /var/log/audit type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_opt on /opt type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)

tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=388060k,mode=700)

将-t选项与mount命令一起使用,仅显示指定的文件系统类型。

例如,要仅打印“xfs”分区,请使用以下命令:

# mount -t xfs

/dev/mapper/vg_root-lv_root on / type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/sda1 on /boot type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var on /var type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_apps on /apps type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_repo on /var/www/html type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_home on /home type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_tmp on /tmp type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_tmp on /var/tmp type xfs (rw,nosuid,nodev,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var_log on /var/log type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_var_log_audit on /var/log/audit type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg_root-lv_opt on /opt type xfs (rw,noatime,nodiratime,seclabel,attr2,inode64,noquota)

 

如何挂载文件系统

在大多数Linux操作系统上已经可以使用mount命令,确定安装点后,继续安装文件系统,为此,请使用以下格式:

mount -[options] [device_name] [mount_directory]

例如,要将“/dev/sdb1”文件系统挂载到“/backup”目录,请使用以下命令:

# mount /dev/sdb1 /backup

请注意,在挂载具有通用文件系统(例如ext4或xfs)的设备时,无需指定文件系统类型,因为mount命令会自动检测文件系统类型。

例如,当您在基于RHEL 7/8的系统上运行mount命令时,它将使用xfs挂载文件系统,同时,它在基于Ubuntu的系统上使用ext4挂载文件系统。

当您要使用特定文件系统挂载设备时,可以通过mount命令使用“-t”选项指定文件系统类型。

另外,如果要使用多个安装选项来安装文件系统,请在mount命令中使用“-o”选项。

 

如何重新挂载文件系统的说明

这通常用于合并您在文件系统上所做的更改,而不会中断当前的运行时进程。

例如,您可以使用以下命令在“/app”文件系统上启用“acl”选项:

# mount -o remount,acl /app

请参阅以下文章以在Linux上启用ACL:

https://www.2daygeek.com/how-to-configure-access-control-lists-acls-setfacl-getfacl-linux/

 

如何在系统启动时挂载文件系统的说明

如果要在系统启动时挂载任何文件系统,则必须在“/etc/fstab”文件中添加特定的文件系统信息。

请参阅以下文章以了解/etc/fstab文件:

https://www.2daygeek.com/understanding-linux-etc-fstab-file/

Linux系统在引导时会自动挂载“/etc/fstab”文件中包含的文件系统。

 

如何安装USB驱动器

大多数现代Linux发行版都自动安装USB驱动器,您可以使用df命令获得详细信息,如下所示。

但是有时候,如果您的系统无法识别USB驱动器,则可能需要按照以下步骤手动安装它们:

df -h

使用mount和umount命令在Linux中挂载和卸载文件系统/分区

为此,您需要标识文件系统类型,这可以在fdisk命令的帮助下找到:

# fdisk -l

创建一个目录以安装USB驱动器,建议您创建以下目录:

# mkdir /media/usb

假设USB驱动器使用/dev/sdb2设备,则可以使用bleow命令安装它:

# mount /dev/sdb2 /media/usb

 

如何挂载CD/DVD-ROM

插入DVD后,运行blkid命令以找到正确的CD/DVD块设备:

# blkid

创建一个目录来安装CD/DVD驱动器,我建议您创建以下目录:

# mkdir /media/dvdrom

最终如下所示安装CD/DVD-ROM:

# mount /dev/sr0 /media/dvdrom

OR

# mount /dev/cdrom /media/dvdrom

mount: /media/dvdrom: WARNING: device write-protected, mounted read-only.

 

如何在Linux中挂载ISO映像

您可以使用循环设备挂载ISO文件,循环设备是使文件可作为块设备访问的伪设备。

创建一个安装点:

# mkdir /media/iso

最后,使用以下命令挂载ISO文件,确保将“/path/to/image.iso”替换为ISO文件的路径:

# mount /path/to/image.iso /media/iso -o loop

 

如何挂载NFS共享

确保您已经在计算机上安装了NFS客户端软件包,我假设您已经安装了NFS并启动了必要的服务。

运行以下命令,为您检查可用共享:

# showmount -e 192.168.1.101

Export list for 192.168.0.100:

/test_nfsshare 192.168.0.101

创建一个挂载点以挂载nfs共享:

# mkdir /mnt/nfs

您可以运行以下命令在系统上临时挂载nfs共享:

# mount -t nfs 192.168.1.101:/test_nfsshare /mnt/nfs

通常,您不会将NFS共享用作临时挂载,因此请将以下行添加到“/etc/fstab”文件中,以便在引导时加载nfs共享(用于永久挂载):

# vi /etc/fstab

192.168.1.101:/test_nfsshare /mnt/nfs nfs defaults 0 0

注:

Remote_Server_IP–192.168.1.101。

NFS共享名称–/test_nfsshare。

本地挂载点–/mnt/nfs。

 

如何卸载文件系统

您无需使用任何参数即可卸载(删除)文件系统,要删除文件系统,请在umount命令之后使用安装点名称或设备名称:

# umount /backup

umount: /backup: target is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

如果文件系统被任何进程使用,则将无法卸载(分离)文件系统,这是卸载文件系统时最常见的原因,您可以使用fuser命令或lsof命令来查找正在访问文件系统的进程:

# fuser -cu /backup

or

# lsof | grep /backup

如果有任何进程使用文件系统,则可以使用fuser命令杀死安装点中的所有进程:

# fuser -ck /backup

最后,您可以卸载文件系统:

# umount /backup

附:强制卸载文件系统的说明

我不建议使用此选项,因为它可能会损坏文件系统中的数据,如果没有其他选择,请使用此选项。

 

如何卸载过时的NFS装载

您可以通过以下步骤卸载在网络断开后无法通过“device is busy”卸载的过时的NFS装载。

逐一运行以下命令,我可以确定其中一个命令可以卸载过时的nfs共享:

# mount -t nfs -o remount /nfs-share

# umount /nfs-share

# umount -f /nfs-share

# umount -l /nfs-share

# umount -lf /nfs-share

 

相关主题

Linux入门记录二:硬件概念fdisk分区工具文件系统及文件挂载管理

Linux命令子频道
精选文章
热门文章