手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

ls(1)

名称

ls - 列出目录内容

用法概要

/usr/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@] 
     [-/ c | -/v] [-% atime | crtime | ctime | mtime | all]
     [--block-size size] [--color[=when]] [--file-type] 
     [--si] [--time-style style] [file]...
/usr/xpg4/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@] 
     [-/ c | -/v] [-% atime | crtime | ctime | mtime | all]
     [--block-size size] [--color[=when]] [--file-type] 
     [--si] [--time-style style] [file]...
/usr/xpg6/bin/ls [-aAbcCdeEfFghHiklLmnopqrRsStuUwvVx1@] 
     [-/ c | -/v] [-% atime | crtime | ctime | mtime | all]
     [--block-size size] [--color[=when]] [--file-type] 
     [--si] [--time-style style] [file]...

描述

如果 file 是一个目录,则 ls 会列出该目录的内容。如果 file 是一个普通文件,则 ls 会复制其名称和所请求的所有其他信息。缺省情况下,输出按字母顺序排序。如果未给定任何参数,则会列出当前目录 (.)。如果给定了多个参数,则这些参数会先适当进行排序,但是文件参数会显示在目录及其内容之前。

有三种主要列表格式。对于定向到终端的输出,其缺省格式为多列条目,按列纵向排序。–1 选项允许单列输出,而 –m 支持流输出格式。为了确定 –C–x–m 选项的输出格式,ls 会使用环境变量 COLUMNS 确定单个输出行上可用字符位置的数量。如果未设置此变量,则会使用 terminfo(4) 数据库基于环境变量 TERM 来确定列数。如果无法获取此信息,则假定有 80 列。如果使用了 –w 选项,则该参数会覆盖所有其他列宽。

–e–E–g–l–n–o–v–V–@ 选项有效时,输出模式包含十一个字符。第一个字符可以是以下字符之一:

d

该条目是一个目录。

D

该条目是一个门文件。

l

该条目是一个符号链接。

b

该条目是一个块特殊文件。

c

该条目是一个字符特殊文件。

p

该条目是一个 FIFO(或“命名管道”)特殊文件。

P

该条目是一个事件端口。

s

该条目是一个 AF_UNIX 地址族套接字。

该条目是一个普通文件。

后面的 9 个字符解释为三组,每组三位字符。第一组指的是所有者的权限;下一组指的是文件的用户组中其他用户的权限;最后一组指的是所有其他用户。在每个组中,三个字符分别表示对文件进行读取、写入和作为程序来执行的权限。对于目录,execute 权限解释为在目录中搜索所指定文件的权限。权限后面的字符为 ACL 或扩展属性指示符。如果有扩展属性与该文件关联并且 –@ 选项有效,则此字符为 @。否则,如果有一个非普通 ACL 或空格字符与该文件关联,则此字符为加号 (+) 字符。

如果 –/ 和/或 –% 有效,则在文件系统支持扩展系统属性时会输出扩展系统属性。显示内容如下所示:


$ls -/ c  file   
-rw-r--r--   1 root     root           0 May 10 14:17 file
                {AHRSadim-u}

$ls -/ v file
-rw-r--r--   1 root     root           0 May 10 14:17 file
                {archive,hidden,readonly,system,appendonly\
                 nodump,immutable, av_modified,\
                 noav_quarantined,nounlink}

$ls -l -% all file
-rw-r--r--   1 root     root           0 May 10 14:17 file
                timestamp: atime    Jun 25 12:56:44 2007
                timestamp: ctime    May 10 14:20:23 2007
                timestamp: mtime    May 10 14:17:56 2007
                timestamp: crtime   May 10 14:17:56 2007

有关详细信息,请参见 –/–% 选项的选项说明。

对于 POSIX 语言环境,ls –l(长列表)可显示其输出,如下所示:

-rwxrwxrwx+ 1 smith dev   10876  May 16 9:42 part2

如果从左向右进行读取,您会看到当前目录包含一个名为 part2 的文件。并且,上次修改文件内容的时间为5 月 16 日上午 9:42。该文件包含 10,876 个字符或字节。该文件的所有者(或用户)属于组 dev(可能表示开发),并且该所有者的登录名为 smith。数字(此例中为 1)表示指向文件 part2 的链接数(请参见 cp(1))。加号表示存在与文件关联的 ACL。如果指定了 –@ 选项,则扩展属性会取代 ACL,并且加号会用 'at' 符号 (@) 替换。最后,短划线和字母说明用户、组和其他用户具有读取、写入和执行 part2 的权限。

