在本教程中,我将向您展示列出 Linux 上已安装驱动器的不同方法。我们可以使用 mount、findmnt 和 df 命令列出任何 Linux 发行版(如 Ubuntu 或 Centos)已安装的设备。
在 Linux 中,mount command挂载一个存储设备或文件系统,让我们通过可以显示所有这些挂载的命令。
1) 使用 cat 命令从 /proc 列出
要列出挂载点,您可以读取文件 /proc/mounts 的内容。
在以下示例中,我使用cat 命令读取/proc/mounts 文件:
$ cat /proc/mounts
输出:
$ cat /proc/mounts
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=101468k,mode=755 0 0
/dev/xvda1 / ext4 rw,relatime,discard,data=ordered 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
lxcfs /var/lib/lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0
tmpfs /run/user/76547979 tmpfs rw,nosuid,nodev,relatime,size=101468k,mode=700,uid=76547979,gid=76546561 0 0
~$ cat /proc/self/mounts
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=101468k,mode=755 0 0
/dev/xvda1 / ext4 rw,relatime,discard,data=ordered 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
lxcfs /var/lib/lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0
tmpfs /run/user/76547979 tmpfs rw,nosuid,nodev,relatime,size=101468k,mode=700,uid=76547979,gid=76546561 0 0
2) 使用挂载命令
您可以使用mount 命令列出挂载点。当您运行不带任何选项的 mount 命令时,它将列出安装点。
$ mount
样本输出
~$ mount
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=101468k,mode=755)
/dev/xvda1 on / type ext4 (rw,relatime,discard,data=ordered)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)
tmpfs on /run/user/76547979 type tmpfs (rw,nosuid,nodev,relatime,size=101468k,mode=700,uid=76547979,gid=76546561)
You may also use mount -l command which will list all mounted filesystem with labels.
$ mount -l
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=101468k,mode=755)
/dev/xvda1 on / type ext4 (rw,relatime,discard,data=ordered) [cloudimg-rootfs]
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)
tmpfs on /run/user/76547979 type tmpfs (rw,nosuid,nodev,relatime,size=101468k,mode=700,uid=76547979,gid=76546561)
3) 使用 df 命令
您可以使用df 命令列出挂载点。
以下命令显示dfwith-aTh选项的输出:
$ df -aTh
Filesystem Type Size Used Avail Use% Mounted on
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
udev devtmpfs 488M 0 488M 0% /dev
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 100M 11M 89M 11% /run
/dev/xvda1 ext4 7.7G 3.1G 4.7G 40% /
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 496M 0 496M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore pstore 0 0 0 - /sys/fs/pstore
cgroup cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
cgroup cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup cgroup 0 0 0 - /sys/fs/cgroup/devices
systemd-1 - - - - - /proc/sys/fs/binfmt_misc
debugfs debugfs 0 0 0 - /sys/kernel/debug
mqueue mqueue 0 0 0 - /dev/mqueue
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
fusectl fusectl 0 0 0 - /sys/fs/fuse/connections
lxcfs fuse.lxcfs 0 0 0 - /var/lib/lxcfs
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
tracefs - - - - - /sys/kernel/debug/tracing
tmpfs tmpfs 100M 0 100M 0% /run/user/76547979
您可以使用-t后跟文件系统类型(例如 ext3、ext4、nfs)来显示相应的挂载点。例如下面的 df 命令显示所有NFS 挂载点。
# df -HP -t nfs
4 ) 使用 findmnt
Findmnt是查找挂载文件系统的强大工具。该命令带有许多选项来列出挂载文件系统。
以下命令打印所有已挂载的文件系统:
$ findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/xvda1 ext4 rw,relatime,discard,data=ordered
├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup tmpfs tmpfs ro,nosuid,nodev,noexec,mode=755
│ │ ├─/sys/fs/cgroup/systemd cgroup cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd
│ │ ├─/sys/fs/cgroup/pids cgroup cgroup rw,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio
│ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct
│ │ ├─/sys/fs/cgroup/cpuset cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/freezer cgroup cgroup rw,nosuid,nodev,noexec,relatime,freezer
│ │ ├─/sys/fs/cgroup/hugetlb cgroup cgroup rw,nosuid,nodev,noexec,relatime,hugetlb
│ │ ├─/sys/fs/cgroup/blkio cgroup cgroup rw,nosuid,nodev,noexec,relatime,blkio
│ │ ├─/sys/fs/cgroup/memory cgroup cgroup rw,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/perf_event cgroup cgroup rw,nosuid,nodev,noexec,relatime,perf_event
│ │ └─/sys/fs/cgroup/devices cgroup cgroup rw,nosuid,nodev,noexec,relatime,devices
│ ├─/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/debug debugfs debugfs rw,relatime
│ │ └─/sys/kernel/debug/tracing tracefs tracefs rw,relatime
│ └─/sys/fs/fuse/connections fusectl fusectl rw,relatime
├─/proc proc proc rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct
│ └─/proc/sys/fs/binfmt_misc binfmt_misc binfmt_misc rw,relatime
├─/dev udev devtmpfs rw,nosuid,relatime,size=499356k,nr_inodes=124839,mode=755
│ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/shm tmpfs tmpfs rw,nosuid,nodev
│ ├─/dev/mqueue mqueue mqueue rw,relatime
│ └─/dev/hugepages hugetlbfs hugetlbfs rw,relatime
├─/run tmpfs tmpfs rw,nosuid,noexec,relatime,size=101468k,mode=755
│ ├─/run/lock tmpfs tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k
│ └─/run/user/76547979 tmpfs tmpfs rw,nosuid,nodev,relatime,size=101468k,mode=700,uid=76547979,gid=76546561
└─/var/lib/lxcfs lxcfs fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other
按特定文件系统类型打印挂载点:
$ findmnt -t ext4
TARGET SOURCE FSTYPE OPTIONS
/ /dev/xvda1 ext4 rw,relatime,discard,data=ordered
搜索并列出 fstab 内容:
$ findmnt -s
TARGET SOURCE FSTYPE OPTIONS
/ UUID=8381d3a3-3fc5-4d8d-be90-a14e1b544f30 ext4 rw,relatime
/boot UUID=62d65abc-2ac6-4a88-bea9-88e3bdbad78b ext4 rw,relatime
/boot/efi
UUID=0A97-B463 vfat rw,relatime,fmask=0022,d
/data UUID=3d9e0919-49bd-4a5a-89ef-71298e966480 ext4 rw,user,x-gvfs-show,nosu
none UUID=5235c184-06f5-45b6-918c-87b35b05395f swap defaults
显示所有 /etc/fstab 文件并将 LABEL= 和 UUID= 标签转换为真实设备名称:
$ findmnt --fstab --evaluate
TARGET SOURCE FSTYPE OPTIONS
/ /dev/nvme0n1p3 ext4 rw,relatime
/boot /dev/nvme0n1p2 ext4 rw,relatime
/boot/efi
/dev/nvme0n1p1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,ioch
/data /dev/nvme0n1p4 ext4 rw,user,x-gvfs-show,nosuid,nofail
none /dev/nvme0n1p5 swap defaults