- 浏览: 659502 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
两者有此不同,在Linux下没有创建时间的概念 ,也就是不能知道文件的建立时 间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取 过,那么访问时间=建立时间,因为不好判断文件是否被改过、读过、其状态是否变过,所以判断文件的建立时间基本上能为不可能。
如何查一个文件的三个时间呢?
先用下面的命令来建立一个文件
# date && echo "this is file be used test time of file" >filetime.txt && ll --full-time filetime.txt
Tue Aug 4 15:13:44 HKT 2009
-rw-r--r-- 1 root root 39 2009-08-04 15:13:44.000000000 +0800 filetime.txt
# date && echo "this is file be used test time of file" >filetime.txt && ll --full-time filetime.txt
Tue Aug 4 15:13:44 HKT 2009
-rw-r--r-- 1 root root 39 2009-08-04 15:13:44.000000000 +0800 filetime.txt
通过stat filename.txt来查,
如:
# stat filetime.txt
File: `filetime.txt'
Size: 39 Blocks: 8 IO Block: 4096 Regular File
Device: 802h/2050d Inode: 17 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 15:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800
# stat filetime.txt
File: `filetime.txt'
Size: 39 Blocks: 8 IO Block: 4096 Regular File
Device: 802h/2050d Inode: 17 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 15:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800
说明:Access访问时间。Modify修改时间。Change状态改动时间。可以stat *查看这个目录所有文件的状态。
ctime=change time
atime=access time
mtime=modifiy time
atime=access time
mtime=modifiy time
因为这是一个新的文件(filetime.txt),没做过内容、属性的更改,也没读过这个文件,所以三者(访问时间、修改时间、状态改动时间)的时间是一致的,这时文件的修改时间与这三个时间是一样的,是没有疑问的。
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件运用 more、cat等命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
2、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
另个除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:
ls -lc filename 列出文件的 ctime (最后更改时间)
ls -lu filename 列出文件的 atime(最后存取时间)
ls -l filename 列出文件的 mtime (最后修改时间)
在linux中stat函数中,用st_atime表示文件数据最近的存取时间(last accessed
time);用st_mtime表示文件数据最近的修改时间(last modified
time);使用st_ctime表示文件i节点数据最近的修改时间(last i-node's status changed time)。
字段 说明 例子 ls(-l)
st_atime 文件数据的最后存取时间 read -u
st_mtime 文件数据的最后修改时间 write 缺省
st_ctime 文件数据的最后更改时间 chown,chmod -c
st_atime 文件数据的最后存取时间 read -u
st_mtime 文件数据的最后修改时间 write 缺省
st_ctime 文件数据的最后更改时间 chown,chmod -c
在linux系统
中,系统把文件内容数据与i节点数据是分别存放的,i节点数据存放了文件权限与文件属主之类的数据。
另外,可以格式化输出文件的三种时间,如:
find . -name file -printf "%AY-%Am-%Ad %AH:%AM:%AS"
find . -name file -printf "%TY-%Tm-%Td %TH:%TM:%TS"
find . -name file -printf "%CY-%Cm-%Cd %CH:%CM:%CS"
find . -name file -printf "%TY-%Tm-%Td %TH:%TM:%TS"
find . -name file -printf "%CY-%Cm-%Cd %CH:%CM:%CS"
linux的ctime代表的是文件修改时间,如果文件被修改过就很难知道文件的创建时间,在某些特殊情况下,需要查看文件的创建时间,正常情况下查看文件的ctime是无法实现的。可以使用一个变通的方法来实现保留文件创建时间,但是同时也会牺牲一些其它特性。
可以在mount文件的时候使用参数-o noatime,来把系统更新atime的特性关闭。使用了noatime参数挂载后,在文件被修改后文件的atime是不会被改变的,使用stat查看到的atime就是文件的创建时间。
如:
# / sbin/mkfs -t ext3 /dev/ram10
# mount -t ext3 -o noatime /dev/loop0 /mnt/foo
# mount
/dev/ram10 on /mnt/foo type ext3 (rw,noatime)
# cd /mnt/foo
# touch filetime1.txt
# stat filetime1.txt
File: `filetime1.txt'
Size: 0 Blocks: 0 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:51:32.000000000 +0800
Change: 2009-08-04 20:51:32.000000000 +0800
File: `filetime1.txt'
Size: 0 Blocks: 0 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:51:32.000000000 +0800
Change: 2009-08-04 20:51:32.000000000 +0800
# echo foo.ok >> filetime1.txt
[root@logs-bak foo]# stat filetime1.txt
File: `filetime1.txt'
Size: 14 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:53:27.000000000 +0800
Change: 2009-08-04 20:53:27.000000000 +0800
[root@logs-bak foo]# stat filetime1.txt
File: `filetime1.txt'
Size: 14 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:53:27.000000000 +0800
Change: 2009-08-04 20:53:27.000000000 +0800
# cat filetime1.txt
foo.ok
#stat filetime1.txt
File: `filetime1.txt'
Size: 14 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:53:27.000000000 +0800
Change: 2009-08-04 20:53:27.000000000 +0800
foo.ok
#stat filetime1.txt
File: `filetime1.txt'
Size: 14 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:51:32.000000000 +0800
Modify: 2009-08-04 20:53:27.000000000 +0800
Change: 2009-08-04 20:53:27.000000000 +0800
# 通过以上实验可以看出文件的access time 是不变的。
接着向下多测试一下.
# vi filetime1.txt
# stat filetime1.txt
File: `filetime1.txt'
Size: 23 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 14 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:55:05.000000000 +0800
Modify: 2009-08-04 20:55:05.000000000 +0800
Change: 2009-08-04 20:55:05.000000000 +0800
File: `filetime1.txt'
Size: 23 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 14 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:55:05.000000000 +0800
Modify: 2009-08-04 20:55:05.000000000 +0800
Change: 2009-08-04 20:55:05.000000000 +0800
# chmod 777 filetime1.txt
# stat filetime1.txt
File: `filetime1.txt'
Size: 23 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 14 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:55:05.000000000 +0800
Modify: 2009-08-04 20:55:05.000000000 +0800
Change: 2009-08-04 20:57:36.000000000 +0800
# stat filetime1.txt
File: `filetime1.txt'
Size: 23 Blocks: 2 IO Block: 4096 Regular File
Device: 10ah/266d Inode: 14 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-08-04 20:55:05.000000000 +0800
Modify: 2009-08-04 20:55:05.000000000 +0800
Change: 2009-08-04 20:57:36.000000000 +0800
可见,chmod后,Ctime的变化。
#########################################################
说到这里,大概大家也对在linux下文件的时间有所了解了吧!
那么以下的操作对文件的时间有什么影响呢?
操作 atime mtime ctime
----------------------------------------------------------
mv
----------------------------------------------------------
cp
----------------------------------------------------------
touch
----------------------------------------------------------
cat/more/less
----------------------------------------------------------
ls
----------------------------------------------------------
chmod/chown
----------------------------------------------------------
ln
----------------------------------------------------------
echo
----------------------------------------------------------
vi
----------------------------------------------------------
(请大家测试完成这个表吧!!!!做完测试可以给我留言啊!)
##############################################################
另外,从kernel2.6.29开,还默认集成了一个relatime的属性。可能是因为在文件读操作很频繁的系统
中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。
使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西 了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录。
使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西 了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录。
发表评论
-
Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf
2012-04-14 00:48 1698LD_LIBRARY_PATH Linux环境变量名,该 ... -
Linux系统下查找大文件或目录的技巧
2012-01-09 11:34 1093当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否删 ... -
Linux中如何杀掉僵尸进程
2012-01-08 11:06 11541检查当前僵尸进程信息 $ ps -ef | grep de ... -
Linux系统中增加Swap分区大小
2012-01-07 22:22 12381、检查当前的分区情况: [root@localho ... -
Linux系统调优:提高磁盘吞吐量
2011-10-28 23:13 2603在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不 ... -
ssh密钥对的自动登录
2011-10-30 02:34 1524说明: 什么是基于ssh密钥对的自动登录? 下面从整体上 ... -
利用shell和iptables实现自动拒绝恶意试探连接SSH服务
2011-10-06 16:49 1104利用shell和iptables实现自动拒绝恶意试探连接SSH ... -
Linux系统下比较两个文件并删除相同部分
2011-10-04 22:17 1394方法一: comm -23 file1 file2 ... -
redhat 内核参数意思
2011-08-31 01:23 1726一、前言 本文档针对OOP8生产环境,具体优化策略需要根据实 ... -
Linux裸设备总结
2011-08-29 19:56 13371、什么裸设备?字符设 ... -
linux nfs配置概要
2011-08-29 19:11 932利用nfs 可以共享系统中的指定文件夹给网络中的其它机器。我们 ... -
linux操作系统下NTP服务器配置
2011-08-25 09:23 1768Network Time Protocol(NTP ... -
优化Linux生产服务器的经验之谈
2011-08-23 21:21 1390一、时间同步 生产环境下的服务器对时间的要求是精准的,编辑 ... -
NTP服务器安装手记
2011-08-23 21:13 1545NTP服务器安装手记随着时间的推移,计算机的时钟会倾向于漂移。 ... -
Linux下oracle常见安装错误总结
2011-08-23 20:37 1564错误一: /tmp/OraInstall2007-1 ... -
LVM创建
2011-08-23 18:42 1440LVM (有点像 WIN 下的动态磁盘, ... -
chkconfig --add httpd
2011-08-22 10:07 1500Apache 无法自动启动, 1 、将 apa ... -
Linux下cache内存释放
2011-08-22 08:59 776/proc是一个虚拟文件系统,我们可以通过对它的读写操作做 ... -
Linux系统不响应SYN包的解决办法
2011-08-22 00:29 2284关于syn为什么没有回应的问题真是郁闷了好久。 现象就是在客户 ... -
Linux下使用Yum管理本地软件包(repository)
2011-08-21 23:52 1802在Linux系统的维护中,Linux软件包之间的依赖性是一件令 ...
相关推荐
atime:access time,最近一次访问时间,当使用这个文件的时候就会更新这个时间。 mtime:modify time,最近一次文件内容更改时间,当修改文件内容数据时,就会更改这个时间。 ctime:change time,最近一次文件属性或...
在较早的文件系统如ext、ext2、ext3中,并不记录文件的创建时间,只记录了访问时间(Access)、修改时间(Modify)和状态更改时间(Change)。而在ext4文件系统中,虽然创建时间(Birth或crtime)作为一个可选特性...
在Linux操作系统中,文件的时间戳可以分为三种类型:访问时间(Access Time)、修改时间(Modify Time)和改变时间(Change Time)。访问时间记录了文件的最后访问时间,修改时间记录了文件的最后修改时间,改变时间...
print "文件 $filename 的最后修改时间为:$modify_time_readable\n"; ``` #### 三、深入理解与优化 尽管上述方法能够有效获取文件的最后修改时间,但在实际应用中,我们还应考虑以下几点: 1. **错误处理**:当`...
- **访问时间(Access Time, atime)**:当文件内容被读取时,这个时间会被更新。 - **改变时间(Change Time, ctime)**:当文件的元信息(如权限、所有权等)发生改变时,此时间戳更新。 - **修改时间(Modify ...
本篇文章将深入探讨如何使用Linux命令修改文件的三个关键时间戳:访问时间(Access Time)、内容修改时间(Modification Time)以及元数据修改时间(Change Time),并详细介绍`stat`和`touch`两个命令的用法。...
- **atime (access time)**:文件最后被访问的时间。 - **ctime (change time)**:文件元数据最后一次被更改的时间。 - **btime (birth time)**:文件创建的时间。 #### 六、“Extra”字段的用途 EXT4 采用了特殊...
Linux Solaris Windows 分别对应如下目录 MegaCLI for DOS MegaCLI for Linux MegaCLI for Solaris MegaCLI for FreeBSD MegaCLI for Windows ********************************************* LSI Corp. Mega...
Create and modify tables and table cells. Set their border color, alignment, cellspacing and more! Once you've created a table, simply right click inside of it and use the handy popup menu to change ...
Parsing XML can be a time-consuming task, especially when large amounts of data are involved. As of v15.10, UltraEdit provides you with a the XML Window for the purpose of parsing ...
28. Trudy can pretend to be Bob to Alice (and vice-versa) and partially or completely modify the message(s) being sent from Bob to Alice. For example, she can easily change the phrase “Alice, I owe ...
安装linux工具源码 (UUI) Universal USB Installer ?009-2012 Lance http://www.pendrivelinux.com This Open Source tool falls under the GNU General Public License Version 2 Source Code is made available at...
This can result in web pages that take an unnecessarily long time to download. The Paste from Word button solves this by removing word markup before pasting the text into your page. 支持...
operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a ...
operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a ...
- Fix MTRR configuration (prevented boot of modern Linux kernels) - Fix interrupt vectors for INT 60h-66h (reserved for user interrupt) by setting them to zero - Fix BIOS INT13 function 08 when ...
Other C++ Features Reference Arguments Function Overloading Default Arguments Variable-Length Arrays and alloca() Friends Exceptions Run-Time Type Information (RTTI) Casting Streams Preincrement and ...
--timeout=[x]=[y]=[color] 倒计时位置、颜色。单位:列,行,24位色彩。 2015-05-14(yaya) 改进 NTFS 文件系统: 对于驻留属性文件(小文件),可以写,也可用 blocklist 显示信息。 对于非驻留属性列表,...
Change for GPE support: when a "wake" GPE is received, all wake GPEs are now immediately disabled to prevent the waking GPE from firing again and to prevent other wake GPEs from interrupting the wake ...