一、ls为外部命令
0> type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
二、常用使用方法
0> ls -l #以详细列表方式显示目录与文件的状态信息
总用量 556 #显示出目录与文件的总大小,单位默认为K
-rw-------. 1 root root 15187 11月 27 15:16 anaconda-ks.cfg
-rwxr--r-- 1 root root 886 11月 27 15:51 cfagent_ck.sh
-rwxr-xr-x 1 root root 1430 7月 23 2013 client.sh
-rw-r--r--. 1 root root 45749 11月 27 15:16 install.log
-rw-r--r--. 1 root root 10037 11月 27 15:08 install.log.syslog
-rw-r--r-- 1 root root 476103 4月 16 10:29 test
0> ls -lh /var/log/messages* #以详细列表方式与高可读性的字节单位(KB、K、MB、M、G、T、P、E、Z、Y)显示目录与文件的状态信息
-rw------- 1 root root 416K 5月 27 18:05 /var/log/messages
-rw------- 1 root root 1.1M 5月 4 03:15 /var/log/messages-20140504
-rw------- 1 root root 1.2M 5月 11 03:05 /var/log/messages-20140511
-rw------- 1 root root 1.1M 5月 18 03:20 /var/log/messages-20140518
-rw------- 1 root root 1.1M 5月 25 03:19 /var/log/messages-20140525
0> ls -alh /root/ #显示隐藏的目录与文件
总用量 772K
dr-xr-x---. 2 root root 4.0K 5月 27 18:14 .
dr-xr-xr-x. 27 root root 4.0K 11月 27 18:46 ..
-rw-------. 1 root root 15K 11月 27 15:16 anaconda-ks.cfg
-rw------- 1 root root 162K 5月 27 15:41 .bash_history
-rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 5月 20 2009 .bash_profile
0> ls -alhS /var/log/messages* #以字节从大到小进行排序显示
-rw------- 1 root root 1.2M 5月 11 03:05 /var/log/messages-20140511
-rw------- 1 root root 1.1M 5月 18 03:20 /var/log/messages-20140518
-rw------- 1 root root 1.1M 5月 25 03:19 /var/log/messages-20140525
-rw------- 1 root root 1.1M 5月 4 03:15 /var/log/messages-20140504
-rw------- 1 root root 417K 5月 27 18:15 /var/log/messages
0> ls -alh --full-time /var/log/messages* #显示目录与文件的详细修改日期
-rw------- 1 root root 418K 2014-05-27 18:20:09.000000000 +0800 /var/log/messages
-rw------- 1 root root 1.1M 2014-05-04 03:15:27.000000000 +0800 /var/log/messages-20140504
-rw------- 1 root root 1.2M 2014-05-11 03:05:27.000000000 +0800 /var/log/messages-20140511
-rw------- 1 root root 1.1M 2014-05-18 03:20:04.000000000 +0800 /var/log/messages-20140518
-rw------- 1 root root 1.1M 2014-05-25 03:19:48.000000000 +0800 /var/log/messages-20140525
0> ls -alh --full-time --sort=time /var/log/messages* #以目录与文件的修改日期从近到远进行排序显示
-rw------- 1 root root 418K 2014-05-27 18:24:30.000000000 +0800 /var/log/messages
-rw------- 1 root root 1.1M 2014-05-25 03:19:48.000000000 +0800 /var/log/messages-20140525
-rw------- 1 root root 1.1M 2014-05-18 03:20:04.000000000 +0800 /var/log/messages-20140518
-rw------- 1 root root 1.2M 2014-05-11 03:05:27.000000000 +0800 /var/log/messages-20140511
-rw------- 1 root root 1.1M 2014-05-04 03:15:27.000000000 +0800 /var/log/messages-20140504
三、命令参数全解
0> ls --help
用法:ls [选项]... [文件]...
列出 FILE 的信息(默认为当前目录)。
如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=大小 块以指定大小的字节为单位
-B, --ignore-backups 不列出任何以"~"字符结束的项目
-c 配合-lt:根据ctime 排序并显示ctime(文件
状态最后更改的时间)
配合-l:显示ctime 但根据名称排序 其他情况:按ctime 排序
-C 每栏由上至下列出项目
--color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是
"never"(默认)、"always"或"auto"其中之一
-d, --directory 当遇到目录时列出目录本身而非目录内的文件 <span style="color:#FF0000;">#此参数在只查看目录信息时很有效</span>
-D, --dired 产生适合Emacs 的dired 模式使用的结果
-f 不进行排序,-aU 选项生效,-lst 选项失效
-F, --classify 加上文件类型的指示符号(*/[email protected]| 其中一个)
--format=关键字 交错-x,逗号分隔-m,水平-x,长-l,
单栏-1,详细-l,垂直-C
--full-time 即-l --time-style=full-iso
-g 类似-l,但不列出所有者
--group-directories-first
在文件前分组目录。此选项可与--sort 一起使用,
但是一旦使用--sort=none (-U)将禁用分组
-G, --no-group 以一个长列表的形式,不输出组名
-h, --human-readable 与-l 一起,以易于阅读的格式输出文件大小
(例如 1K 234M 2G)
--si 同上面类似,但是使用1000 为基底而非1024
-H, --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 号
-I, --ignore=PATTERN 不显示任何符合指定shell PATTERN 的项目
-k 即--block-size=1K
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出UID 及GID 号
-N, --literal 输出未经处理的项目名称 (如不特别处理控制字符)
-o 类似 -l,但不列出有关组的信息
-p, --indicator-style=slash 对目录加上表示符号"/"
-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 个字符
-t 按修改时间排序
-T, --tabsize=COLS 指定制表符(Tab)的宽度,而非8个字符
-u 同-lt 一起使用:按照访问时间排序并显示
同-l一起使用:显示访问时间并按文件名排序
其他:按照访问时间排序
-U 不进行排序;按照目录顺序列出项目
-v 在文本中进行数字(版本)的自然排序
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
SELinux options:
--lcontext Display security context. Enable -l. Lines
will probably be too wide for most displays.
-Z, --context Display security context so it fits on most
displays. Displays only mode, user, group,
security context and file name.
--scontext Display only security context and file name.
--help 显示此帮助信息并退出
--version 显示版本信息并退出
SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。
使用色彩来区分文件类型的功能已被禁用,默认设置和 --color=never 同时禁用了它。
使用 --color=auto 选项,ls 只在标准输出被连至终端时才生成颜色代码。
LS_COLORS 环境变量可改变此设置,可使用 dircolors 命令来设置。
退出状态:
0 正常
1 一般问题 (例如:无法访问子文件夹)
2 严重问题 (例如:无法使用命令行参数)