执行 (x) 符号占用三字符序列的第三个位置。如果第三个位置是 ,则表示拒绝执行权限。

各种权限如下所示:

r

该文件是可读取的。

w

该文件是可写入的。

x

该文件是可执行的。

授予所指示的权限。

s

set-user-ID 或 set-group-ID 位已启用,对应的用户或组执行位也已启用。

S

未定义位状态(set-user-ID 或 set-group-id 位已启用,而用户或组执行位已关闭)。对于组权限,这仅适用于非常规文件。

t

1000(八进制)位(或 sticky 位)已启用(请参见 chmod(1)),执行也已启用。

T

1000 位已启用,执行已关闭(未定义位状态)。

/usr/bin/ls

l

访问期间会发生强制锁定(在常规文件中,set-group-ID 位已启用而组执行位已关闭)。

/usr/xpg4/bin/ls 和 /usr/xpg6/bin/ls

L

访问期间会发生强制锁定(在常规文件中,set-group-ID 位已启用而组执行位已关闭)。

对于用户和组权限,第三个位置有时由某个字符(不是 x-)占用。sS 也可以占用此位置,表示 set-ID 位的状态(无论这是用户的 ID 还是组的 ID)。在登录过程中,会使用假定与执行时的用户具有相同 ID 的功能,例如,在您最开始以 root 用户身份执行操作,但需要假定登录用户身份的情况下。

如果使用组权限序列,则 l 可以占用第三个位置。l 指的是强制性文件和记录锁定。此权限指明了一个文件允许其他文件在访问期间锁定其读取或写入权限的功能。

对于其他权限,第三个位置可以由 tT 占用。这些字符指的是 sticky 位和执行权限的状态。

选项

支持以下选项:

/usr/bin/ls、/usr/xpg4/bin/ls 和 /usr/xpg6/bin/ls

所有三个版本均支持以下选项:

–a
–all

列出所有条目,包括通常不会列出的以点 (.) 开头的条目。

–A
–almost-all

列出所有条目,包括以点 (.) 开头的条目,但工作目录 (.) 和父目录 (..) 除外。

–b
–escape

强制在输出不可显示字符时使用八进制 \ddd 表示法。

–B
–ignore-backups

不显示任何以波浪号 (~) 结尾的文件。

–c

使用 i 节点(创建的文件、更改的模式等)上次修改的时间以进行排序 (–t) 或输出(–l–n)。

–C

多列输出,条目按列纵向排序。这是缺省输出格式。

–d

如果参数是一个目录,则仅会列出其名称(而不是其内容)。通常与 –l 配合使用以获取目录的状态。

–e

–l 相同,但时间可显示到秒,并且不论其存在时间长短,所有文件只有一个格式:mmm dd hh:mm:ss yyyy

–E

–l 相同,但时间可显示到纳秒,并且不论其存在时间长短,所有文件只有一个格式:yyyy-mm-dd hh:mm:ss.nnnnnnnnn(ISO 8601:2000 格式)。

此外,此选项还可以按 ISO 8601:2000 标准格式(+hhmm 或 -hhmm)显示与 UTC 的时差,或者,如果时差不可确定,则不显示任何字符。时差反映当前时区下在文件所显示的日期和时间中有效的相应标准或备用时差。

–f

强制将每个参数解释为目录,并列出在每个插槽中找到的名称。此选项可关闭 –l–t–s–S–r,然后打开 –a。其顺序是条目在目录中出现的顺序。

–F
–classify

在某些类型的文件后附加符号以指示文件类型。使用以下符号:

/

目录

>

门文件

|

命名管道 (FIFO)

@

符号链接

=

套接字

*

可执行文件

–g

–l 相同,但不输出所有者。

–h
–human-readable

所有大小将调整为用户可读的格式,例如 14K234M2.7G3.0T。调整是通过反复除以 1024 完成的。最后一个 --si 或 -h 选项可确定所使用的除数。

–H
–dereference-command-line

如果参数是一个引用了目录的符号链接,则此选项会计算该链接所引用目录的文件信息和文件类型,而不是链接本身的文件信息和类型。但是,会显示链接的名称,而不是显示引用的目录。

–i
–inode

对于每个文件,会在报告的第一列输出 i 节点数量。

–k

