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)会改变

touch:命令创建文件的更多相关文章

  1. linux touch命令 创建文件

    touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间 [root@MongoDB ~]# touch /data/text.txt [root@MongoDB ...

  2. touch命令创建文件

    创建文件或修改文件时间 touch [options] file-list 参数 file-list是touch将要创建或更新的文件路径名 选项 -a                    只更新访问 ...

  3. 18-Ubuntu-文件和目录命令-创建文件和目录-touch和mkdir

    1.touch 创建文件或修改文件时间 (1)如果文件不存在,可以创建一个空白文件 例: 创建空白文件01.txt touch 01.txt (2)如果文件已经存在,可以修改文件的末次修改时间 例: ...

  4. touch:创建文件及修改文件时间戳

    touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令会在当前位置建立一个空文件),此命令更重要的功能是修改文件的时间参数(但当文件存在时,会修改此文件的时间参数). Linux 系统中 ...

  5. Linux 命令 创建文件

    1.vi vi 1.txt 会直接创建并打开一个文件1.txt 2.touch touch的作用是更改一个文件或目录的时间.touch 2.txt 如果2.txt不存在,则创建空文件2.txt 3.e ...

  6. linux之touch命令修改文件的时间戳

    功能:对已经存在文件的时间进行修改,存取时间(access time).修改时间(modification time).对不存在的文件,进行创建新的空白文件. 语法:touch   [选项]  文件 ...

  7. PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限

    一开始,我和普通青年一样,想到用PHP内置的 ZipArchive纠结的是环境上没安装zip扩展,想采用用PHP调用Linux的命令行 ,执行压缩命令,感兴趣的朋友可以了解下,希望本文对你有所帮助 前 ...

  8. angualr-cli命令创建文件

    1.创建Component ng g component my-new-component 2.创建 Directive ng g directive my-new-directive 3.创建Pip ...

  9. cat命令创建文件

    看例子是最快的熟悉方法: # cat << EOF > test.sh > #!/bin/bash #“shell脚本” > #you Shell script writ ...

随机推荐

  1. TinyAdmin前端展现框架

    一直在苦苦寻找一个合适的前端框架,少说也看了几十个. ext太重.并且有内存泄露,在IE下就是个悲剧. dhtmlx,速度比較好,开源是GPL不适合企业应用,商业的要钱,倒也不贵万把块钱,可是样式比較 ...

  2. luogu1081 开车旅行 树上倍增

    题目大意 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离 ...

  3. hdoj--1518--Square(dfs)

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. 数据预处理之Minkowski距离计算

    template <class T1, class T2> double Minkowski(const std::vector<T1> &inst1, const s ...

  5. 包教包会:本地推送 & 远程推送

    什么是推送?注意,和我们常用的抽象通知不同(NSNotification): 可以让不在前台运行的app,告知用户app内部发生了什么事情:或者没有运行的app接收到服务器发来的通知..比如离线QQ接 ...

  6. C语言程序创建文件

    #include <stdio.h>#include <stdlib.h>int main() { FILE *fp;if((fp=fopen("g:\\a.txt& ...

  7. E20170828-mk

    utils  工具类; 效用; 实用工具; 实用菜单; Documentation  n. 记录; 证明某事属实的证据; 参考资料; 文献的编集,文件分类; receive   vt. 收到; 接待; ...

  8. 在redhat6上装1.8以下的docker

    因为目前1.8以上的docker最低要求是3.10的Linux内核,而我的内核版本远低于此. [root@localhost home]# uname -r -.el6.x86_64 鉴于我的vm上有 ...

  9. POJ 3114 Tarjan+Dijkstra

    题意: 间谍在战争期间想要传递一份谍报回国,谍报可以在邮局之间传递,但这种传递是单向的,并且会少耗一些时间.但是如果两个邮局在同一个国家的话,那么谍报在这两个邮局之间传递是不消耗时间的.如果几个邮局发 ...

  10. B - Link/Cut Tree

    Problem description Programmer Rostislav got seriously interested in the Link/Cut Tree data structur ...