【发布时间】:2020-03-01 02:35:39
【问题描述】:
stat 系统调用 (man 2 stat) 返回包含该文件的设备的 ID。
在脚本中,这个 ID 可以通过,比如说
perl -e 'print((stat "/tmp/blah.txt")[0])'
给定ID,如何获取磁盘名称,如/dev/sda2或/dev/disk1s1?
我想在脚本(bash、perl 等)中执行此操作,最好以可移植的方式进行,以便它在 MacOS 和 Linux 上都能可靠地工作。
【问题讨论】:
-
warn的用法很有趣。为什么不print?射击,为什么 perl 而不是stat(1):stat -c '%d' /tmp -
@Shawn 可移植性可能吗? macos有stat吗?
-
@ogizismail stat 不是 posix 命令吗?而且我记得看到一些关于苹果如何从操作系统中删除脚本语言的事情......
-
@Shawn 不,不是,它带有 GNU coreutils。您可以搜索标准here。 从操作系统中删除脚本语言真的吗?
-
@oguzismail 真的。 developer.apple.com/documentation/macos_release_notes/…
标签: bash macos filesystems disk stat