zoukankan      html  css  js  c++  java
  • touch:命令创建文件

    touch:创建空文件或改变文件的时间戳属性

      【功能说明】

        touch命令有两个功能:一是创建新的空文件;二是改变已有文件的时间戳属性

      【语法格式】

    touch  [option]  [file]

    touch  [选项]     [文件]

          提示:

        1. touch命令以及后面的选项和文件,每个元素之间都至少要有一个空格
        2. 注意区分touch和mkdir命令的功能,mkdir命令是创建空目录,而touch是创建空文件。
        3. 在linux中,一切皆文件。虽然touch命令不能创建目录,但是可以修改目录的时间戳。

      【选项说明】

    参数说明 解释说明
    -a 只更改指定文件的最后访问时间
    -d 使用字符串STRING代表的时间作为模板设置指定文件的时间属性
    -m 只更改指定文件的最后修改时间
    -r file 将指定文件的时间属性设置为与模板文件file的时间属性相同
    -t STAMP 使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性。格式的含义从左到右依次为:世纪、年、月、日、时、分、秒

      【使用范例】

        基础范例

          案例1:创建文件示例(文件事先不存在的情况)

    [root@1-230 ~]# mkdir /test      #在根下新建一个test目录
    [root@1-230 ~]# cd /test/        #切换到/text目录
    [root@1-230 test]# touch aa.txt      #创建空文件aa.txt
    [root@1-230 test]# ls           #查看到aa.txt文件创建成功
    aa.txt
    [root@1-230 test]# touch a.txt b.txt    #同时创建多个文件,类似mkdir创建多个目录
    [root@1-230 test]# ls
    aa.txt a.txt b.txt
    [root@1-230 test]# touch scc{1..5}    #可以利用大括号“{ }”输出的字符序列批量创建文件
    [root@1-230 test]# ls
    aa.txt a.txt b.txt scc1 scc2 scc3 scc4 scc5

          案例2:更改文件的时间戳属性

    [root@1-230 test]# stat aa.txt         #stat命令可以查看文件的时间戳属性,具体用法见后面stat命令
    文件:"aa.txt"
    大小:0 块:0 IO 块:4096 普通空文件
    设备:fd00h/64768d Inode:35313153 硬链接:1
    权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
    最近访问:2018-10-30 23:11:37.065471839 +0800
    最近更改:2018-10-30 23:11:37.065471839 +0800
    最近改动:2018-10-30 23:11:37.065471839 +0800
    创建时间:-

    提示:

      说明:文件的时间戳属性分为访问时间、修改时间、状态改变时间


    [root@1-230 test]# touch -a aa.txt       #-a 参数更改最后访问的时间
    [root@1-230 test]# stat aa.txt
    文件:"aa.txt"
    大小:0 块:0 IO 块:4096 普通空文件
    设备:fd00h/64768d Inode:35313153 硬链接:1
    权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
    最近访问:2018-10-30 23:17:06.329316946 +0800
    最近更改:2018-10-30 23:11:37.065471839 +0800
    最近改动:2018-10-30 23:17:06.329316946 +0800
    创建时间:-

    [root@1-230 test]# touch -m aa.txt     #-m参数更改最后修改的时间
    [root@1-230 test]# stat aa.txt
    文件:"aa.txt"
    大小:0 块:0 IO 块:4096 普通空文件
    设备:fd00h/64768d Inode:35313153 硬链接:1
    权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
    最近访问:2018-10-30 23:17:06.329316946 +0800
    最近更改:2018-10-30 23:20:26.211938858 +0800
    最近改动:2018-10-30 23:20:26.211938858 +0800
    创建时间:-

          案例3:指定时间属性创建/修改文件

          可利用选项-d指定创建文件后的文件修改时间:

    [root@1-230 test]# ls -lh aa.txt             #修改前的文件修改时间10月30日
    -rw-r--r-- 1 root root 0 10月 30 23:20 aa.txt
    [root@1-230 test]# touch -d 20181129 aa.txt      #指定创建文件后的文件修改时间为2018年11月29日
    [root@1-230 test]# ls -lh aa.txt             #修改后时间为2018年11月29日
    -rw-r--r-- 1 root root 0 11月 29 2018 aa.txt

          也可以利用选项-r,修改aa.txt的时间属性,使其和a.txt的时间属性一致:

    [root@1-230 test]# ls -lh a.txt         #查看a.txt的修改时间
    -rw-r--r-- 1 root root 0 10月 30 23:11 a.txt
    [root@1-230 test]# touch -r a.txt aa.txt     #使用-r参数让a.txt的时间属性和a.txt一致
    [root@1-230 test]# ls -lh aa.txt
    -rw-r--r-- 1 root root 0 10月 30 23:11 aa.txt    #aa.txt文件的修改时间和a.txt一致

          还可以利用选项-t,将文件设置为201810312333.50时间格式

    [root@1-230 test]# touch -t 201810312333.50 aa.txt
    [root@1-230 test]# ls -lh --full-time aa.txt
    -rw-r--r-- 1 root root 0 2018-10-31 23:33:50.000000000 +0800 aa.txt

    查看设置的属性

      【扩展知识】

        这里扩展一点有关时间戳属性的知识

        GNU/Linux的文件有三种类型的时间戳:

    Access: 2018-10-31 23:33:50.000000000 +0800    #最后访问文件的时间
    Modify: 2018-10-31 23:33:50.000000000 +0800    #最后修改文件的时间
    Change: 2018-10-30 23:35:05.120111040 +0800    #最后改变文件状态的时间

        对应ls命令,查看上述时间戳的选项如下:

    mtime:最后修改时间(ls   -lt)  #修改文件内容,文件的修改时间(modify  time)会改变

    ctime:状态改变时间(ls     -lc)#修改文件内容,移动文件或改变文件属性等,文件的change时间会改变

    atime:最后访问时间(ls    -lu) #查看文件内容时,文件的访问时间(access   time)会改变

  • 相关阅读:
    对volatile的理解
    CAP定理与BASE理论
    选择排序
    冒泡排序
    python使图片转化为pdf
    宝藏网站
    python操作es更新某个字段的名字,不根据id
    PhpStorm 断点调试
    简单理解cookie与session
    虚拟判题机对接文档
  • 原文地址:https://www.cnblogs.com/scajy/p/9880395.html
Copyright © 2011-2022 走看看