所有大小均以 KB 为单位进行输出。等效于 --block-size=1024。

–l

以长格式列出每个文件的模式、ACL 指示、链接数、所有者、组、大小(以字节为单位)和上次修改的时间(请参见上文)。如果文件是一个特殊文件,则大小字段将改为包含主设备号和从设备号。如果上次修改的时间早于六个月之前,则对于 POSIX 语言环境,该时间会显示为“月 日 年”格式。如果 LC_TIME 语言环境类别未设置为 POSIX 语言环境,则可使用其他格式的时间字段。对于在六个月内修改的文件,时间显示为“月 日期 时间”格式。如果文件是一个符号链接,则输出的文件名后跟 “” 和所引用文件的路径名。

–L
–dereference

如果参数是一个符号链接,则此选项会计算该链接所引用文件或目录的文件信息和文件类型,而不是链接本身的文件信息和类型。但是,会显示链接的名称,而不是显示引用的文件或目录。

–m

流输出格式。文件在整个页面上列出,用逗号分隔。

–n
–numeric-uid-gid

–l 相同,但是会输出所有者的 UID 和组的 GID 号,而不是关联的字符串。

–o
–no-group

–l 相同,但不输出组。

–p

如果文件是一个目录,则在每个文件名后面添加一个斜杠 (/)。

–q
–hide-control-chars

强制将文件名中不可显示的字符输出为问号字符 (?)。

–r
–reverse

颠倒排序顺序,以根据需要实现按字母顺序反向排序、按时间先后排序或按文件大小从小到大排序。

–R
–recursive

递归列出遇到的子目录。

–s
–size

表示显示的每个文件所占用的文件系统块的总数量。

–S

按文件大小排序(降序),大小相同的文件则按文件名排序(按字母顺序升序),而不是仅按名称排序。

–t

按时间戳(最近的时间在前)而不是按名称排序。缺省值为上次修改时间。请参见 –c–u–%

–u

使用上次访问的时间而不是上次修改的时间进行排序(通过 –t 选项)或输出(通过 –l 选项)。

–U

输出不排序。

–v

–l 相同,但会显示详细的 ACL 信息以及 –l 输出。即使文件或目录没有 ACL 也会显示 ACL 信息。

–V

–l 相同,但会在 –l 输出之后显示精简的 ACL 信息。

–V 选项仅适用于支持 NFSv4 ACL 的文件系统,如 Solaris ZFS 文件系统。

所显示的 ACL 格式如下:

entry_type : permissions : inheritance_flags : access_type

entry_type 显示为以下各项之一:

user:username

username 的其他用户访问权。

group:groupname

groupname 的其他组访问权。

owner@

文件所有者。

group@

文件组所有者。

everyone@

任何用户的访问权限,包括文件所有者和文件组所有者在内。这不等效于 POSIX 其他类。

由 NFSv4 ACL 模型所支持的以下权限可通过 –v–V 选项进行显示:

read_data (r)

读取文件数据的权限。

list_directory (r)

列出目录内容的权限。

write_data (w)

在文件的偏移范围内任意位置修改文件数据的权限。

add_file (w)

向目录中添加新文件的权限。

append_data (p)

修改文件数据的能力,但仅从 EOF 开始。

add_subdirectory (p)

在目录中创建子目录的权限。

read_xattr (R)

读取文件扩展属性的能力。

write_xattr (W)

创建扩展属性或向扩展属性目录写入的能力。

execute (x)

执行文件的权限。

read_attributes (a)

读取文件的基本属性(非 ACL)的能力。

write_attributes (A)

更改文件的基本属性(非 ACL)的权限。

delete (d)

删除文件的权限。

delete_child (D)

删除目录中的文件的权限。

read_acl (c)

读取文件 ACL 的权限。

write_acl (C)

写入文件 ACL 的权限。

write_owner (o)

更改文件所有者的权限。

synchronize (s)

在支持同步读写的服务器上本地访问文件的权限。

-

不授予权限

由 NFSv4 ACL 模型所支持的以下继承标志可通过 –v–V 选项进行显示:

file_inherit (f)

继承到所有新创建的文件。

dir_inherit (d)

继承到所有新创建的目录。

inherit_only (i)

如果放置到某个目录上,不应用于该目录,仅继承到新创建的文件和目录。该标志要求还要指定 file_inherit 和/或 dir_inherit

no_propagate (n)

