当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 指令篇:档案目录管理--touch

Unix/Linux
Linux网管123---组态XWindow系统-1.使用X-Configurator
Linux网管123---安装及硬体组态-8.下载及安装RedHat更新程式
Linux网管123---安装及硬体组态-7.从LILO启动
Linux网管123---安装及硬体组态-1.建立一张安装磁片
Linux程式设计-11.ShellScript(bash)--(2)教学例
Linux程式设计-11.ShellScript(bash)--(1)简介
简单配置linux下的网络邻居samba
如何使用 Linux 系统下的编辑器系列教程(1)
如何将.tif\.rgb\.gif......的图片转换成.xpm的格式?
请问linux下如何查看打开的文件数?谢谢如bsd下面的pstat -T
Redhat 8.0运行一段时间就死机高手帮忙啊(重发)
filesystem type unknown
LINUX与UNIX SHELL编程指南 下载
LINUX应用程序开发指南 下载
各位大哥,请告诉我linux下的文件目录的颜色代表什么?
安装最新中文OpenOffice.org 1.1 RC3
关于redhat 9.0 打开进程打开最大文件数
如何在shell脚本程序中获取日期值?
关于dd命令的求助!!!
如何恢复grub?

Unix/Linux 中的 Linux 指令篇:档案目录管理--touch


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 153 ::
收藏到网摘: n/a

  名称:touch

使用权限:所有使用者

使用方式: 
touch [-acfm] 
[-r reference-file] [--file=reference-file] 
[-t MMDDhhmm[[CC]YY][.ss]] 
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}] 
[--no-create] [--help] [--version] 
file1 [file2 ...] 


说明: 
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。 


参数:
a 改变档案的读取时间记录。 
m 改变档案的修改时间记录。 
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。 
f 不使用,是为了与其他 unix 系统的相容性而保留。 
r 使用参考档的时间记录,与 --file 的效果一样。 
d 设定时间与日期,可以使用各种不同的格式。 
t 设定档案的时间记录,格式与 date 指令相同。 
--no-create 不会建立新档案。 
--help 列出指令格式。 
--version 列出版本讯息。 


范例:


最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。



 touch file
touch file1 file2 
 


将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。 



 touch -c -t 05061803 file
touch -c -t 050618032000 file 
 


将 file 的时间记录改变成与 referencefile 一样。 



 touch -r referencefile file 
 


将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。


 touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file 




 touch 也可以制造一个空档(0 byte).例如DHCP Server所需的/etc/dhcpd.leases,dhcpd 必须要有这个档案才能运作正常.[root@/root]#touch /etc/dhcpd.leases[root@/root]#ls -l /etc/dhcpd.leases-rw-r--r-- 1 root root 0 Jul 3 05:50 /etc/dhcpd.leases


记得上一次重灌前把/etc下的设定档tar起来,重灌好之后把原有设定还原,却发现系统检查设定档的时间有问题,这个时候用
 find /etc -name * -exec touch {}; 
 
就可以把设定档的时间更新到与现在一致了。