(2)ls 命令

功能说明】:list directory contents 列出目录中的内容,如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。

语法格式】:ls [OPTION]... [FILE]...

选项参数】:长选项必须使用的参数对于短选项时也是必需使用的。

参数

参数说明

其他说明

  -A

 列出所有条目,除了 .(点)和 ..(点-点)。

 

--almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者

 

 

  -a , --all

列出目录中所有项,包括以 .(点)开始的项。

 

  -b 

以八进制 ( \nnn) 表示法显示非打印字符。

 

--escape 以八进制溢出序列表示不可打印的字符
--block-size=大小 块以指定大小的字节为单位

 

 

-B, --ignore-backups

 不列出任何以"~"字符结束的项目

 

  -c

 使用索引节点最近一次修改的时间,用以排序(当带 -t 标志使用时)或者用以显示(当带 -l 标志使用时)。该标志必须和 -t 或 -l 标志或者两者一起使用。

 

配合-lt:根据ctime 排序并显示ctime(文件状态最后更改的时间)
配合-l:显示ctime 但根据名称排序
其他情况:按ctime 排序

 

 

  -C 

以多列纵向排序输出。当往终端输出时,此为缺省方法。

 

每栏由上至下列出项目
--color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是
"never"(默认)、"always"或"auto"其中之一

 

 

 -d , --directory

仅仅显示指定目录信息。目录和文件一样处理,这在当使用 -l 标志获取目录状态时非常有用。

 

-D, --dired

 产生适合Emacs 的dired 模式使用的结果

 

-f

 在每个存储槽中列出 Directory 参数指定的每个目录的名称。该标志关闭 -l、-t、 -s 和 -r 标志并且开启 -a 标志。列表的顺序就是项出现在目录中的顺序。

不进行排序,-aU 选项生效,-lst 选项失效

 

-F

 如果文件是目录,在文件名后面放置一个 /(斜杠),如果文件可执行,则放置一个 *(星号),如果文件为套接字,则放置一个 =(等号),如果为 FIFO,则放置一个 |(管道)符号,如果是符号链接,则放置一个 @。

注:只有在使用 -N 标志或者链接指向一个不存在的文件时,符号链接显示时才后跟 ->。否则,显示目标文件的有关信息。通过输入 ls -f 命令,也可以调用此选项。

 

--classify 加上文件类型的指示符号(*/=@| 其中一个)
--format=关键字 交错-x,逗号分隔-m,水平-x,长-l,
单栏-1,详细-l,垂直-C
--full-time 即-l --time-style=full-iso

 

 

-g

 与使用 -l 标志时显示同样的信息,除了 -g 标志禁止显示所有者和符号链接信息。

 

类似-l,但不列出所有者
--group-directories-first
在文件前分组目录。此选项可与--sort 一起使用,
但是一旦使用--sort=none (-U)将禁用分组

 

 

-G, --no-group

 以一个长列表的形式,不输出组名

 
 -h, --human-readable

 

 与-l 一起,以易于阅读的格式输出文件大小(例如 1K 234M 2G)

 

 

-H 

如果在命令行上指定了引用类型目录文件的符号链接,ls 命令将文件信息和文件类型估计为由链接引用的文件的信息和类型,而非链接本身;然而,ls 命令将写链接本身的名称,而非由链接引用的文件。

 

--dereference-command-line
跟随命令行列出的符号链接
--dereference-command-line-symlink-to-dir
跟随命令行列出的目录的符号链接
--hide=PATTERN 隐藏符合PATTERN 模式的项目
(-a 或 -A 将覆盖此选项)
--indicator-style=方式 指定在每个项目名称后加上指示符号方式:
none (默认),classify (-F),file-type (-p)

 

 

-i , --inode

显示每个文件报告第一列中的索引节点数目。

显示每个文件的inode 号

 

-L , --dereference

列出链接引用的文件或目录内容。此为缺省操作。后跟符号链接。如果使用 -l 选项,-N 选项就成为缺省值,不后跟符号链接。当使用 -l 选项时,仅有 -L 选项能够覆盖 -N 缺省值。

当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

 

-l (L 的小写)

使用较长格式列出信息

显示方式、链接数目、所有者、组、大小(按字节)和每个文件最近一次修改时间。如果文件是特殊文件,大小字段包含主要和次要设备数目。如果最近一次修改时间大于六个月之前,时间字段以 月份 日期 年份 的格式显示,然而六个月内修改的文件以 月份 日期 时间 的格式显示。

如果文件是符号链接,,打印所链接到的文件的路径名,其前跟 ->。显示符号链接的属性。-n、-g、和 -o 标志覆盖 -l 标志。

 

-m

 使用流输出格式(逗号分隔系列)。

所有项目以逗号分隔,并填满整行行宽

 

-n, --numeric-uid-gid

 -n 标志除显示用户和组 ID 而不是用户和组名称以外,它显示和 -l 标志同样的信息。

类似 -l,但列出UID 及GID 号

 

-N , --literal