表示 ACL 条目应该继承到目录中的对象,但是向下一个级别后继承应该停止。该标志要求还要指定 file_inherit 和/或 dir_inherit

successful_access (S)

指示在访问成功时是否应该启动报警或审计记录。与审计/报警 ACE 类型一起使用。

failed_access (F)

指示在访问失败时是否应该启动报警或审计记录。与审计/报警 ACE 类型一起使用。

inherited (I)

继承了 ACE。

-

未授予权限。

access_type 显示为以下类型之一:

alarm(报警)

权限字段,指定应触发报警的权限。

allow(允许)

权限字段,指定允许权限。

audit(审计)

权限字段,指定应审计的权限。

deny(拒绝)

权限字段,指定拒绝权限。

例如:


$ ls -dV /sandbox/dir.1
  drwxr-xr-x+  2 root     root           2 Jan 17 15:09 dir.1
                  user:marks:r-------------:fd-----:allow
                      owner@:--------------:-------:deny
                      owner@:rwxp---A-W-Co-:-------:allow
                      group@:-w-p----------:-------:deny
                      group@:r-x-----------:-------:allow
                   everyone@:-w-p---A-W-Co-:-------:deny
                   everyone@:r-x---a-R-c--s:-------:allow
$ 
                           ||||||||||||||||:||||||+ inherited access
                             ||||||||||||||:||||||+ failed access
                             ||||||||||||||:|||||+--success access
                             ||||||||||||||:||||+-- no propagate
                             ||||||||||||||:|||+--- inherit only
                             ||||||||||||||:||+---- directory inherit
                             ||||||||||||||:|+----- file inherit
                             ||||||||||||||
                             ||||||||||||||+ sync
                             |||||||||||||+- change owner
                             ||||||||||||+-- write ACL
                             |||||||||||+--- read ACL
                             ||||||||||+---- write extended attributes
                             |||||||||+----- read extended attributes
                             ||||||||+------ write attributes
                             |||||||+------- read attributes
                             ||||||+-------- delete child
                             |||||+--------- delete
                             ||||+---------- append
                             |||+----------- execute
                             ||+------------ write data
                             |+------------- read data
–w cols
–width cols

多列输出,列宽强制为 cols

–x

多列输出,条目在页面上横向排序而不是纵向排序。

–1

每行输出一个条目。

–@

–l 相同,但扩展属性信息会覆盖 ACL 信息。对于具有扩展属性的文件,其文件权限位之后会显示 @

–/

–/ 选项支持两个选项参数 c(精简模式)和 v(详细模式)。显示长列表,与 –l 相同。此外,在底层文件系统全面支持扩展系统属性时,会显示与文件关联的扩展系统属性。

appendonly

仅允许文件在偏移 EOF 处进行修改。尝试在 EOF 以外的位置修改文件会失败,并显示 EPERM

archive

指示文件上次备份后是否进行过修改。每当更改文件的修改时间 (mtime) 时,就会设置 archive 属性。

av_modified

ZFS 在文件的内容或大小发生更改或在文件进行重命名时,都会设置防病毒属性。

av_quarantined

防病毒软件设置,可将文件标记为已隔离。

crtime

创建文件的时间戳。

hidden

将文件标记为隐藏。

immutable

防止修改文件内容。同时防止所有的元数据更改,但访问时间更新除外。在目录上设置时,可防止在目录中删除和创建文件。尝试修改标记为 immutable 的文件或目录内容会失败,并显示 EPERM。尝试修改标记为 immutable 的文件的任意属性(但修改访问时间以及以适当特权修改 immutable 除外)会失败,并显示 EPERM

nodump

Solaris 系统的此属性没有特殊的语义。

nounlink

防止删除文件。在目录上设置时,该属性还可防止对目录内容进行任何更改。也就是说,目录中的任何文件都不能删除或重命名。尝试对标记为 nounlink 的文件或目录解除链接或进行重命名时,会返回 errno EPERM

readonly

将文件标记为 readonly。文件标记为 readonly 后,该文件的内容数据将无法修改。但仍可修改该文件的其他元数据。

sparse

此属性可供用户和应用程序使用,指示文件可解释为稀疏文件。它不指示该文件是否真正为稀疏文件,并且在 Solaris 操作系统上没有特殊的语义。如果文件截断为零长度,则会清除稀疏属性。

system

Solaris 系统的此属性没有特殊的语义。

sensitive

