免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 698 | 回复: 0
打印 上一主题 下一主题

touch [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-28 22:08 |只看该作者 |倒序浏览
touch命令很常用,但是有些参数总是记不住。最近几天在看日志的时候,发现实际上可以用touch修改系统时间戳,销毁一些证据。
                                    
                                    用途
                                    更新文件的访问和修改时间。
                                    语法
                                    
touch [  -a ] [  -c ] [  -m ] [  -f ] [  -r RefFile ] [ Time |  -t Time ] { File ... | Directory ... }
                                    描述
                                    touch 命令更新由 Directory 参数指定的每个目录下的由 File 参数指定的每个文件的访问和修改时间。如果没有指定 Time 变量值,touch 命令就使用当前时间。如果指定了一个不存在的文件,touch 命令就创建此文件,除非指定了 -c 标志。
                                    touch 命令的返回码是时间没有被成功修改的文件数目(包括不存在的文件和没有创建的文件)。
                                    注:
                                    任何超出 2038 年(包含2038年)的日期都是无效的。
                                    标志
                                    
                                       
                                            
                                                -a
                                                更改由 File 变量指定的文件的访问时间。不要更改修改时间,除非也指定了 -m 标志。
                                            
                                            
                                                -c
                                                如果文件不存在,则不要进行创建。没有写任何有关此条件的诊断消息。
                                            
                                            
                                                -f
                                                尝试强制 touch 运行,而不管文件的读和写许可权。
                                            
                                            
                                                -m
                                                更改 File 的修改时间。不要更改访问时间,除非也指定了 -m 标志。
                                            
                                            
                                                -r RefFile
                                                使用由 RefFile 变量指定的文件的相应时间,而不用当前时间。
                                            
                                            
                                                Time
                                                以 MMDDhhmm[YY] 的格式指定新时间戳记的日期和时间,其中: MM 指定一年的哪一月(从 01 到 12)。 DD 指定一月的哪一天(从 01 到 31)。 hh 指定一天中的哪一小时(从 00 到 23)。 mm 指定一小时的哪一分钟(从 00 到 59)。 YY 指定年份的后两位数字。如果 YY 变量没有被指定,缺省值为当前年份。
                                            
                                            
                                                -t Time
                                                使用指定时间而不是当前时间。Time 变量以十进制形式 [[CC]YY]MMDDhhmm[.SS] 指定,其中: CC 指定年份的前两位数字。 YY 指定年份的后两位数字。 MM 指定一年的哪一月(从 01 到 12)。 DD 指定一月的哪一天(从 01 到 31)。 hh 指定一天中的哪一小时(从 00 到 23)。 mm 指定一小时的哪一分钟(从 00 到 59)。 SS 指定一分钟的哪一秒(从 00 到 59)。
                                            
                                       
                                    
                                    注:
                                    
  • touch 命令调用 utime () 子例程来更改所涉及文件的修改和访问时间。当没有真正拥有该文件,即使对文件有写许可权,使用标志时也可能使 touch 命令失败。
  • 当使用 touch 命令时,如果接收到错误消息,不要指定完整路径名 /usr/bin/touch。
                                        退出状态
                                        命令返回以下出口值:
                                        
                                           
                                                
                                                    0
                                                    命令成功执行。所有请求的更改已完成。
                                                
                                                
                                                    >0
                                                    发生一个错误。
                                                
                                           
                                        
                                        示例
                                        
  • 要更新文件的访问和修改时间,请输入:
                                            touch program。c
                                            这会将 program.c 文件的上次访问和修改时间设置为当前日期和时间。如果 program.c 文件不存在,touch 命令就创建一个同名的空文件。
                                           
  • 要避免创建新文件,请输入:
                                            touch  -c program.c
                                           
  • 要仅更新修改时间,请输入:
                                            touch  -m *.o
                                            这会更新当前目录下的以 .o 扩展名结尾的文件的上次修改时间(不更新访问时间)。touch 命令经常以此方式使用,来改变 make 命令的结果。
  • 要明确设置访问和修改时间,请输入:
                                            touch  -c  -t 02171425 program.c
                                            这会将访问和修改时间设置为当前年份的 2 月 17 日的 14:25(2:25 p.m.)。
  • 要使用另一文件的时间戳记而不用当前时间,请输入:
                                            touch  -r file1 program.c
                                            这会将 program.c 文件的时间戳记设置成与 file1 文件一样。
  • 要使用指定时间而不是当前时间处理文件,请输入:
                                            touch  -t 198503030303.55 program.c
                                            这会将 program.c 文件的时间戳记设置为 1985 年 3 月 3 日上午 3:03:55。
                   
                   
                   

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29141/showart_369976.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP