1、ls命令说明
-
ls是最常被使用到的Linux命令之一,来自于英文单词list的缩写,也正如list单词的英文意思,其功能是列举出指定目录下的文件名称及其属性。
-
默认不加参数的情况下,ls命令会列出当前工作目录中的文件信息,经常与cd和pwd命令搭配使用,十分方便。
2、语法
ls [选项] [文件名...]
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time]
[--format={long,verbose,commas,across,vertical,single-col‐umn}]
[--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}]
[--color[={none,auto,always}]] [--help] [--version] [--]
3、选项
-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, --numer