s 命令可以说是linux下最常用的命令之一。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。
只列出子目录
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)
计算当前目录下的文件数和目录数
下面命令可以分别计算当前目录下的文件和目录个数:
# ls -l * |grep "^-"|wc -l
# ls -l * |grep "^d"|wc -l
1)ls –a 显示当前目录中的所有文件,包含隐藏文件
2)ls –l 显示文件及其详细信息。
3)ls -ls 在每个文件的后面打印出文件的大小。 size(大小)
相似命令:
ls -lh 在每个文件的后面打印出文件的大小。 size(大小)
4). ls -t 按时间进行文件的排序 Time(时间)
5). ls -A 列出除了"."和".."以外的文件。
6). ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
7)列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面,可以使用如下命令:
ls -ltr s*
8)将/linux 目录以下所有目录及档案详细资料列出:
ls -lR /linux
9):列出当前目录中所有以“t”开头的目录的详细内容,可以使用如下命令:
命令:ls -l t*
几个比较常用的参数。
-t 按最后修改时间排序。
-S 按文件大小排序。(大写的S)
-r 排序时按倒序。
-h 显示文件大小时增加可读性
ls实现列文件按时间排序
1) ls -lt 时间最近的在前面
2) ls -ltr 时间从前到后
3) 利用sort
ls -l | sort +7 (日期为第8列) 时间从前到后
ls -l | sort -r +7 时间最近的在前面