1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149 | -C # 多列输出,纵向排序。
-F # 每个目录名加 "/" 后缀,每个 FIFO 名加 "|" 后缀, 每个可运行名加“ * ”后缀。
-R # 递归列出遇到的子目录。
-a # 列出所有文件,包括以 "." 开头的隐含文件。
-c # 使用“状态改变时间”代替“文件修改时间”为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。
-d # 将目录名像其它文件一样列出,而不是列出它们的内容。
-i # 输出文件前先输出文件系列号(即 i 节点号: i-node number)。 -l 列出(以单列格式)文件模式
# (file mode),文件的链接数,所有者名,组名,文件大小(以字节为单位),时间信息,及文件名。
# 缺省时,时间信息显示最近修改时间;可以以选项“-c”和“-u”选择显示其它两种时间信息。对于设备文件,
# 原先显示文件大小的区域通常显示的是主要和次要的信号(majorand minor device numbers)。
-q # 将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。)
-r # 逆序排列。
-t # 按时间信息排序。
-u # 使用最近访问时间代替最近修改时间为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。
-1 # 单列输出。
-1, --format=single-column # 一行输出一个文件(单列输出)。如标准输出不是到终端,此选项就是缺省选项。
-a, --all # 列出目录中所有文件,包括以“.”开头的文件。
-b, --escape # 把文件名中不可输出的字符用反斜杠加字符编号(就像在 C 语言里一样)的形式列出。
-c, --time=ctime, --time=status
# 按文件状态改变时间(i节点中的ctime)排序并输出目录内
# 容。如采用长格式输出(选项“-l”),使用文件的状态改
# 变时间取代文件修改时间。【译注:所谓文件状态改变(i节
# 点中以ctime标志),既包括文件被修改,又包括文件属性( 如所有者、组、链接数等等)的变化】
-d, --directory
# 将目录名像其它文件一样列出,而不是列出它们的内容。
-f # 不排序目录内容;按它们在磁盘上存储的顺序列出。同时启 动“ -a ”选项,如果在“ -f ”之前存在“ -l”、
# “ - -color ”或“ -s ”,则禁止它们。
-g # 忽略,为兼容UNIX用。
-i, --inode
# 在每个文件左边打印 i 节点号(也叫文件序列号和索引号: file serial number and index num‐
# ber)。i节点号在每个特定的文件系统中是唯一的。
-k, --kilobytes
# 如列出文件大小,则以千字节KB为单位。
-l, --format=long, --format=verbose
# 输出的信息从左到右依次包括文件名、文件类型、权限、硬链接数、所有者名、组名、大小(byte)
# 、及时间信息(如未指明是其它时间即指修改时间)。对于6个月以上的文件或超出未来
# 1小时的文件,时间信息中的时分将被年代取代。
# 每个目录列出前,有一行“总块数”显示目录下全部文件所占的磁盘空间。块默认是1024字节;
# 如果设置了 POSIXLY_CORRECT 的环境变量,除非用“-k”选项,则默认块大小是 512 字节。
# 每一个硬链接都计入总块数(因此可能重复计数),这无 疑是个缺点。
# 列出的权限类似于以符号表示(文件)模式的规范。但是 ls
# 在每套权限的第三个字符中结合了多位( multiple bits ) 的信息,如下: s 如果设置了 setuid
# 位或 setgid 位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid
# 位,但是没有设置相应的可执行位。 t 如果设置了 sticky 位,而且也设置了相应的可执行位。 T
# 如果设置了 sticky 位,但是没有设置相应的可执行位。 x
# 如果仅仅设置了可执行位而非以上四种情况。 - 其它情况(即可执行位未设置)。
-m, --format=commas
# 水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。
-n, --numeric-uid-gid
# 列出数字化的 UID 和 GID 而不是用户名和组名。
-o # 以长格式列出目录内容,但是不显示组信息。等于使用“ --format=long --no-group
# ”选项。提供此选项是为了与其它版本的 ls 兼容。
-p # 在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不 标示可执行文件。
-q, --hide-control-chars
# 用问号代替文件名中非打印的字符。这是缺省选项。
-r, --reverse
# 逆序排列目录内容。
-s, --size
# 在每个文件名左侧输出该文件的大小,以 1024 字节的块为单位。如果设置了 POSIXLY_CORRECT
# 的环境变量,除非用“ -k ”选项,块大小是 512 字节。
-t, --sort=time
# 按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件 靠前。
-u, --time=atime, --time=access, --time=use
# 类似选项“ -t ”,但是用文件最近访问时间( i 节点中的 atime )取代文件修
# 改时间。如果使用长格式列出,打印的时间是最近访问时间。
-w, --width cols
# 假定屏幕宽度是 cols ( cols 以实际数字取代)列。如未用此选项,缺省值是这
# 样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量 COLUMNS (如果设
# 置了的话),都不行则取 80 。
-x, --format=across, --format=horizontal
# 多列输出,横向排序。
-A, --almost-all
# 显示除 "." 和 ".." 外的所有文件。
-B, --ignore-backups
# 不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。
-C, --format=vertical
# 多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时, 则总是缺省的。
-D, --dired
# 当采用长格式(“-l”选项)输出时,在主要输出后,额外打印一行: //DIRED// BEG1 END1 BEG2
# END2 ...
# BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置(
# 字节偏移量)。这使得 Emacs 易于找到文件名,即使文件名包含空格或换行等非正
# 常字符也无需特异的搜索。
#
# 如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:
# //SUBDIRED// BEG1 END1 ... 【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “
# //DIRED// BEG1... ”之后列出“ //SUBDIRED// BEG1 ... ”,也即只有一个
# 而不是在每个子目录后都有。而且“ //SUBDIRED// BEG1 ... ”列出的是各个子目 录名的偏移。】
-F, --classify, --file-type
# 在每个文件名后附上一个字符以说明该文件的类型。“ * ”表示普通的可执行文件; “ / ”表示目录;“
# @ ”表示符号链接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也没有则表示普通文件。
-G, --no-group
# 以长格式列目录时不显示组信息。
-I, --ignorepattern
# 除非在命令行中给定,不要列出匹配shell文件名匹配式(pattern ,不是指一般
# 表达式)的文件。在shell中,文件名以"."起始的不与在文件名匹配式(pattern)
# 开头的通配符匹配。
-L, --dereference
# 列出符号链接指向的文件的信息,而不是符号链接本身。
-N, --literal
# 不要用引号引起文件名。
-Q, --quote-name
# 用双引号引起文件名,非打印字符以 C 语言的方法表示。
-R, --recursive
# 递归列出全部目录的内容。
-S, --sort=size
# 按文件大小而不是字典序排序目录内容,大文件靠前。
-T, --tabsize cols
# 假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。 若 cols 为
0,则不使用制表符。
-U, --sort=none
# 不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“-U”和“-f”的不
# 同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序
# 能显著地加快速度。
-X, --sort=extension
# 按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列 出。
--color[=when]
# 指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置 这个变量见 dir‐
# colors(1) 。 when 可以被省略,或是以下几项之一:
none # 不使用颜色,这是缺省项。
# auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于
# --color=always 。
--full-time
# 列出完整的时间,而不是使用标准的缩写。格式如同 date(1) 的缺省格式;此格式
# 是不能改变的,但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令 “ date -d ”。
# 输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,
# 因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个 Makefile 文件
# 不能恰当地生成文件时,这个选项会提供帮助。
|