Ric*_*mas 6 command-line osx stat darwin
我正在使用运行 El Capitan v 10.11.6 的 Macbook Pro。我正在学习符号链接,在man ln页面中,我发现了以下内容:
符号链接上的 stat(2) 将返回链接到的文件;必须执行 lstat(2) 以获取有关链接的信息。
作为测试,我创建了一个文件的符号链接(在另一个文件系统中,如果重要的话),如下所示:
ln -s /Volumes/foobardir/foobarfile foobarlink
然后我跑去lstat foobarlink获取符号链接文件本身的信息,但我得到了以下输出:
-bash: lstat: command not found
该命令不which lstat返回任何内容,这确认在我的文件路径中没有具有此名称的可执行文件。
我能够执行stat foobarlink,但我不确定返回的统计数据是针对链接文件还是符号链接本身。我确实在该命令的输出中以时间戳形式看到今天的日期,而运行stat foobarfile显示的是几个月前的日期。所以我猜这是我正在寻找的输出,但我想要第二种意见。
顺便说一句,运行which stat返回/usr/bin/stat。一个grep在/usr/bin与所有的可执行文件的目录stat以他们的名义返回以下内容:
如上所述,我的猜测是stat返回我期望返回的输出lstat。我的问题是:
lstat当man lstat识别lstat为有效命令时,为什么显然没有安装在我的系统中?brew search lstat不返回任何结果。是否可以以lstat某种方式安装到我的本地机器上,这样做有什么好处吗?use*_*274 15
BSD 手册的第 1 部分是针对一般命令的。第 2 节是关于系统调用的,即,如果使用该C语言或其派生语言为您的系统进行编程,您可能会进行的函数调用。
括号中的数字表示该条目来自手册的哪个部分。在这种情况下,lstat(2)表示此页面提供有关系统调用的信息,而不是可在命令行执行的独立二进制文件。
如果您键入man lstat,您将看到lstat系统调用的手册页。 stat相比之下,是名两系统调用和一个独立的工具。如果您键入man stat,默认情况下您将获得命令行实用程序的手册页。要查看系统调用手册页,您需要明确说明man要搜索手册的哪个部分:
man 2 stat
Run Code Online (Sandbox Code Playgroud)
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/manpages.5.html是一个(过时的)链接,列出了 BSD 手册的所有部分。这些部分在您的系统上是相同的,但我找不到明确列出这些部分的手册页。
| 归档时间: |
|
| 查看次数: |
5245 次 |
| 最近记录: |