如何检查挂载是否为软 NFS

如何检查挂载是否为软 NFS

我正在寻找一个命令来检查 nfs 文件夹是否已软挂载,我的 fstab 是:

10.10.1.3:/home/share3     /home/share3  nfs    soft  0  0

答案1

尽管我可能会使用mount(如walinator 的回答)我自己认为man mount我们应该改掉这个习惯:

   The listing.
          The listing mode is maintained for backward compatibility only.

          For more robust and customizable output  use  findmnt(8),  espe‐
          cially  in  your  scripts.

findmnt命令还提供了更多的灵活性 - 例如,您可以直接通过源或目标查找(无需grep),并仅输出特定于文件系统的选项。比较:

$ mount -t nfs | grep public
192.168.1.127:/c/public on /mnt/nfs/public type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127)

$ findmnt -nM /mnt/nfs/public  -oFS-OPTIONS
rw,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.127,mountvers=3,mountport=3097,mountproto=udp,local_lock=none,addr=192.168.1.127

我认为它(目前)还没有提供直接获取特定选项的值的方法,因此仍然需要grep或。awk

$ findmnt -nM /mnt/nfs/public  -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"
hard

就你的情况而言,

findmnt -nM /home/share3 -oFS-OPTIONS | grep -qE '\bsoft\b' && echo "soft" || echo "hard"

答案2

您可以使用mount命令显示所有坐骑(或查看/etc/mtab),使用grep命令选择特定坐骑,然后使用另一个grep命令进行检查soft

mount | grep /home/share3 | grep -q soft
if [[ $? -eq 0 ]] ; then
    echo "/home/share3 is mounted with 'soft'"
else
    echo "/home/share3 is not mounted with 'soft'"
fi

相关内容