用于获取当前分区/驱动器安装点路径的命令?

用于获取当前分区/驱动器安装点路径的命令?

是否有一个替代命令可以执行与 相同的操作findmnt -T . -o TARGET |tail -n 1

示例:如果我当前的工作目录是/media/username/HDD/subdir1/subdir2,该命令将输出/media/username/HDD/

在Windows中,当前驱动器/分区的最高目录的路径是\(也/适用于指令),因为 Windows 确实使用驱动器号而不是“一切都是文件”

Unix的工作方式更加统一和模块化,但是如何找到分区的挂载点呢?如果没有比 更短的解findmnt -T . -o TARGET |tail -n 1,那就没有问题。我只是想知道是否有其他方法。

答案1

看看man findmnt我看到一些建议,这些建议似乎可以在查找文件系统的挂载点时满足您的要求:

findmnt --first-only --noheadings --output TARGET --target "$PWD"
/home

或者可读性较差:

findmnt -fno TARGET -T "$PWD"
/home

答案2

如果您只是想自己找到它,而不是为了以后在变量中使用。你不会找到比以下更短的方法df .

$ df . 
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      343650580 232263752  93860660  72% /home

当然,它具有额外的详细信息,因此不能用于直接将设备名称保存到变量中。然而,它很容易解析:

$ df . | grep -Po '^/\S+'
/dev/sda6
$ df . | awk '/^\//{print $1}'
/dev/sda6

但如果你真的想要一个命令来打印它,那么@roaima的findmnt将是最好的。

相关内容