写点什么

Linux 之 touch 命令

用户头像
入门小站
关注
发布于: 3 小时前

touch用来创建文件,用来修改文件的时间戳。

命令格式

touch [选项]... 文件...

命令参数

  • -a 或--time=atime 或--time=access 或--time=use  只更改存取时间。

  • -c 或--no-create  不建立任何文档。

  • -d  使用指定的日期时间,而非现在的时间。

  • -f  此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。

  • -m 或--time=mtime 或--time=modify  只更改变动时间。

  • -r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

  • -t  使用指定的日期时间,而非现在的时间。

命令功能

touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。

创建不存在的目录

创建一个1.txt文件> touch 1.txt 同时创建2.txt 3.txt文件> touch 2.txt 3.txt
复制代码

将 5.txt 的Access,Modify时间改成和 1.txt 一样

> touch -r 1.txt 5.txt> ls -rw-r--r-- 1 root root 0 Feb  3 23:17 1.txt-rw-r--r-- 1 root root 0 Feb  3 23:17 5.txt
复制代码

批量创建有规律的文件

创建 file1.txt file2.txt .... file10.txt


> touch file{1..10}.txt
复制代码

创建文件并指定文件的时间戳

> touch -t 202102031111 3.txt> ls -al-rw-r--r-- 1 root root 0 Feb  3 11:11 3.txt
复制代码

将 5.txt 的时间改成 2 天前

> ls -al 5.txt-rw-r--r-- 1 root root  0 Feb  3 23:17 5.txt> touch -d "2 days ago" 5.txt> ls -al 5.txt> ls-rw-r--r-- 1 root root 0 Feb  1 23:29 5.txt
复制代码

只修改1.txtModifyChange的时间

> stat 1.txt   File: ‘1.txt’  Size: 5               Blocks: 8          IO Block: 4096   regular fileDevice: fd01h/64769d    Inode: 101371574   Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:10.462066771 +0800Change: 2021-02-03 23:40:10.462066771 +0800 Birth: -> touch -m 1.txt> stat 1.txtstat 1.txt   File: ‘1.txt’  Size: 5               Blocks: 8          IO Block: 4096   regular fileDevice: fd01h/64769d    Inode: 101371574   Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:53.068649293 +0800Change: 2021-02-03 23:40:53.068649293 +0800 Birth: -
复制代码

为什么 linux 创建文件是 touch 而不是 create

touch — change file access and modification times (BSD)touch — change file timestamps (GNU)
复制代码


touch 的作用本来不是创建文件,而是将指定文件的修改时间设置为当前时间。就是假装“碰”(touch)了一下这个文件,假装文件被“修改”了,于是文件的修改时间就是被设置为当前时间。这带来了一个副作用,就是当 touch 一个不存在的文件的时候,它会创建这个文件。然后,由于 touch 已经可以完成创建文件的功能了,就不再需要一个单独的 create 了。


原文链接:https://rumenz.com/rumenbiji/linux-touch.html

微信公众号:入门小站

发布于: 3 小时前阅读数: 3
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux之touch命令