我可以使用 打印当前目录pwd,但这为我提供了导航到我所在位置的路径。我需要知道当前目录在哪个磁盘/分区上。
例如,如果我创建符号链接user@pc:~$ ln -s /media/HD1 hard_disk,然后导航到~/hard_disk并运行pwd它将打印/home/user/hard_disk.
我想获取我当前所在的实际路径,或者更好的是我当前所在的实际文件系统,它对应于df.
Kus*_*nda 24
pwd -P 将为您提供您所在的物理目录,即已解析符号链接的当前工作目录的路径名。
使用df .将为您df提供当前目录所在的任何分区的输出。
示例(在 OpenBSD 机器上):
$ pwd
/usr/ports
Run Code Online (Sandbox Code Playgroud)
$ pwd -P
/extra/ports
Run Code Online (Sandbox Code Playgroud)
$ df .
Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/sd3a 103196440 55987080 42049540 57% /extra
Run Code Online (Sandbox Code Playgroud)
要从此输出中解析出挂载点,您可以使用类似
$ df -P . | sed -n '$s/[^%]*%[[:blank:]]*//p'
/extra
Run Code Online (Sandbox Code Playgroud)
要解析使用的文件系统设备,请使用
$ df -P . | sed -n '$s/[[:blank:]].*//p'
/dev/sd3a
Run Code Online (Sandbox Code Playgroud)
相信有些Linux系统也支持
findmnt --target .
Run Code Online (Sandbox Code Playgroud)
(--target .可以替换为-T .),或者,为了更简洁的输出,
findmnt --output target --noheadings --target .
Run Code Online (Sandbox Code Playgroud)
(其中--noheadings可能被替换为-n,也--output target可能被替换为-o target)以获取保存当前目录所在文件系统的挂载点。
使用--output source来获取安装设备节点。