ls 列出文件或目录下的文件名
语法:ls [选项] 目录路径
参数说明:
短选项 | 长选项 | 含义 |
-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=关键字 | across -x,commas -m,horizontal -x,long -l,single-column -1,verbose -l,vertical -C | |
--full-time | 即 -l --time-style=full-iso | |
-g | 类似 -l,但不列出所有者 | |
-G | --no-group | 不列出任何有关组的信息 |
-h | --human-readable | 以容易理解的格式印出文件大小 (例如 1K 234M 2G) |
--si | 类似 -h,但取 1000 的次方而不是 1024 | |
-H | --dereference-command-line | 使用命令列中的符号链接指示的真正目的地 |
--indicator-style=方式 | 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p) | |
-i | --inode | 显示每个文件的 inode 号 |
-I | --ignore=样式 | 不印出任何符合 shell 万用字符<样式>的项目 |
-k | 即 --block-size=1K | |
-l | 使用较长格式列出信息 | |
-L | --dereference | 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息 |
-m | 所有项目以逗号分隔,并填满整行行宽 | |
-n | --numeric-uid-gid | 类似 -l,但列出 UID 及 GID 号 |
-N | --literal | 输出未经处理的项目名称 (如不特别处理控制字符) |
-o | 类似 -l,但不列出有关组的信息 | |
-p | --file-type | 加上文件类型的指示符号 (/=@| 其中一个) |
-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 |
|
-t | 以时间排序 | |
-T | --tabsize=COLS | 指定制表符(Tab)的宽度。缺省为 8。 |
-u | 同-lt 一起使用:按照访问时间排序并显示 同-l一起使用:显示访问时间并按文件名排序 其他:按照访问时间排序 |
|
-U | 不进行排序;依文件系统原有的次序列出项目 | |
-v | 根据版本进行排序 | |
-w | --width=COLS | 自行指定萤幕宽度而不使用目前的数值 |
-x | 逐行列出项目而不是逐栏列出 | |
-X | 根据扩展名排序 | |
-1 | 每行只列出一个文件 |
<大小>可以是以下的单位 (单位前可加上整数):kB=1000,K=1024,MB=1000000,M=1048576,还有 G、T、P、E、Z、Y 如此类推。
默认是不会使用色彩来区别文件的。此方式等於使用了 --color=none 选项。若使用--color 选项但不指定 WHEN 参数等於 --color=always。当使用 --color=auto 时,只当输出至终端机画面 (tty) 时才会显示色彩。
若ls没有颜色显示,你可编辑/etc/bashrc 或目录下的 .bashrc ,加入下列指令:alias ls='ls -F -N --color=auto' 或 alias ls="ls --color" 要立即生效的話,則執行下列命令:source /etc/bashrc 或 source .bashrc
只列出子目录
ls -F | grep /$
ls -l | grep "^d"
计算当前目录下的文件数和目录数
ls -l * |grep "^-"|wc -l---- to count files
ls -l * |grep "^d"|wc -l----- to count dir
linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。
[root@localhost test]# ls -lih
总计 316K 2095120 lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> log2012.log 2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log 2095110 -rw-r--r-- 1 root root 61 11-13 06:03 log2013.log 2095107 -rw-r--r-- 1 root root 0 11-13 06:03 log2014.log 2095117 -rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
- 第一列:inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数 据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令, 能通过inode值最快的找到相对应的文件。
- 第二列:文件种类和权限;
- 第三列:硬链接个数;
- 第四列:属主;
- 第五列:所归属的组;
- 第六列:文件或目录的大小;
- 第七列和第八列:最后访问或修改时间;
- 第九列:文件名或目录名
以log2012.log为例:
2095112 -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
inode 的值是:2095112
文件类型:文件类型是-,表示这是一个普通文件; 关于文件的类型,请参考:每天一个linux命令(24):Linux文件类型与扩展名
文件权限:文件权限是rw-r--r-- ,表示文件属主可读、可写、不可执行,文件所归属的用户组不可写,可读,不可执行,其它用户不可写,可读,不可执行;
硬链接个数: log2012.log这个文件没有硬链接;因为数值是1,就是他本身;
文件属主:也就是这个文件归哪于哪个用户 ,它归于root,也就是第一个root;
文件属组:也就是说,对于这个文件,它归属于哪个用户组,在这里是root用户组;
文件大小:文件大小是296k个字节;
访问可修改时间 :这里的时间是最后访问的时间,最后访问和文件被修改或创建的时间,有时并不是一致的;
实例
-l 选项
显示文件的形态、权限、拥有者、文件大小、最后修改时间、文件的完整名称(文件名+扩展名)。显示格式是每一行显示一个文件或者目录。
上面显示的是当前目录下的内容,如果显示某个深层子目录中的内容,同样可以。例如,当前工作目录为/home/shirdrn/temp,想要显示/home/shirdrn/temp/c下的内容,
-R 选项
与-l相似,只是不显示出文件的所有者。
-t 选项
按照时间顺序列出文件及其目录。
-a 选项
显示指定目录下所有的文件以及目录,同时也列出所有以“.”开头的隐藏文件。
-A 选项
与-a很相似,显示指定目录下所有的文件以及目录,但是并不列出所有以“.”开头的隐藏文件。
-c 选项
文件及其目录是以英文字母序列出,文件在前,目录在后。
-r 选项
正常情况下(使用-c选项)文件是以英文字母序列出,使用-r选项后,以英文字母反序显示。
-R 选项
如果列出的目录中仍有子目录或者文件,将所有目录下面的文件都显示出来。
-si 选项
显示指定目录中文件以及目录的名称,包括他们的大小。
-s 选项
按照文件及其目录的大小只显示文件以及目录名称。
-q 和-Q 选项
-q按照正常显示,只显示文件以及目录名称,-Q为每个文件以及目录的名称加上双引号。
-p 选项
对于目录,则显示格式形如“mydir/”的形式。
选项组合
可以使用各个选项的组合,得到更加适合自己需要的选项。
选项组合有两种格式,例如下面两种组合执行后是一样的:
ls -l -p
ls -lp
ll 是ls -l的别名
ll -t 是降序, ll -t | tac 是升序
转自http://www.lampweb.org/linux/2/1.html