郑重声明:由于本人水平有限,如有不对的地方请大神指正不甚感激(327568824@qq.com)
一 简介
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。ls命令在日常的linux操作中用的很多!
二 命令格式
ls [选项] [目录]
三 常用参数
-a -all 列出目录下的所有文件
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-R, –recursive 同时列出所有子目录层。
-Z 显示安全上下文
-L --dereference当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。
四 不常用参数
-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 当遇到目录时列出目录本身而非目录内的文件
-D,--dired 产生适合Emacs的dired模式使用的结果
-f 不进行排序,-aU选项生效,-lst选项失效
-F,--classify 加上文件类型的指示符号(*/=@|其中一个)
--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 234M2G)
--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 不显示任何符合指定shellPATTERN的项目
-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 screenwidth instead of current value
-x listentries by lines instead of by columns
-X sortalphabetically by entry extension
-1 list one file per line
SELinux options:
--lcontext Displaysecurity context. Enable -l. Lines
will probably betoo wide for most displays.
-Z,--context Display security contextso it fits on most
displays. Displays only mode, user, group,
security contextand file name.
--scontext Displayonly security context and file name.
--help 显示此帮助信息并退出
--version 显示版本信息并退出
五 示例
5.1 查看/home/bzfys/下所有目录信息
[bzfys@Nagios~]$ ls -Rl
.:
总用量 4
drwxrwxr-x 5 bzfys bzfys 4096 6月 12 17:24 t1
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 t5
./t1:
总用量 12
drwxrwxr-x 4 bzfys bzfys 4096 6月 12 17:24 m1
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:51 t2
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:52 t3
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 t4
./t1/m1:
总用量 8
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 17:24 t2
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 17:24 t8
./t1/m1/t2:
总用量 0
./t1/m1/t8:
总用量 0
./t1/t2:
总用量 0
./t1/t3:
总用量 0
5.2 查看当前下含有t的信息文件\目录信息
[bzfys@Nagiost1]$ ls -l t*
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 t4
t2:
总用量 0
t3:
总用量 0
5.3 查看当前文件数和目录数
[bzfys@Nagios t1]$ ll
总用量 12
drwxrwxr-x 4 bzfys bzfys 4096 6月 12 17:24 m1
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:51 t2
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:52 t3
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 t4
查看文件数:
[bzfys@Nagios t1]$ ls -l |grep "^-"|wc -l
1
查看目录数
[bzfys@Nagiost1]$ ls -l * |grep "^d"|wc -l
2
5.4 在ls中列出文件的绝对路径
[bzfys@Nagios~]$ ls | sed "s:^:`pwd`/:"
/home/bzfys/t1
/home/bzfys/t5
5.5 递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径
[bzfys@Nagios~]$ find $PWD | xargs ls -ld
drwx------ 5 bzfys bzfys 4096 6月 12 16:52 /home/bzfys
-rw-r--r-- 1 bzfys bzfys 18 8月 29 2012 /home/bzfys/.bash_logout
-rw-r--r-- 1 bzfys bzfys 176 8月 29 2012 /home/bzfys/.bash_profile
-rw-r--r-- 1 bzfys bzfys 124 8月 29 2012 /home/bzfys/.bashrc
drwxr-xr-x 2 bzfys bzfys 4096 7月 14 2010 /home/bzfys/.gnome2
drwxr-xr-x 4 bzfys bzfys 4096 12月 5 2013 /home/bzfys/.mozilla
drwxr-xr-x 2 bzfys bzfys 4096 12月 3 2009 /home/bzfys/.mozilla/extensions
drwxr-xr-x 2 bzfys bzfys 4096 12月 3 2009 /home/bzfys/.mozilla/plugins
drwxrwxr-x 5 bzfys bzfys 4096 6月 12 17:24 /home/bzfys/t1
drwxrwxr-x 4 bzfys bzfys 4096 6月 12 17:24 /home/bzfys/t1/m1
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 17:24 /home/bzfys/t1/m1/t2
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 17:24 /home/bzfys/t1/m1/t8
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:51 /home/bzfys/t1/t2
drwxrwxr-x 2 bzfys bzfys 4096 6月 12 16:52 /home/bzfys/t1/t3
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 /home/bzfys/t1/t4
-rw-rw-r-- 1 bzfys bzfys 0 6月 12 16:52 /home/bzfys/t5
[bzfys@Nagios~]$ ls -tl --time-style=full-iso
总用量 4
drwxrwxr-x 5 bzfys bzfys 4096 2015-06-1217:24:27.063497575 +0800 t1
-rw-rw-r-- 1 bzfys bzfys 0 2015-06-12 16:52:56.483357936 +0800 t5
六 参考资料
http://gnu.org/licenses/gpl.html