Linux下touch是一个非常有用的命令。

touch语法结构如下:

touch
[-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help]  
[--version][文件或目录...] 或 touch
[-acfm][--help][--version][日期时间][文件或目录...]

Usage: touch [OPTION]... FILE...
Mandatory arguments to long options are mandatory for short options too.
  -a    change only the access time
  -d, --date=STRING    parse STRING and use it instead of current time
  -m    change only the modification time
  -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
Note that the -d and -t options accept different time-date formats.

使用举例

--------------------------------------------

touch -m -d "2016-05-20 14:25:50" file
touch -d "2016-05-20 14:25:50" file
touch -d "2016-05-20" file
touch -d "14:25:50" file
或者
touch -t 201605201315.50 file
touch -t 05201315 file

命令参数:

-d使用指定的日期时间。
-a只更改存取时间access
-m只更改变动时间modify

设置日期(设置当前时间,只有root权限才能设置,其他只能查看):

#date //显示当前日期
#date -s 20061010 //设置成20061010,这样会把具体时间设置成空00:00:00
#date -s 12:23:23 //设置具体时间,不会对日期做更改
#date -s "2006-10-10 12:12:23" //这样可以设置全部时间

-------------------------------------------

具体步骤

1、设置系统时间(能影响change time)

date -s "2010-10-10 10:10:10"

2、修改文件时间

#当前目录下文件/文件夹(不能递归):

touch -m -d "2010-10-10 10:10:10" *

#递归修改当前目录下所有文件/文件夹3个时间戳(Access、Modify、Change time):

find ./ * -exec touch {} \;

#递归修改当前目录下所有文件/文件夹指定时间戳(Modify、Change time):

find ./ * -exec touch -m -d "2010-10-10 10:10:10" {} \;

3、还原系统时间

clock --hctosys

请注意:

1、文件的Access time会随着每次访问而更新时间,所有这个参数意义不大,浏览器每打开一次这个文件,Access time均会更新。

2、Change time不能随便修改,必须先修改系统时间才能改变这个值。

查看系统硬件时钟

clock --show

硬件时钟与系统时钟同步:

clock --hctosys  hc代表硬件时间,sys代表系统时间

PS:补充下查看文件时间:

stat file

时间显示示例:

Access: 2010-05-02 01:22:11.000000000 +0800
Modify: 2010-05-02 01:22:11.000000000 +0800
Change: 2010-10-10 00:00:14.000000000 +0800

Linux使用touch批量修改文件/文件夹时间戳的更多相关文章

  1. java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码

    java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 作者:Vashon package com.ywx.batchrename; import java.io.File; import ...

  2. Linux命令行批量替换多文件中的字符串【转】

    Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...

  3. 批量修改mp3文件的title等

    批量修改mp3文件的title等 不是改文件名哦: 下载地址:https://mp3tag.en.softonic.com/ 帮助文档:file:///C:/Program%20Files%20(x8 ...

  4. 【风马一族_windom】 批量修改相同文件类型的后缀

    难题:有时因为某种原因,修改一堆文件的类型,重复操作次数多,浪费时间也跟着多,收获也会相当少. 提问:对于软件而言,可量化的,有规律的操作,可以使用程序来进行替代. 特性:在微软操作系统上,不同后缀的 ...

  5. 批量修改java文件的包名

    需求:我复制进批量的java文件,但是包名需要用现在创建的包名 导入进来时,由于包名不一致会报错 解决办法,点击包名鼠标右键>Refactor>Rename 结果如下ok:

  6. 按模板批量修改Excel文件内容

    Sub 按模板修改Excel文件() Dim MoBanWorkBook As Workbook Set MoBanWorkBook = Application.ActiveWorkbook Dim ...

  7. linux rename命令批量修改文件名

    修改文件名可以用mv命令来实现 mv filename1 filename2 1 但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件 增加后缀 rename 's/$/ ...

  8. linux '--stdin'错误 -批量修改密码

    虚拟机:VMware虚拟机  系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 ...

  9. linux下C++遍历文件夹下的全部文件;Windows/Linux下C++批量修改文件名,批量删除文件

    Linux下 C++遍历目录下所有文件 rename(image_path.c_str(), image_path_new.c_str()); remove(image_path_move.c_str ...

随机推荐

  1. 对于目标识别的一些idea-传递特征的position而不是特征或特征图

    我们在目标识别中通常是识别到目标的,通过proposals回归的方式,但是如果我们可以在 训练过程中识别到特征以后,将特征的位置信息传到下一层网络这样是否会训练收敛更快, 精度更高. 可能这也是以后机 ...

  2. linux配置虚拟域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

  3. “2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第就九周学习总结”存在问题的反馈 1.博文未写者:高树平 高俊梅 冯小丽 缪召召 王瑞强 宗鹏新 李向龙 马润韬 米奇辉 卯保云——不及时提交博客的同学人数出 ...

  4. the type java.io.ObjectInputStream cannot be resolved. It is indirectly......

    问题的原因: 配置tomcat7.0的时候自己设置了jre的版本1.8,而没有用myeclipse10自带的jre1.6,导致了出现了差错! 两种解决的办法: 1.点击windows--->pr ...

  5. ATM--代码

    //信1705-2 张小军 20173662 import java.io.*; import java.util.ArrayList; import java.util.Scanner;public ...

  6. Java冒泡具体的原理,以及下标的变化

    原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将 ...

  7. JavaScript Drag处理

    [JavaScript Drag处理] 在拖动目标上触发事件 (源元素): ondragstart - 用户开始拖动元素时触发 ondrag - 元素正在拖动时触发 ondragend - 用户完成元 ...

  8. unity中Android环境变量配置

    http://www.cnblogs.com/windytrees/p/7533477.html

  9. 转化为分组背包 zoj 3769

    题目链接:https://vjudge.net/problem/ZOJ-3769 题意:现在你要去打怪,你有13种装备,每件装备会有伤害和防御两种属性,一般来说,每种装备只可以装备一件,但是特别的,戒 ...

  10. 51nod 1163 最高的奖励

    链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1163 1163 最高的奖励  基准时间限制:1 秒 空间限制:13 ...