有没有办法在使用mount
命令本身列出现有挂载时防止包含循环设备?
当有几十个环回设备时,筛选输出以找到“真实”的硬件安装是很繁琐的。
当然,我可以使用类似的方法,mount | grep -v squashfs | grep -v loop
但是有没有更好的方法呢?
答案1
mount
mount
没有排除特定文件系统类型的选项,但-t <some-type>
可以单独使用而不指定设备 — 在这种情况下mount
将仅列出给定类型的文件系统。由于-t
开关可以接受多种文件系统类型,因此仅列出“真实”磁盘并忽略其他所有内容(例如,,tmpfs
等)的可能别名可能是(添加标签):squashfs
ramfs
sysfs
-l
mount -l -t ext4,ext3,ext2,ntfs3,ntfs-3g,hfsplus,fat,vfat,exfat
findmnt
正如@ChrisDavies所评论的那样,可以实现相同甚至更多的功能,findmnt
具体如下所述这个答案, 包括-我文件系统类型的反转,例如列出除指定类型之外的所有文件系统(-i
代表反转):
findmnt -it tmpfs,squashfs,fuse.lxcfs,binfmt_misc,hugetlbfs,devtmpfs,proc,sysfs,securityfs,devpts,cgroup,cgroup2,pstore,bpf,autofs,mqueue,rpc_pipefs,debugfs,tracefs,configfs,nfsd,fusectl,fuse.gvfsd-fuse
# same as above but with custom columns, `df` style
findmnt -it tmpfs,squashfs,fuse.lxcfs,binfmt_misc,hugetlbfs,devtmpfs,proc,sysfs,securityfs,devpts,cgroup,cgroup2,pstore,bpf,autofs,mqueue,rpc_pipefs,debugfs,tracefs,configfs,nfsd,fusectl,fuse.gvfsd-fuse -o LABEL,SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
## example output:
# LABEL SOURCE FSTYPE SIZE USED AVAIL USE% TARGET
# rootfs /dev/mmcblk0p2 ext4 57G 38.4G 16.3G 67% /
# boot /dev/mmcblk0p1 vfat 255M 51.7M 203.3M 20% ├─/boot
# ext3 /dev/sda3 ext3 825.5G 721.6G 61.9G 87% ├─/media/usb0
lsblk -f
另一种方法是lsblk -f
生成如下输出:
# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
# sda
# ├─sda1 vfat FAT32 EFI 4860-1E0F
# ├─sda2 hfsplus machfs ee5f1caa-d14b-369f-9f2a-161000514cd9
# └─sda3 ext3 1.0 ext3 e3ad15e9-7640-44f1-af6c-f2d535fcf218 61.9G 87% /media/usb0
# mmcblk0
# ├─mmcblk0p1 vfat FAT32 boot D386-9DE9 203.3M 20% /mnt/mmcblk0p1
# └─mmcblk0p2 ext4 1.0 rootfs 996c1b5f-170b-4f38-a5e0-85eef5acf12c 16.3G 67% /mnt/mmcblk0p2
从上面的输出可以看出,
lsblk -f
与 相比,它具有潜在的优势mount
,findmnt
因为它还显示分区当前尚未安装。
类似地,findmnt
您可以配置您想要的列lsblk
,例如添加总设备大小(SIZE
)、分区类型(PTTYPE
)、uuid(UUID
)、分区 UUID(PARTUUID
):
lsblk -f -o NAME,LABEL,FSTYPE,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT,PTTYPE,UUID,PARTUUID
# NAME LABEL FSTYPE SIZE FSAVAIL FSUSE% MOUNTPOINT PTTYPE UUID PARTUUID
# sda 1.8T gpt
# ├─sda1 EFI vfat 200M gpt 4860-1E0F b88cc4b9-4c97-4370-9cc7-ce084f43efc9
# ├─sda2 machfs hfsplus 1T gpt ee5f1caa-d14b-369f-9f2a-161000514cd9 d8ca0df7-e060-4bcc-84a6-b014441cf5f4
# └─sda3 ext3 ext3 838.8G 61.9G 87% /media/usb0 gpt e3ad15e9-7640-44f1-af6c-f2d535fcf218 272d223e-3eb5-4cd1-be54-81924a16db82
# mmcblk0 58.2G dos
# ├─mmcblk0p1 boot vfat 256M 203.3M 20% /mnt/mmcblk0p1 dos D386-9DE9 cd6fc030-01
# └─mmcblk0p2 rootfs ext4 58G 16.3G 67% /mnt/mmcblk0p2 dos 996c1b5f-170b-4f38-a5e0-85eef5acf12c cd6fc030-02