怎么用LS显示ls 指定文件日期的文件

linux 下查看文件修改时间 等 - 海王 - 博客园
随笔 - 544
查看文件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20& Blocks: 8& IO Block: 4096& regular fileDevice: 801h/2049d& Inode: 380730& Links: 1Access: (0644/-rw-r--r--) Uid: (& 0/& root)& Gid: (& 0/& root)Access:
01:50:44. +0800Modify:
01:48:18. +0800Change:
01:48:18. +0800 说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态。现在是要过滤出Modify的时间戳,并以yyyyMMddHHSS格式保存,则可以利用下面这条命令:stat awk.txt | grep -i Modify | awk -F. '{print $1}' | awk '{print $2$3}'| awk -F- '{print $1$2$3}' | awk -F: '{print $1$2$3}'输出结果:18 修改文件时间与创建新文件:touch 在介绍ls命令时,提到每个文件在Linux下面都会记录3个主要的修改时间:o modification time(mtime,修改时间):当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性。o status time(ctime,状态时间):当该文件的”状态(status)”改变时,就会更新这个时间,举例来说,更改了权限与属性,就会更新这个时间。o access time(atime,存取时间):当“取用文件内容”时,就会更新这个读取时间。举例来说,使用cat去读取 ~/.bashrc,就会更新atime了。举例来说,我们来看一看/etc/man.config文件的时间。[root@linux ~]# ls -l /etc/man.config-rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc/man.config[root@linux ~]# ls -l --time=atime /etc/man.config-rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc/man.config[root@linux ~]# ls -l --time=ctime /etc/man.config-rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc/man.config
看到了吗?在默认的情况下,ls显示的是该文件的mtime,也就是这个文件的内容上次更改的时间。我的系统是在6/25安装的,因此,这个文件产生但状态更改的时间就回溯到那个时间点。因为刚才的范例中使用到这个文件,所以,它的atime就会变成刚刚使用的时间了。
文件的时间很重要,因为如果误判文件时间,可能会造成某些程序无法顺利运行。那么,万一我发现了一个文件来自将来(很多时候会有这个问题的。我们在安装的时候,提到的GMT时间就是那个意思),该如何让该文件的时间变成“现在”的时刻呢?很简单,用touch命令即可。[root@linux ~]# touch [-acdmt] 文件参数:-a : 仅修改access time。-c : 仅修改时间,而不建立文件。-d : 后面可以接日期,也可以使用 --date="日期或时间"-m : 仅修改mtime。-t : 后面可以接时间,格式为 [YYMMDDhhmm]范例: 范例一:新建一个空的文件。[root@linux ~]# cd /tmp[root@linux tmp]# touch testtouch[root@linux tmp]# ls -l testtouch-rw-r--r-- 1 root root&&& 0 Jul 19 20:49 testtouch# 注意,这个文件的大小是0。在默认的状态下,如果touch后面接文件,# 则该文件的3个时间(atime/ctime/mtime)都会更新为当前时间。若该文件不存在,# 则会主动建立一个新的空文件。例如上面这个例子。 范例二:将 ~/.bashrc复制成为bashrc,假设复制完全的属性,检查其日期。[root@linux tmp]# cp ~/.bashrc bashrc[root@linux tmp]# ll --time= ll --time=ctime bashrc-rwxr-xr-x 1 root root 395 Jul 4 11:45 bashrc &==这是mtime-rwxr-xr-x 1 root root 395 Jul 19 20:44 bashrc &==这是atime-rwxr-xr-x 1 root root 395 Jul 19 20:53 bashrc &==这是ctime# 在这个案例中,我们使用了 ; 命令分隔符,它的用法我们会在Bash shell中提到。# 此外,ll是ls -l的命令别名,这个也会在bash shell中再次提及,# 当前可以简单地想成,ll就是ls -l的简写。至于 ; 则是同时发出两个命令,# 且让两个命令“按顺序”执行的意思。上面的结果中可以看到,该文件更改的日期# Jul 4 11:45,但是atime与ctime不一样。 范例三:修改案例二的bashrc文件,将日期调整为两天前。[root@linux tmp]# touch -d "2 days ago" bashrc[root@linux tmp]# ll --time= ll --time=ctime bashrc-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc-rwxr-xr-x 1 root root 395 Jul 19 21:02 bashrc# 与上一个范例比较,本来是19日的变成了17日了(atime/mtime)。# 不过,ctime并没有跟着改变。 范例四:将上个范例的bashrc日期改为 2:02。[root@linux tmp]# touch -t
bashrc[root@linux tmp]# ll --time= ll --time=ctime bashrc-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc-rwxr-xr-x 1 root root 395 Jul 19 21:05 bashrc# 注意,日期在atime与mtime都改变了,但ctime则是记录当前的时间。
通过touch命令,可以轻松地修改文件的日期与时间。并且,也可以建立一个空文件。不过,要注意的是,即使复制一个文件,复制所有属性,但也没有办法复 制ctime属性。ctime可以记录文件最近改变状态(status)的时间。无论如何,还是要说明一下,我们平时看的文件属性中,比较重要的还是 mtime。我们关心的常常是这个文件的“内容”是什么时候更改的。touch这个命令最常用的情况是:o 建立一个空文件。o 将某个文件日期修改为当前日期(mtime与atime)。
与文件相关的几个时间:
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
阅读(...) 评论()
Copyright & 海王
Powered by:
模板提供:3644人阅读
常用命令(39)
在linux系统中,使用ls按时间排序文件,其实很简单,如下:
即可按时间排序当前目录下的文件。
附,ls命令的参数中文详解:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-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 一行只输出一个文件。
ls实现列文件按时间排序
1) ls -lt& 时间最近的在前面
2) ls -ltr 时间从前到后
& ls -l | sort +7 (日期为第8列)& 时间从前到后
ls -l | sort -r +7 时间最近的在前面
本文来自:本文链接:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:295777次
积分:3974
积分:3974
排名:第6638名
原创:54篇
转载:384篇
(2)(4)(1)(10)(5)(2)(3)(1)(11)(6)(7)(8)(4)(2)(7)(4)(6)(2)(13)(46)(10)(11)(14)(10)(30)(28)(7)(17)(23)(13)(27)(52)(13)(7)(8)(1)(1)(4)(1)(4)(1)(1)(1)(3)(7)(1)博客访问: 1440049
博文数量: 366
博客积分: 4955
博客等级: 上校
技术积分: 4577
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
总用量 1152
-rw-r--r--
1 -03 19:52 config.log
drwxr-xr-x
-03 19:54 lib
drwxr-xr-x
-03 19:55 resize
ls -lnt 最新的文件在最前面(降序)
总用量 1152
drwxr-xr-x
-03 19:55 resize
drwxr-xr-x
-03 19:54 lib
-rw-r--r--
1 -03 19:52 config.log
阅读(8278) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。11182人阅读
linux(107)
Linux&下查看文件时,ls&l&缺省是不显示秒的:
-rw-r--r-- 1 gps gps 0
16:21 README.txt
-rw-r--r-- 1 gps gps 0
16:21 test.txt
要显示秒(实际更精确),可以用&full-time&参数:
$ ls --full-time
-rw-r--r-- 1 gps gps 0
16:21:15. +0800 README.txt
-rw-r--r-- 1 gps gps 0
16:21:23. +0800 test.txt
要显示更多信息,用&stat&命令:
$ stat test.txt
&&File: `test.txt'
&&Size: 0&&&&&&&&&&&&&&&Blocks: 0&&&&&&&&&&IO Block: 4096&&&regular empty file
Device: 801h/2049d&&&&&&Inode: 4980751&&&&&Links: 1
Access: (0644/-rw-r--r--)&&Uid: ( 1000/&&&&&gps)&&&Gid: ( 1000/&&&&&gps)
16:21:23. +0800
16:21:23. +0800
16:21:23. +0800
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1666203次
积分:23923
积分:23923
排名:第226名
原创:877篇
转载:379篇
评论:100条
(13)(13)(11)(30)(27)(7)(25)(14)(10)(11)(4)(11)(9)(2)(2)(9)(22)(14)(4)(10)(10)(7)(11)(4)(10)(6)(10)(11)(21)(19)(18)(22)(16)(16)(41)(26)(21)(8)(23)(10)(35)(25)(26)(17)(17)(7)(9)(3)(5)(10)(23)(21)(21)(49)(12)(14)(13)(19)(42)(93)(40)(23)(117)(36)(33)

我要回帖

更多关于 ls 指定文件名 的文章

 

随机推荐