Tag Archive: ls

七月 29th, 2016

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

 

TAGS: ,
三月 1st, 2016

很多时候,我们可以通过查看文件改动时间(mtime)来直观的判断文件是否为自己上传,从而断定网站是否曾被黑.

对于服务器管理员,我们可以通过查看mtime来缩短检查数据时间.

 

开始我们简单了解下文件时间:

access time   atime在读取文件或执行文件时会修改
create time   ctime在文件写入,更改所有者,权限。链接时文件的ctime会随之改变
modified time  mtime 在文件写入时会改

 

接下来我们该如何去检查自己数据是否变更:

(1)使用find 命令:

查找在某个时间段之间(如20160228—20160301)的文件,可以使用如下命令:

>> find . -newermt ‘20160228’ ! -newermt ‘20160301’

 

找出”3天以前被改动过的文件”

>> find . -mtime +3 -type f -print

 

找出”3天内被改动过的文件”

>> find . -mtime -3 -type f -print

 

找出”第三天被改动过的文件”

>> find . -mtime 3 -type f -print

>> find . -mtime +2 -mtime -4 -type f -print

注: “.” 表示当前目录

 

(2)其实最直观的方式就是进行文件时间排序

>> cd 相应目录

>> ls -lrt

-l use a long listing format 以长列表方式显示(详细信息方式)

-t sort by modification time 按修改时间排序(默认最新时间的在最前面)

-r reverse order while sorting (反序) 

TAGS: , ,