某些 Solaris 实用程序可能会根据此属性采取不同的操作。例如,不在管理日志中记录这类文件的内容。

精简模式 (–/ c) 使用以下所示的显示字符:


Attribute Name     Display
archive            A
hidden             H
readonly           R
system             S
appendonly         a
nodump             d
immutable          i
av_modified        m
av_quarantined     q
sparse             s
nounlink           u
sensitive          T

详细模式 (/ v) 下的显示会使用已设置的完整属性名称,在未进行设置时会使用带有 'no' 前缀的名称。

属性名称 crtime 和所有其他时间戳由选项 –% 通过相应的时间戳选项参数以及 all 选项参数进行处理。显示位置如下所示:详细模式 (–/ v) 下的显示在其进行设置时使用完整的属性名称,在其未进行设置时使用带有 no 前缀的名称。属性名称 crtime 和所有其他时间戳由选项 –% 通过相应的时间戳选项参数以及 all 选项参数进行处理。

显示位置如下所示:


{||||||||||}
 |||||||||||||+T (sensitive)
 |||||||||||+- s (sparse)
 ||||||||||+-- O (offline)
 |||||||||+--- u (nounlink)
 ||||||||+---- q (av_quarantined)
 |||||||+----- m (av_modified)
 ||||||+------ i (immutable)
 |||||+------- d (nodump)
 ||||+-------- a (appendonly)
 |||+--------- S (system)
 ||+---------- R (readonly)
 |+----------- H (hidden)
 +------------ A (archive)

-% atime | crtime | ctime | mtime | all 
atime

等效于 –u

crtime

使用文件的创建时间进行排序或输出。

ctime

等效于 –c

mtime

使用文件内容的上次修改时间进行排序或输出。

如果不支持扩展系统属性、用户对文件不具有读取权限,或未设置 crtime 扩展属性,则会将 crtime 视为与 mtime 同义。

如果指定了选项参数 –all,则会输出所有可用的时间戳,包括 –atime–ctime–mtime 以及支持扩展系统属性的文件系统上的 –crtime(创建时间)。选项 –% all 不影响哪个时间戳以长格式显示,也不影响排序。

–block-size size

以单位大小的倍数显示大小。通过加上 YyZzEePpTtGgMmKk 之一的后缀可以调整大小的量级。此外,还可将 B 放置在结尾以表示 10(而不是 2)的幂次。例如,10mB 表示 10000000 字节的块,而 10m 表示 10*2^20 -- 10485760 -- 字节的块。此选项与 –h 选项互斥。

–color [=when]
–colour[=when]

在支持彩色的终端上使用彩色显示文件名。when 是可选参数,可确定何时显示彩色输出。

可能的 when 值为:

always
yes
force

始终使用彩色。

auto
tty
if-tty

如果存在终端,则使用彩色。

no
never
none

从不使用彩色。这是缺省值。

有关如何控制输出颜色的信息,请参见本手册页的 Color Output 部分。

–file-type

根据文件的类型显示该文件的后缀,与 –F 选项类似,但不会将 * 附加到可执行文件。

–si

显示调整数量级后的大小,与 –h 选项类似,但值会反复除以 1000 而不是 1024。最后一个选项 –si–h 可确定所使用的除数。

–time-style 样式

使用指定的样式显示时间。这不会影响为扩展属性 (–%) 显示的时间。

可能的 style 值为:

full-iso

等效于 –E

long-iso

所有文件以 YYYY-MM-DD HH:MM 样式显示。

iso

较旧文件使用 YYYY-MM-DD 显示,较新文件使用 MM-DD HH:MM 显示。

locale

对新旧文件均使用缺省语言环境格式。这是缺省值。

+FORMAT

使用定制格式。值与 strftime(3C) 中所述相同。如果字符串中显示 NEWLINE,则第一行用于较旧文件,第二行用于较新文件。否则,给定的格式会用于所有文件。

/usr/bin/ls

–F

使用尾随斜杠 (/) 标记目录,使用尾随大于号 (>) 标记门文件,使用尾随星号 (*) 标记可执行文件,使用尾随竖线 (|) 标记 FIFO,使用尾随 “at” 号 (@) 标记符号链接,以及使用尾随等号 (=) 标记 AF_UNIX 地址族套接字。后跟 symlinks 作为操作数。

–file-type

–F 一样标记条目,但可执行文件除外。不标记可执行文件。后跟符号链接作为操作数。

