Linux-查看目录与文件(ls)

在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   可以通过这个命令查看具体某个时间段做过修改的文件或目录(个人常用)