ls命令详解

NAME
ls, dir, vdir - 列目录内容

提要
ls [选项] [文件名…]
例:ls -a /etc

   POSIX 标准选项: [-CFRacdilqrtu1]

GNU 选项 (短格式):
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [–full-time] [–format={long,verbose,com‐
mas,across,vertical,single-column}] [–sort={none,time,size,extension}] [–time={atime,access,use,ctime,status}]
[–color[={none,auto,always}]] [–help] [–version] [–]

描述( DESCRIPTION )
程序ls先列出非目录的文件项,然后是每一个目录中的“可显示”文件。如果
没有选项之外的参数【译注:即文件名部分为空】出现,缺省为 “.” (当前目录)。 选项“ -d ”使得目录与非目录项同样对待。除非“ -a
” 选项出现,文 件名以“.”开始的文件不属“可显示”文件。

   以当前目录为准,每一组文件(包括非目录文件项,以及每一内含文件的目录)分          别按文件名比较顺序排序。如果“         -l
   ”选项存在,每组文件前显示一摘要行: 给出该组文件长度之和(以 512 字节为单位)。

   输出是到标准输出(               stdout               )。除非以“               -C               ”选项要求按多列输出,输出
   将是一行一个。然而,输出到终端时,单列输出或多列输出是不确定的。可以分别 用选项“ -1 ” 或“ -C ”来强制按单列或多列输出。

   -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 单列输出。

GNU 细节
如果标准输出是终端,将多列输出(纵向排序)。

   dir ( 也被安装为命令 d ) 等同于“ ls -C ”;即,文件
          缺省是多列输出,纵向排序。vdir ( 也被安装为命令 v ) 等同于“ ls -l ”; 即,文件缺省是按长格式输出。

GNU 选项
-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   指定使用的颜色。如何设置   这个变量见   dircolors(1)  。  when
          可以被省略,或是以下几项之一:

   none 不使用颜色,这是缺省项。
          auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when 时就等同于 --color=always 。

   --full-time
          列出完整的时间,而不是使用标准的缩写。格式如同   date(1)   的缺省格式;此格式   是不能改变的,但是你可以用   cut(1)
          取出其中的日期字串并将结果送至命令 “ date -d ”。

   输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,
          因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个                      Makefile                     文件
          不能恰当的生成文件时,这个选项会提供帮助。

GNU 标准选项
–help 打印用法信息到标准输出并顺利退出。

   --version
          打印版本信息到标准输出并顺利退出。

   --     结束选项表。

环境
变量 POSIXLY_CORRECT 可以决定一组选择。如果没有设置此变量,每个制表符的字 符数由变量 TABSIZE 决定。变量 COLUMNS
(当它由一个十进制整数表示时)决定输 出的列宽度(同“ -C ”选项一起用时)。文件名不得为适应多列输出而被截断。变 量 LANG,
LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES 及 LC_TIME 仍保持原义。 变量 TZ 给出时区供 ls 输出相应的时间字串。变量 LS_COLORS
用以决定是否使用 颜色。

已知错误
在 BSD 系统上,对于从 HP-UX 系统上通过 NFS mount 而来的文件,“ -s ”选项报 告的大小只有正确值的一半;在 HP-UX
系统上,对于从 BSD 系统上通过 NFS mount 而来的文件, ls 报告的大小则有正确值的两倍。这是 HP-UX 的一个缺陷造成的,它 也影响
HP-UX 上的 ls 程序。

适合到
POSIX 1003.2

参见
dircolors(1)

注意
本页描述的是 fileutils-3.16 文件包中的 ls ,其它版本的可能略有不同。纠错或添 加(功能)请 mailto: aeb@cwi.nl 和
aw@mail1.bet1.puv.fi 及 ragnar@lightside.ddns.org 。本程序的错误报告请 mailto: fileutils-bugs@gnu.ai.mit.edu 。

[中文版维护人]
wangdong wangdong@163.net

[中文版最新更新]
2003.11.22

《中国linux论坛man手册翻译计划》:
http://cmpp.linuxforum.net

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ls命令是一个常用的Linux命令,用于列出指定目录下的文件和子目录。ls命令的基本语法如下: ```shell ls [选项] [文件或目录] ``` 其中,选项包括: - `-a`:显示所有文件和目录,包括隐藏文件和目录。 - `-l`:使用长格式显示文件和目录的详细信息,包括文件类型、权限、所有者、所属用户组、大小、创建时间等。 - `-h`:与`-l`选项一起使用,以人类可读的方式显示文件和目录的大小。 - `-r`:按照文件名的字母顺序反向排序。 - `-t`:按照文件的修改时间排序。 - `-R`:递归列出指定目录下的所有文件和目录,包括子目录中的文件和目录。 文件或目录参数可以是相对路径或绝对路径。如果不指定任何文件或目录,则列出当前工作目录下的文件和目录。 以下是一些常用的ls命令示例: 列出当前目录下的文件和目录: ```shell ls ``` 列出当前目录下所有文件和目录的详细信息: ```shell ls -l ``` 列出当前目录下所有文件和目录的详细信息,并以人类可读的方式显示文件大小: ```shell ls -lh ``` 列出指定目录下的所有文件和目录: ```shell ls /path/to/directory ``` 递归列出指定目录及其子目录下的所有文件和目录: ```shell ls -R /path/to/directory ``` 需要注意的是,ls命令只列出指定目录下的文件和目录,不包括子目录中的文件和目录,如果需要列出子目录中的文件和目录,需要使用`-R`选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值