在以下互斥对中指定多个选项不会视为错误:–C–l(字母 ell)、–m–l(字母 ell)、–x–l(字母 ell)、–@–l(字母 ell)。–l 选项可覆盖每一对中指定的其他选项。

在以下互斥组中指定多个选项不会视为错误:–C–1(数字 1)、–H–L–c–u–e–E 以及 –t–S。指定时间戳的最后一个选项(–c–u–% atime–% crtime–% ctime–% mtime)可确定用于排序或长格式列表中的时间戳。最后一个选项 –t–S–U 可确定排序方式。

/usr/xpg4/bin/ls

–F

使用尾随斜杠 (/) 标记目录,使用尾随大于号 (>) 标记门文件,使用尾随星号 (*) 标记可执行文件,使用尾随竖线 (|) 标记 FIFO,使用尾随 “at” 号 (@) 标记符号链接,以及使用尾随等号 (=) 标记 AF_UNIX 地址族套接字。后跟符号链接作为操作数。

–file-type

–F 一样标记条目,但可执行文件除外。不标记可执行文件。后跟符号链接作为操作数。

在以下互斥选项组中指定多个选项不会视为错误:–C–l(字母 ell)、–m–l(字母 ell)、–x–l(字母 ell)、–@– l(字母 ell)、–C–1(数字 1)、–H–L–c–u–e–E–t–S–U。指定时间戳的最后一个选项(–c–u–% atime–% crtime–% ctime–% mtime)可确定用于排序或长格式列表中的时间戳。最后一个选项 –t–S–U 选项可确定排序方式。

/usr/xpg6/bin/ls

–F

使用尾随斜杠 (/) 标记目录,使用尾随大于号 (>) 标记门文件,使用尾随星号 (*) 标记可执行文件,使用尾随竖线 (|) 标记 FIFO,使用尾随 “at” 号 (@) 标记符号链接,以及使用尾随等号 (=) 标记 AF_UNIX 地址族套接字。后面不跟作为操作数的符号链接,除非指定了 –H–L 选项。

–file-type

–F 一样标记条目,但可执行文件除外。不标记可执行文件。后面不跟作为操作数的符号链接,除非指定了 –H–L 选项。

在以下互斥对中指定多个选项不会视为错误:–C–l(字母 ell)、m 和 –l(字母 ell)、–x–l(字母 ell)、–@–l(字母 ell)、– C–1(数字 1)、–H 和 -–L–c–u–e–E–t–S–U。指定时间戳的最后一个选项(–c–u–% atime–% crtime–% ctime–% mtime)可确定用于排序或长格式列表中的时间戳。最后一个选项 –t–S–U 选项可确定排序方式。

操作数

支持下列操作数:

file

要写入的文件的路径名。如果未找到指定的文件,则诊断消息在标准错误中输出。

彩色输出

彩色输出

如果启用了彩色输出,则会选中环境变量 LS_COLORS。如果该变量存在,则其内容会用于控制显示文件名所用的颜色。如果未进行设置,则会使用缺省颜色列表。LS_COLORS 的格式是冒号分隔的属性规范列表。每个属性规范都采用以下格式

filespec=attr[;attr..]

filespec 可能采用 *.SUFFIX 格式(例如 *.jar*.Z),或者为以下文件类型之一:

no

普通文件

fi

常规文件

di

目录

ln

符号链接

pi

FIFO 或命名管道

so

套接字

do

门文件

bd

块设备

cd

字符设备

ex

执行位(usergroupother)设置

po

事件端口

st

Sticky 位设置

or

孤立符号链接

sg

setgid 二进制文件

su

setuid 二进制文件

ow

world 可写入文件

tw

Sticky 位和 world 可写入文件

attr 是一个分号分隔的颜色和显示属性列表,可组合起来确定最终输出颜色。可指定 attr 值的任意组合。可能的 attr 值为:

00

所有属性关闭(缺省终端颜色)

01

显示粗体文本

04

显示带下划线的文本

05

显示粗体文本

07

显示前景色和背景色颠倒的文本

08

使用隐藏文本显示。

可选择以下值之一。如果指定了多个值,则会使用最后一个指定的值。

30

将前景色设置为 black

31

将前景色设置为 red

32

将前景色设置为 green

33

将前景色设置为 yellow

34

将前景色设置为 blue

35

将前景色设置为 magenta (purple)。

36

将前景色设置为 cyan

37

将前景色设置为 white

