如何查找 ls -l 中的字段含义

如何查找 ls -l 中的字段含义

我的问题不是每个字段的含义,我的问题是如何确定每个字段的含义。

手册页只是简单地指出 -l 使用长列表格式,而没有描述长列表格式的含义。

答案1

在 GNU coreutils 实现的手册页末尾ls(在 Linux 系统和其他一些 Unices 上可以找到):

SEE ALSO
       Full documentation at: <http://www.gnu.org/software/coreutils/ls>
       or available locally via: info '(coreutils) ls invocation'

点击在线手册的链接后,您会看到标有以下内容的部分:“列出了什么信息”,其中更详细地描述了长输出格式。

在大多数其他系统上,该ls手册是独立的,并描述了长格式。例如OpenBSD ls(1) 手册

无论你使用什么 Unix,该ls手册将包含您所需的信息,或者它将引用包含详细信息的相关其他手册或在线文档。如果没有,您应该将其报告为文档错误。


谷歌搜索命令选项的作用是危险的,因为许多命令具有非标准扩展,这些扩展很可能在不同的 Unice 中以不同的方式实现,甚至根据安装的工具版本而有所不同。你想要做的是阅读手册你的系统。

如果手册没有明确地或通过引用其他一些文档来准确描述选项的作用或格式是什么,那么,正如我上面所说,这将被视为文档错误。

答案2

考虑使用该info命令,如 中所示info ls。许多命令在这里有比手册页更详细的文档。在这种情况下,您将在 @Kusalananda 的答案中的链接中获得相同文档的离线版本。您可以用来info -k <search term>搜索信息页面。

查找帮助的另一种方法是apropos <search term>命令,它搜索手册页的标题和描述,以帮助您找到所需的内容。这可以帮助您找到手册页的所有部分,在ls我的系统上,是第 1 部分(默认)和 1p 部分。man 1p ls具有有关输出格式的信息。

答案3

我的ls手册页为我提供了有关长格式的完整信息。我想这在所有系统上都必须相同。向下滚动,也许你会找到你需要的所有信息

长格式

如果-l给出该选项,则为每个文件显示以下信息:文件模式、链接数、所有者名称、组名称、文件中的字节数、缩写月份、上次修改文件的月份日期、文件小时最后修改时间、最后修改分钟文件以及路径名。此外,对于显示其内容的每个目录,该目录中的文件所使用的 512 字节块的总数单独显示在一行中,紧接在该目录中的文件的信息之前。如果文件或目录具有扩展属性,则该-l选项打印的权限字段后跟一个“ @”字符。否则,如果文件或目录具有扩展安全信息(例如访问控制列表),则该-l选项打印的权限字段后跟一个“ +”字符。

如果文件的修改时间在过去或将来超过 6 个月,则将显示上次修改的年份来代替小时和分钟字段。

如果所有者或组名称不是已知的用户或组名称,或者-n给出了该选项,则显示数字 ID。

如果文件是字符特殊文件或块特殊文件,则文件的主设备号和次设备号将显示在大小字段中。如果文件是符号链接,则链接到的文件的路径名前面带有“ ->”。

选项下打印的文件模式-l由条目类型、所有者权限和组权限组成。条目类型字符描述文件的类型,如下:

  • b 块特殊文件。
  • c 字符特殊文件。
  • d 目录。
  • l 符号链接。
  • s 套接字链接。
  • p 先进先出。
  • - 常规文件。

接下来的三个字段各为三个字符:所有者权限、组权限和其他权限。每个字段具有三个字符位置:

  1. 如果r,则文件可读;如果-,则它不可读。
  2. 如果w,则文件可写;如果-,则不可写。
  3. 以下第一项适用:

    • S如果在所有者权限下,该文件不可执行并且设置了set-user-ID模式。如果在组权限下,该文件不可执行并且设置了set-group-ID模式。

    • s如果在所有者权限下,该文件是可执行的并且设置了set-user-ID模式。如果在组权限下,文件是可执行的并且设置了setgroup-ID模式。

    • x文件是可执行的或者目录是可搜索的。

    • -该文件既不可读、可写、可执行,也不是 set-user-ID 或 set-group-ID 模式,也不是粘性的。 (见下文。)

    接下来的两个仅适用于最后一组中的第三个字符(其他权限)。

    • T粘滞位已设置(模式 1000),但未设置执行或搜索权限。 (参见chmod(1)sticky(8)。)

    • t粘滞位已设置(模式 1000),并且是可搜索或可执行的。 (参见chmod(1)sticky(8)。)

相关内容