• 每天一个Linux命令(4)touch命令


         touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

     

        (1)用法

          用法:touch [选项]... 文件...

        (2)功能

          1)将每个文件的访问时间和修改时间改为当前时间;

          2)不存在的文件将会被创建为空文件,除非使用-c 或-h 选项;
        (3)选项参数
          1) -f, --force 忽略不存在的文件,从不给出提示
          2) -i, --interactive 进行交互式删除
          3) -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除
          4) -v, --verbose 详细显示进行的步骤
          5) --help 显示此帮助信息并退出
          6) --version 输出版本信息并退出
          7) -a 只更改访问时间
          8) -d, --date=字符串 使用指定字符串表示时间替代当前时间
          9) -t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
        (4)实例:
          1)[root@localhost /]# touch /home/sunjimeng/Document/touch_test_file     在指定目下创建文件,如果没有指定,则默认在当前文件夹下(若文件已经存在,则可以看作重新更改文件档案时间)        

    [root@localhost /]# ls -l /home/sunjimeng/Document
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    [root@localhost /]# touch /home/sunjimeng/Document/touch_test_file
    [root@localhost /]# cd home/sunjimeng/Document
    [root@localhost Document]# ll
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    -rw-r--r--. 1 root      root       0 5月   1 18:30 touch_test_file    //第一次创建的时间
    [root@localhost Document]#

     [root@localhost Document]# touch touch_test_file
     [root@localhost Document]# ll
     总用量 0
     drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin
     drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father
     -rw-r--r--. 1 root root 0 5月 1 18:35 touch_test_file                 //第二次更改文件的时间为当前时间,若文件中存有内容,则内容不变

    
    

          2)[root@localhost Document]# touch -t 06061806 touch_test_file    不创建文件,只是更改文档时间(这里加不加-c操作是一样的)

    [root@localhost Document]# touch -t 06061806 touch_test_file
    [root@localhost Document]# ll
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    -rw-r--r--. 1 root      root       0 6月   6 2016 touch_test_file

          3)[root@localhost Document]# touch touch_test_file1 touch_test_file2    将touch_test_file2的时间更改为与touch_test_file1的时间相同

    [root@localhost Document]# touch touch_test_file2
    [root@localhost Document]# ll
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    -rw-r--r--. 1 root      root       0 6月   6 2016 touch_test_file      //两个文件时间不相同
    -rw-r--r--. 1 root      root       0 5月   1 18:42 touch_test_file2    
    [root@localhost Document]# touch -r touch_test_file touch_test_file2
    [root@localhost Document]# ll
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    -rw-r--r--. 1 root      root       0 6月   6 2016 touch_test_file     //两个文件时间相同
    -rw-r--r--. 1 root      root       0 6月   6 2016 touch_test_file2

          4)[root@localhost Document]# touch -d "10 days ago" touch_test_file2     将当前指定文件时间更改为相对现在的过去或未来时间

    [root@localhost Document]# touch -d "10 days ago" touch_test_file2
    [root@localhost Document]# ll
    总用量 0
    drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月   1 03:13 bin
    drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月   1 03:21 Father
    -rw-r--r--. 1 root      root       0 6月   6 2016 touch_test_file
    -rw-r--r--. 1 root      root       0 4月  21 18:48 touch_test_file2           //不是6月6号的10天前,而是当前时间的10天前

          5)[root@localhost Document]# touch --help 与touch --version

    [root@localhost Document]# touch --help
    用法:touch [选项]... 文件...
    Update the access and modification times of each FILE to the current time.
    
    A FILE argument that does not exist is created empty, unless -c or -h
    is supplied.
    
    A FILE argument string of - is handled specially and causes touch to
    change the times of the file associated with standard output.
    
    Mandatory arguments to long options are mandatory for short options too.
      -a            只更改访问时间
      -c, --no-create    不创建任何文件
      -d, --date=字符串    使用指定字符串表示时间而非当前时间
      -f            (忽略)
      -h, --no-dereference        会影响符号链接本身,而非符号链接所指示的目的地
                    (当系统支持更改符号链接的所有者时,此选项才有用)
      -m            只更改修改时间
      -r, --reference=FILE   use this file's times instead of current time
      -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
          --time=WORD        change the specified time:
                               WORD is access, atime, or use: equivalent to -a
                               WORD is modify or mtime: equivalent to -m
          --help        显示此帮助信息并退出
          --version        显示版本信息并退出
    
    请注意,-d 和-t 选项可接受不同的时间/日期格式。
    
    GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
    请向<http://translationproject.org/team/zh_CN.html> 报告touch 的翻译错误
    要获取完整文档,请运行:info coreutils 'touch invocation'
    [root@localhost Document]# touch --version
    touch (GNU coreutils) 8.22
    Copyright (C) 2013 Free Software Foundation, Inc.
    许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
    本软件是自由软件:您可以自由修改和重新发布它。
    在法律范围内没有其他保证。
    
    由Paul Rubin、Arnold Robbins、Jim Kingdon、
    David MacKenzie 和 Randy Smith 编写。

     

        (5)其他

        说明:

        -t  time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      

       [[CC]YY]MMDDhhmm[.SS]     

       这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch   将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。

  • 相关阅读:
    react
    问题总结21-07-12至21-08-15
    排序
    问题总结21-06-28至21-07-11
    问题总结21-06-14至21-06-27
    问题总结21-05-29至21-06-13
    问题总结21-04-19至21-05-28
    问题总结21-03-29至21-04-18
    问题总结21-03-08至21-03-28
    问题总结21-03-01至21-03-07
  • 原文地址:https://www.cnblogs.com/MenAngel/p/5451936.html
Copyright © 2020-2023  润新知