39

将前景色设置为缺省终端颜色。

可指定以下值之一。如果指定了多个值,则会使用最后一个指定的值。

40

将前景色设置为 black

41

将前景色设置为 red

42

将前景色设置为 green

43

将前景色设置为 yellow

44

将前景色设置为 blue

45

将前景色设置为 magenta (purple)。

46

将前景色设置为 cyan

47

将前景色设置为 white

49

将前景色设置为缺省终端颜色。

在某些终端上,设置粗体属性会导致前景色亮度更高。在此类情况下,亮度较低的黄色通常显示为棕色或橙色。

对于文件规范,必须至少列出一个属性。

通过选择最精确的匹配(先匹配文件后缀,然后匹配文件类型,直到找到匹配项),可选择适当的颜色代码。no(普通文件)类型可匹配所有文件。

用法

有关 ls 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)

示例

示例 1 查看文件权限

以下示例说明如何显示有关文件的详细信息。


% ls -l file.1
-rw-r--r--   1 gozer    staff     206663 Mar 14 10:15 file.1 

上面的权限字符串 (-rw-r--r--) 表明文件所有者具有读写权限,所属组具有读取权限,而其他用户具有读取权限。

以下示例说明如何显示有关目录的详细信息。


% ls -ld test.dir
drwxr-xr-x   2 gozer    staff          2 Mar 14 10:17 test.dir    

上面的权限字符串 (drwxr-xr-x) 表明目录所有者具有读写和搜索权限,所属组具有读取和搜索权限,而其他用户具有读取和搜索权限。

以下是列出文件权限的另一个示例:


% ls -l file.2
-rw-rwl---   1 gozer    staff     206663 Mar 14 10:47 file.2

上面的权限字符串 (-rw-rwl---) 表明文件所有者具有读写权限,所属组具有读写权限,且访问期间可锁定文件。

示例 2 显示文件和目录的 ACL 信息

以下示例说明如何显示 ZFS 文件的详细 ACL 信息。


% ls -v file.1
-rw-r--r--   1 marks    staff     206663 Mar 14 10:15 file.1
     0:owner@:execute:deny
     1:owner@:read_data/write_data/append_data/write_xattr/write_attributes
          /write_acl/write_owner:allow
     2:group@:write_data/append_data/execute:deny
     3:group@:read_data:allow
     4:everyone@:write_data/append_data/write_xattr/execute/write_attributes
          /write_acl/write_owner:deny
     5:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
          :allow

以下示例说明如何显示 ZFS 目录的精简 ACL 信息。


% ls -dV test.dir
drwxr-xr-x   2 marks    staff          2 Mar 14 10:17 test.dir
            owner@:--------------:------:deny
            owner@:rwxp---A-W-Co-:------:allow
            group@:-w-p----------:------:deny
            group@:r-x-----------:------:allow
            everyone@:-w-p---A-W-Co-:------:deny
            everyone@:r-x---a-R-c--s:------:allow

以下示例说明了在列出 UFS 文件的 ACL 信息时 ls –v 的行为。


$ ls -v file.3
-rw-r--r--   1 root     root        2703 Mar 14 10:59 file.3
     0:user::rw-
     1:group::r--               #effective:r--
     2:mask:r--
     3:other:r--
示例 3 输出所有文件的名称

以下示例输出了当前目录中所有文件的名称,包括通常不会输出的以点 (.) 开头的名称:

example% ls -a
示例 4 提供文件信息

以下示例可提供文件信息:

example% ls -aisn

此命令提供有关所有文件的信息,包括以点开头的文件 (a);提供 i 编号,即与文件关联的 i 节点的内存地址,在左侧列中输出 (i);提供文件大小(以块为单位),在 i 编号右侧的列中输出 (s);最后,报告的显示格式为数字版本的长列表 (n),会输出与文件关联的 UID(而不是用户名)和 GID(而不是组名)编号。

列出目录中文件的大小时,会输出块总数,包括间接块。

示例 5 提供扩展系统属性信息

example% ls -/ c file    (extended system attribute in compact mode)
-rw-r--r--   1 root     root           0 May 10 14:17 file    
                         {AHRSadim-u}

在此示例中,未设置 av_quarantined


example% ls -/ v file (extended system attribute in verbose mode)
-rw-r--r--   1 root     root           0 May 10 14:17 file
                {archive,hidden,readonly,system,appendonly\
                 nodump,immutable,av_modified,\
                 noav_quarantined,nounlink}

