【Linux常见命令】touch命令

时间:2022-03-05 02:00:59

touch - change file timestamps

touch [文件名] 就是“摸”一下文件,如果文件不存在,就建立新文件;如果文件存在,就改变文件的访问时间atime等时间戳信息。

语法:
  touch [OPTION]... FILE...

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

参数:

  • -a 改变档案的读取时间记录。
    • [root@oldboy oldboy]# stat new.txt
      File: `new.txt'
      Size: 120 Blocks: 8 IO Block: 4096 regular file
      Device: 803h/2051d Inode: 275539 Links: 1
      Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
      Access: 2019-11-06 22:10:48.234818898 +0800
      Modify: 2019-11-07 18:48:17.389776861 +0800
      Change: 2019-11-07 18:48:17.390776816 +0800 [root@oldboy oldboy]# touch new.txt -a # touch -a修改了atime和ctime
      [root@oldboy oldboy]# stat new.txt
      File: `new.txt'
      Size: 120 Blocks: 8 IO Block: 4096 regular file
      Device: 803h/2051d Inode: 275539 Links: 1
      Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
      Access: 2019-11-07 19:49:23.350646538 +0800
      Modify: 2019-11-07 18:48:17.389776861 +0800
      Change: 2019-11-07 19:49:23.350646538 +0800

      touch -a的效果

  • -m 改变档案的修改时间记录。
    • [root@oldboy oldboy]# stat new.txt
      File: `new.txt'
      Size: 120 Blocks: 8 IO Block: 4096 regular file
      Device: 803h/2051d Inode: 275539 Links: 1
      Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
      Access: 2019-11-07 19:49:23.350646538 +0800
      Modify: 2019-11-07 18:48:17.389776861 +0800
      Change: 2019-11-07 19:49:23.350646538 +0800 [root@oldboy oldboy]# touch new.txt -m # touch -m 修改了mtime和ctime
      [root@oldboy oldboy]# stat new.txt
      File: `new.txt'
      Size: 120 Blocks: 8 IO Block: 4096 regular file
      Device: 803h/2051d Inode: 275539 Links: 1
      Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
      Access: 2019-11-07 19:49:23.350646538 +0800
      Modify: 2019-11-07 19:51:19.971719215 +0800
      Change: 2019-11-07 19:51:19.971719215 +0800

      touch -m的效果

  • -c,--no-create 
    • do not create any files
    • 假如目的档案不存在,不会建立新的档案。
    • [root@oldboy oldboy]# touch -c nn
      [root@oldboy oldboy]# ls nn
      ls: cannot access nn: No such file or directory

      touch -c不创建文件

  • -f
    • ignored
    • 不使用,是为了与其他 unix 系统的相容性而保留。
  • -r,--reference=FILE
    • use this file's times instead of current time
    • 使用参考档的时间记录,与 --file 的效果一样。
  • -d,--date=STRING
    • parse STRING and use it instead of current time
    • 设定时间与日期,可以使用各种不同的格式。
  • -t
    • use [[CC]YY]MMDDhhmm[.ss] instead of current time
    • 设定档案的时间记录,格式与 date 指令相同。

示例:

1. 查看touch file的前后结果,发现修改了atime,ctime和mtime,修改了文件的时间属性。

[root@oldboy oldboy]# stat name.txt
File: `name.txt'
Size: 35 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 275549 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-07 19:46:37.014647959 +0800
Modify: 2019-11-07 19:46:37.014647959 +0800
Change: 2019-11-07 19:46:37.014647959 +0800 [root@oldboy oldboy]# touch name.txt [root@oldboy oldboy]# stat name.txt
File: `name.txt'
Size: 35 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 275549 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-07 19:47:19.574647813 +0800
Modify: 2019-11-07 19:47:19.574647813 +0800
Change: 2019-11-07 19:47:19.574647813 +0800

【Linux常见命令】touch命令的更多相关文章

  1. Linux常见目录及命令介绍

    一.Linux中常用的目录介绍:     /        -根目录     /bin    -命令保存目录(普通用户亦可读取的命令)     /boot    -启动目录,启动相关文件     /d ...

  2. linux 常见名词及命令(三)

    tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...

  3. Linux中的touch命令总结(一)

    touch命令有两个主要功能: 改变 timestamps 新建_空白_文件 例如,不带任何参数地输入: touch file1 file2 file3 将在当前目录下新建三个空白文件:file1, ...

  4. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

  5. 性能工具之linux常见日志统计分析命令

    引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...

  6. linux 常见名词及命令(一)

    linux  PK  wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...

  7. linux 常见名词及命令(五)

    计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...

  8. linux 常见名词及命令(二)

    pwd 用于显示当前的工作目录. cd 用于切换工作路径 cd - 切换到上一次的目录 cd ~ 切换到家目录 cd ~username 切换到其他用户的家目录 cd .. 切换到上级目录 ls 用于 ...

  9. linux 常见名词及命令(六)

    查看软件安装位置 : dpkg -L 软件包名字 ubuntu环境的apache相关命令: 查看是否启动:ps -aux | grep httpd  或者 netstat -an | grep :80 ...

  10. linux 常见名词及命令(四)

    yum仓库的配置 yum仓库的配置文件存放在/etc/yum.repos.d/目录中. 第一步:切换到/etc/yum.repos.d/目录中. 第二步:使用vim编辑器打开一个名为'rhel7.re ...

随机推荐

  1. mybatis-generator运行命令

    java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite

  2. SQL Server编程(05)游标【转载】

    在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: 而对于游标来说: ...

  3. Java设计模式系列2--工厂方法模式(Factory Method)

    2014-02-26 09:56:45 声明:本文不仅是本人自己的成果,有些东西取自网上各位大神的思想,虽不能一一列出,但在此一并感谢! 工厂方法模式分为三种: 1. 普通工厂模式 建立一个工厂类,对 ...

  4. 神奇的盒模型(BFC)

    上一篇我提到每一个元素都有自己的display属性,其属性值可以改变.其改变的方式,可以利用神奇的css盒模型(BFC). 盒模型,是css可视化格式化系统的基础,可以用于元素定位和网页布局.一个盒模 ...

  5. 剑指offer--面试题19

    题目:求二叉树镜像 根据作者思路,自己所写代码如下: void BinaryTreeMirror(BinaryTreeNode* pRoot) { if(pRoot == NULL) return; ...

  6. JQuery中操作表单和表格

    一:表单应用 1.HTML中的表单大致由三部分组成 (1).表单便签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...

  7. BZOJ&colon;4873&colon; &lbrack;Shoi2017&rsqb;寿司餐厅

    4873: [Shoi2017]寿司餐厅 首先很开心在膜你赛的时候做了出来. 看到数据范围,看到不能dp,看到贡献去重后计算,咦,流? 那就容易了,转最大权闭合子图,每个区间建一个点,取了就一定要取他 ...

  8. 数据结构与算法 —— 链表linked list&lpar;03&rpar;

    继续关于linked list的算法题: 删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素使得每个元素只留下一个. 案例: 给定 1->1->2,返回 1->2 给定  ...

  9. html表单的方便操作

    //表单阻止复制粘贴 <input class="pass" type="text" oncopy="return false" on ...

  10. Caused by&colon; java&period;lang&period;NoSuchMethodError&colon; javax&period;servlet&period;ServletContext&period;getClassLoader&lpar;&rpar;Ljava&sol;lang&sol;ClassLoader&semi;

    运行tomat  报错: Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Lj ...