在Linux系统当中,这个ls命令可能是最常见被执行的。因为我们都要知道文件或者目录的相关信息。不过,我们Linux的文件所记录的信息实在太多了,ls没有需要全部都列出来。所以,当你执行ls时,默认显示的只有“非隐藏文件名、以文件名进行排序及文件名代表的颜色显示”。
命令格式:
ls [OPTION]… [FILE]…
参数:
-a/–all 列出目录下所有文件,包括开头为”.”的隐藏文件;
-A/–almost-all 同-a,但不列出当前目录(.)与当前目录的父目录(..);
-c 配合 -lt,根据ctime(文件最后修改额时间)排序;
-d/–directory 仅列出目录本身,而不是目录内的文件数据(常用);
-D/–dired 产生适合 Emacs 的 dired 模式使用的结果;
-f 直接列出结果,而不进行排序(默认以文件名排序);
-F 根据文件、目录等信息给予附加数据结构,例如:
* 代表可执行文件 / 代表目录 @ 代表链接
= 代表socket文件 | 代表FIFO文件
-g 类似-l,但不列出所有者;
-G/–no-group 不列出任何有关组的信息;
-h/–human-readable 将文件容量以易读的方式(GB、KB、M)列出来,默认字节;
–si 类似于-h,但文件大小取1000的次方而不是1024;
-i/–inode 列出inode 号码;
-I/–ignore=PATTERN(样式) 不印出任何符合shell万用字符<样式>的项目;
-k 以k字节的形式表示文件的大小;
-l 以长格式列出文件属性与权限等信息;
-L/–dereference 但显示符号链接文件信息时,显示符号链接所指的对象而非符号链接本身的信息;
-m 所有文件/目录以逗号”,”分隔
-n/–numeric-uid-gid 列出UID与GID;
-N/–literal
-o 类似与-l,显示文件的除组信息外的详细信息;
-r/–reverse 将排序结果反向输出;
-R/–recursive 递归显示目录内容,等于该目录下所有文件都显示出来;
-s/–size 以块大小为单位列出所有文件的大小;
-S 以文件容量大小排序,而非文件名排序;
-t 依时间排序,而非文件名;
-u 以访问时间排序,配合-lt显示访问时间且依访问时间排序
-U 不进行排序,依文件系统原有的次序列出项目;
-v 根据版本进行排序;
-w/–width=COLS 自行指定屏幕宽度而不使用目前的数值-w N(数字,规定宽度);
-x 逐行列出项目而不是逐栏列出;
-X 根据扩展名排序;
-1(数字) 每行只列出一个文件;
–help 显示帮助信息离开;
–version 显示版本信息并离开
–color=never 不要依据文件特效给予颜色显示;
–color=always 显示颜色;
–color=auto 让系统自行依据设置判断是否给予颜色;
–full-time 以完整时间显示(包括年月日);
–time=(atime,ctime) 输出访问时间或改变权限属性时间
常见组合:
ls -a/-A : 显示隐藏文件;
ls –full-time : 显示完整时间;
ls -R : 递归显示相目录内容;
ls -ld : 显示目录本身属性;
ls -lh : 以易读的容量单位(K、M、G)列出所有项目;
ls -lrt: 以时间反向排序,对于服务器管理员,每日查看近期修改的文件或目录,该命令就很实用了;
ls -F /etc | grep /$ : 只列出文件下的子目录;
ll –full-time -crt | grep 2016-07-12 可以通过这个命令查看具体某个时间段做过修改的文件或目录(个人常用)