example% ls -/ v file     (no extended system attribute)
-rw-r--r--  1 root    staff        0 May 16 14:48 file
               {}

example% ls -/ c file        (extended system attribute 
                              supported file system)

-rw-r--r--  1 root staff        3 Jun  4 22:04 file
               {A------m--}

缺省情况下,支持扩展系统属性的文件上已设置 archiveav_modified 属性。


example% ls -/ c  -%crtime file

-rw-r--r--    root     root          0 May 10 14:17 file
               {AHRSadim-u}

此示例将时间戳显示为创建时间:


example% ls -l -%all file
-rw-r--r--   1 root     root           0 May 10 14:17    file
                timestamp: atime    Jun 14 08:47:37 2007
                timestamp: ctime    May 10 14:20:23 2007
                timestamp: mtime    May 10 14:17:56 2007
                timestamp: crtime   May 10 14:17:56 2007

example% ls -%crtime -tl file*

-rw-r--r--   1 foo      staff          3 Jun  4 22:04 file1
-rw-r--r--   1 root     root           0 May 10 14:17 file
-rw-r--r--   1 foo      staff          0 May  9 13:49 file.1

此示例中,文件按创建时间排序。

环境变量

有关影响 ls 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_TIME、LC_MESSAGES、NLSPATH 和 TZ。

COLUMNS

确定用户首选的列位置宽度,用于写入多个文本列输出。如果此变量包含一个表示十进制整数的字符串,则 ls 实用程序会基于所提供的宽度计算要写入的路径名文本列数(请参见 –C)。如果 COLUMNS 未进行设置或无效,则会使用 80。任何给定目录中选定用于写入文件名的列宽是固定的。文件名不会截断以适合多个文本列输出。

LS_COLORS

确定显示彩色输出时使用的颜色方案。如果未设置且未指定彩色输出,则会使用缺省方案。如果未设置 TERM,则不会使用彩色输出。

TERM

确定终端类型。如果此变量未进行设置或为 NULL,则无论 --color 选项的值为何,都不会生成任何彩色输出。

退出状态

0

所有信息已成功写入。

>0

出现错误。

文件

/etc/group

ls –lls –g 的组 ID

/etc/passwd

ls –lls –o 的用户 ID

/usr/share/lib/terminfo/?/*

终端信息数据库

属性

有关下列属性的说明,请参见 attributes(5)

/usr/bin/ls

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见下文。

有关所有选项(–A–b–e–E、–h–S、U –v–V–@–/–%–all–almost-all–block-size–classify–color–colour–dereference–dereference-command-line–escape–file-type–full-time–human-readable–ignore-backups–inode–no-group–numeric-uid-gid–reverse–recursive–si–size–time-style 除外),请参见 standards(5)

/usr/xpg4/bin/ls

属性类型
属性值
可用性
system/xopen/xcu4
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见下文。

有关所有选项(–A–b–e–E、–h–S、U –v–V–@–/–%–all–almost-all–block-size–classify–color–colour–dereference–dereference-command-line–escape–file-type–full-time–human-readable–ignore-backups–inode–no-group–numeric-uid-gid–reverse–recursive–si–size–time-style 除外),请参见 standards(5)

/usr/xpg6/bin/ls

属性类型
属性值
可用性
system/xopen/xcu6
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见下文。

有关所有选项(–A–b–e–E、–h–S、U –v–V–@–/–%–all–almost-all–block-size–classify–color–colour–dereference–dereference-command-line–escape–file-type–full-time–human-readable–ignore-backups–inode–no-group–numeric-uid-gid–reverse–recursive–si–size–time-style 除外),请参见 standards(5)

另请参见

chmod(1)cp(1)setfacl(1)fgetattr(3C)strftime(3C)terminfo(4)acl(5)attributes(5)environ(5)fsattr(5)largefile(5)standards(5)

附注

文件名中不可打印的字符可能会使分列输出选项出现混乱。

如果文件中存在硬链接,则总块数不正确。

ls 输出的排序顺序受语言环境影响,并可用 LC_COLLATE 环境变量覆盖。例如,如果 LC_COLLATE 等于 C,则会首先显示点文件,后跟以大写字母开头的名称,然后是以小写字母开头的名称。但如果 LC_COLLATE 等于 en_US.ISO8859-1,则确定排序顺序时会忽略前导点字符以及大小写。