gpt4 book ai didi

linux - stat "$somepath"--format '%F' 可以返回哪些可能的值

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:25 25 4
gpt4 key购买 nike

通过反复试验,我发现 stat "$somepath"--format '%F' 可以返回以下值:

  1. 常规文件

  2. 目录

  3. 符号链接(symbolic link)

我希望使用 stat 执行递归目录内容操作,并且希望确保我能够正确识别每种可能的文件类型。硬链接(hard link)的行为似乎与我假设的一样,并且 stat 返回目标类型。

此信息不会出现在我的 man 页面中;它只说:%F 文件类型

(它警告 stat 可能会因 shell 不同而有所不同;如果这种特定用法是可移植的,那就太好了,但我主要关注 bash)

此列表是否完整,并且 stat 是否允许根据执行环境或版本更改在这种情况下生成的文本?

注意:我对 Linux、文件系统或命令不了解,所以我可能错过了一些明显的东西

最佳答案

注意:stat 的输出是基于约定的,不同版本的 stat(来自不同作者和历史使用情况)以及同一 stat 的不同版本可以并且确实返回不同的输出。

我记得在处理文件(YMMV)时实际看到的文件类型是:

  • 常规.* 文件(常规空文件是一个经常被忽视的有趣区别)
  • 目录
  • 符号链接(symbolic link)
  • 先进先出
  • .* 特殊文件
  • socket
  • 信号量
  • 端口
  • .* 内存对象

一般来说,如果您关心文件是什么,那么最好使用您选择的编程语言中的文件处理库,该语言已经经过一些开发才能准确识别文件;使用命令行和脚本并不是一种非常可靠的做事方式

如果您想深入了解,这里有一些主要指向 stat 的 gnu 实现的链接:

GNU Findutils documentation

Old GNU Findutils documentation

Common file types

The man page is fairly uninformative as you suggest

GNU stat related source code

GNU file type related source code

关于linux - stat "$somepath"--format '%F' 可以返回哪些可能的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42689540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com