创建文件或修改文件时间

touch [options] file-list

参数

file-listtouch将要创建或更新的文件路径名

选项

-a                    只更新访问时间,不改变修改时间

-c                    不创建不存在的文件

-m                   只更新修改时间,不改变访问时间

-r file               使用文件file的时间更新文件的时间

-t                     将时间修改为参数指定的日期,如:07081556代表7月8号15点56分

示例

touch 更新已有文件时间

$ ls -l Firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 12月 20 15:03 Firefox_wallpaper.png
$ touch Firefox_wallpaper.png
$ ls -l Firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 1月 8 15:18 Firefox_wallpaper.png

touch 无选项,会同时更新文件的修改时间和访问时间

touch 创建文件

$ touch demo.c
$ ls -l
总用量 372
-rw-r--r-- 1 siu siu 0 1月 8 15:21 demo.c

touch -at 使用参数更新访问时间

首先看看原来的修改时间和访问时间,ls -lu用来查看访问时间

$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:17 hs_err_pid2874.log

接着是更新过后的修改时间和访问时间

$ touch -at 01081010 hs_err_pid2874.log
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

可以看到,修改时间没有变动,但是访问时间改变了

touch -m 只更新修改时间

$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ touch -m hs_err_pid2874.log
$ ls -l
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:31 hs_err_pid2874.log
$ ls -lu
总用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

由上面的示例可知,此处访问时间没有改变,而修改时间发生了变动

Tips

1.可以用默认的当前时间来更新文件的访问时间和修改时间,也可以指定参数来更新

2.通常情况下,touch用的最多的地方还是在于创建新文件

简明Linux命令行笔记:touch的更多相关文章

  1. 简明Linux命令行笔记:mv

    重命名.覆盖或移动文件 mv [options] existing-file new-filename mv [options] existing-file-list directory mv [op ...

  2. 【读书笔记】Linux命令行与Shell脚本编程大全

    Linux命令行与Shell脚本编程大全 5.2 shell 的父子关系 命令分组 Command Grouping 主要有两种形式: 一种以小括号包括,命令之间以冒号分隔.也被称为 进程列表: 注意 ...

  3. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  4. 在Linux命令行下令人惊叹的惊叹号(!)

    '!'符号在Linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运行的命令.下面的所有命令都已经在Bash Shell中经过确切地检验.尽管我没有试过,但大多都不能 ...

  5. Linux命令行技巧

    Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格 ...

  6. 在 Linux 命令行中使用和执行 PHP 代码

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写.它是一 ...

  7. Linux命令行及Vim简单学习记录

    Linux命令行 1.打开命令行 Ctrl+Alt+t 2.目录 显示当前目录的文件列表 ls 跳转至当前目录中的x文件夹 cd x 返回根目录 cd 3.文件 新建文件1.cpp touch ./1 ...

  8. linux命令学习笔记

    操作文件和文件夹: copy: $ cp file1 file2 $ cp -r dir1 dir2 move: $ mv file .. $ mv file dir/ rename: $ mv fi ...

  9. SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

随机推荐

  1. windows开通https服务

    一.申请ssl证书 建议1个免费的ssl证书申请网站,已测试,可用 1.注册https://login.wosign.com/reg.html?rf=buy 2.邮箱验证登录后访问https://bu ...

  2. jsdoc注释规范工具(使用 JSDoc 3 自动生成 JavaScript API 文档)

    安装和使用规范见:http://moodpo.com/archives/jsdoc3-tutorial.html 实例: /** * 模块调用方法 * * * @param {string} modu ...

  3. spacemacs怎样配置编辑器显示行号?

    spacemacs配置文件.spacemacs文件中查找dotspacemacs-line-numbers. 默认配置为: dotspacemacs-line-numbers nil 修改为(`rel ...

  4. js之获取url中"?"后面的字串

    url : index.php?id=123 <script type="text/javascript"> function GetRequest() { var u ...

  5. postgresql 修改字段名称

    ALTER TABLE auth_user RENAME email TO aemail;

  6. JAVA字符串怎么转换成整数

    首先你要确定你的字符串可以转换为int类型的,比如说: String s = "123"; 如果String s = "abc";则转换时会报错! 需要的包是& ...

  7. java.io.BufferedOutputStream 源码分析

    BufferedOutputStream  是一个带缓冲区的输出流,通过设置这种输出流,应用程序就可以字节写入到缓冲区中,当缓冲区满了以后再调用底层系统,而不必针对每次字节写入调用底层系统,从而提高系 ...

  8. 批量修改mysql数据库引擎

    数据库表中部分是MyISAM引擎,部分是InnoDB.由于MyISAM不支持事务,所以需要全部修改为InnoDB引擎. (下面例子SQL语句中 ecsoft 为数据库名) 通过以下查询可以看到数据库中 ...

  9. sqoop 常用命令整理(二)

    26.Validate 它用来比较源数据和目标数据的数量 它有三个接口 Validator. 它有三个接口 Validator. Property: validator Description: Dr ...

  10. 一个从MongoDB中导出给定日期范围内数据的shell脚本

    #!/bin/sh ver=`date "+%Y%m%d"` #d1, the beginning date, eg:2017-06-28 d1=$1 d1=`date -d $d ...