我曾经mount显示已安装的驱动器,我不想看到不太有趣的驱动器(即非物理驱动器)。所以我曾经有一个脚本mnt:
mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts) '
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 8.04 下,只显示我ext3和reiserfs挂载点。该行实际上已被注释掉,现在我使用(对于 Ubuntu 12.04):
mount | grep -Ev 'type (proc|sysfs|tmpfs|devpts|debugfs|rpc_pipefs|nfsd|securityfs|fusectl|devtmpfs) '
Run Code Online (Sandbox Code Playgroud)
只显示我的ext4和zfs分区(我放弃了使用reiserfs)。
现在我正在为 Ubuntu 14.04 做准备,脚本必须再次扩展(cgroup,pstore)。有没有更好的方法来做到这一点而不必扩展脚本?我只对安装和安装网络驱动器 ( nfs, cifs) 的物理磁盘感兴趣。
我正在寻找一种快速方法来查找包含给定 FILE 的文件系统的挂载点。有什么比我下面的解决方案更简单或更直接的吗?
df -h FILE |tail -1 | awk -F% '{print $NF}' | tr -d ' '
Run Code Online (Sandbox Code Playgroud)
一个类似的问题“是否有命令可以查看磁盘的安装位置? ”使用当前磁盘的设备节点作为输入,而不是磁盘中的任意文件......
如何在已知文件系统标签的情况下获取分区设备名称和挂载点?
有几种可能:
可以通过以下方式获取设备名称blkid:
blkid -l -o device -t LABEL="$label" -c /dev/null
Run Code Online (Sandbox Code Playgroud)
我尝试使用 获取挂载点blkid,但失败了。使用-s
开关可以在提供标签时查询所有其他字段:
blkid -l -t LABEL="$label" -o value -s LABEL # yields label
blkid -l -t LABEL="$label" -o value -s TYPE # yields partition type
blkid -l -t LABEL="$label" -o value -s UUID # yields UUID
blkid -l -t LABEL="$label" -o value -s MOUNTPOINT # yields nothing
Run Code Online (Sandbox Code Playgroud)
显然不支持获取挂载点,尽管在-o list给出选项时列出了它,但不是以易于解析的方式:
blkid -o list -c /dev/null <device>
Run Code Online (Sandbox Code Playgroud)
下一次尝试是使用df -P …
filesystems ×3
mount ×3
block-device ×1
command-line ×1
freebsd ×1
linux ×1
posix ×1
shell ×1
solaris ×1