输出未经处理的项目名称 (如不特别处理控制字符)

当确定文件状态时,不跟在符号链接之后。

注:如果使用 -L 和 -N 两个标志,最后一个标志起作用。同样的,任何时候给定一个包含以 /(斜杠)作为最后字符的符号链接,不管使用何种选项,后面都会跟有链接。

 

-o 

-o 标志除禁止显示组和符号链接信息之外,它显示和 -l 标志同样的信息。

类似 -l,但不列出有关组的信息

 
 -p ,  --indicator-style=slash
如果文件是目录,在每个文件名后面放置一个斜杠。当将 ls 命令的输出通过管道传递到 pr 命令时,这很有用,如下所示:
ls -p | pr -5 -t -w80
 

-q

 将文件名中的非打印字符显示成 ?(问号)。

--hide-control-chars 以"?"字符代替无法打印的字符
--show-control-chars 直接显示无法打印的字符 (这是默认方式,除非调用
的程序名称是"ls"而且是在终端输出结果)

 
 -Q

--quote-name 将条目名称括上双引号
--quoting-style=方式 使用指定的quoting 方式显示条目的名称:
literal、locale、shell、shell-always、c、escape

 

-r, --reverse

 反转排序顺序,适当的按字母逆向排序或者首先排序最旧的文件。
 

-R, --recursive

 递归列出所有子目录。
 

-s , --size

按照千字节(包括间接块)给出每一项的大小。
 

-S

 根据文件大小排序

--sort=WORD 以下是可选用的WORD 和它们代表的相应选项:
    extension -X     status -c
    none -U           time -t
    size -S             atime -u
    time -t             access -u
    version -v         use -u


--time=WORD 和-l 同时使用时显示WORD 所代表的时间而非修改时间:atime、access、use、ctime 或status;加上--sort=time 选项时会以指定时间作为排序关键字


--time-style=STYLE 和-l 同时使用时根据STYLE 代表的格式显示时间:full-iso、iso、locale、posix-iso、+FORMAT。FORMAT 即是"date"所用的时间格式;如果FORMAT
是FORMAT1<换行>FORMAT2,FORMAT1 适用于较旧的文件而FORMAT2 适用于较新的文件;如果STYLE以"posix-"开头,则STYLE 仅在POSIX 语系之外生效。

 
 

-t

 按照最近一次修改时间(最近的最先)而不是名称排序。
根据修改时间排序
 

-T, --tabsize=宽度

 指定制表符(Tab)的宽度,而非8 个字符
 

-u

 使用最近访问时间,而不是最近修改时间用以排序(当使用 -t 标志)或者显示(当使用 -l 标志)。如果不和 -t 或 -l 标志或两者一起使用,则该标志无效。

同-lt 一起使用:按照访问时间排序并显示
同-l一起使用:显示访问时间并按文件名排序
其他:按照访问时间排序

 

-U 

不进行排序;按照目录顺序列出项目
 

-w, --width=COLS 

assume screen width instead of current value
设置显示一行的宽度
 

-x 

以多列格式横向排序输出。
 

-X

按条目扩展名的字母排序
 

-1 

强制输出为每行一项格式。当输出没有定向到终端时,此为缺省值。
 

 

SELinux options:

--lcontext
Display security context. Enable -l. Lines will probably be too wide for most displays.

显示安全上下文。 启用-l。 行宽可能对于大多数显示器来说太宽。

-Z, --context
Display security context so it fits on most displays.Displays only mode, user, group, security context and filename.

显示安全上下文,使其适合大多数显示器。仅显示权限,用户,组,安全上下文和文件名。

--scontext
Display only security context and file name.

仅显示安全上下文和文件名。

退出状态:
0 正常
1 一般问题 (例如:无法访问子文件夹)
2 严重问题 (例如:无法使用命令行参数)

实践操作

实例1.1

ls -a
列出所有文件,包括 .(点)、..(点点)和其他以点开头的文件。
 
ls -l chap1 .profile
显示一个长列表,包括关于 chap1 和 .profile 的详细信息。
 
ls -d -l . manual manual/chap1
显示目录 . 和 manual 以及文件 manual/chap1 的长列表。不使用 -d 标志时,会列出 . 和 manual 目录中的所有文件,而不是关于目录本身的详细信息。
 
ls -l -t
显示最近被修改文件的长列表,较旧的文件跟在后面。
 

只显示目录

ls -F | grep "/$"

ls -al | grep "^d"

同理只显示文件

ls -al | grep "^-"

 

另外用wc命令来查看文件个数

ls -l | grep "^-" | wc -l

查看目录个数:

ls -l | grep "^d" | wc -l

查看目录里面所有文件文件个数

ls -Rl | grep "^-" | wc -l

 
文件
/usr/bin/ls 包含 ls 命令。
/etc/passwd 包含用户 ID。
/etc/group 包含组 ID。
/usr/share/lib/terminfo/* 包含终端信息。
posted @ 2017-10-10 22:48  WIN&迷失  阅读(299)  评论(0编辑  收藏  举报