如何确定一个目录是否是在shell脚本中挂载的NFS挂载点

23
我想编写一个sh/bash脚本,可以确定特定目录是否是NFS文件系统的挂载点。
例如:
$ mkdir localdir
$ mkdir remotedir
$ mount host:/share ./remotedir
$ classify_dirs.sh
 -->  localdir is local
 -->  remotedir is an NFS mount point
1个回答

46

这个问题实际上是如何使用Perl判断文件是否在远程文件系统中的副本。

简短的答案是使用stat命令。

例如:

$ stat -f -L -c %T localdir
ext2/ext3
$ stat -f -L -c %T remotedir
nfs

如果一个目录的类型是“nfs”,且其父目录不是,则该目录就是NFS挂载点。

1
当我运行这个程序时,我收到了错误信息“非法选项--c”。自回答发布以来,stat函数是否发生了重大变化? - Dan
1
@Dan,我猜这是Mac和Linux之间的差异。 - nhed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接