Linux 之 touch 命令

价值君
• 阅读 949
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 file
Device: fd01h/64769d    Inode: 101371574   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-02-03 23:39:45.258947600 +0800
Modify: 2021-02-03 23:40:10.462066771 +0800
Change: 2021-02-03 23:40:10.462066771 +0800
 Birth: -
> touch -m 1.txt
> stat 1.txt
stat 1.txt 
  File: ‘1.txt’
  Size: 5               Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 101371574   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-02-03 23:39:45.258947600 +0800
Modify: 2021-02-03 23:40:53.068649293 +0800
Change: 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/...
微信公众号:入门小站

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
linux find 命令查找文件和文件夹
查找目录:find/(查找范围)name'查找关键字'typed查找文件:find/(查找范围)name查找关键字print详解:find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
Wesley13 Wesley13
3年前
10、文件创建和修改时间戳命令
命令名称:touch命令所在路径:/bin/touch执行权限:全部功能:创建空文件(这个是附加的功能而已)     Touch的实际功能是修改文件的时间戳选项:c修改文件的时间戳,如果该文件不存在,也不会生成一个空文件      m只更新文件的修改时间,更新为当前时间      a只更新文件的访
Wesley13 Wesley13
3年前
3.1Linux目录及文件管理
bash特性之命令别名和命令引用:命令别名:命令的另外一个名字windows中清屏使用clsLinux下的清屏命令为clear   alias:用来定义命令别名的   alias不跟选项和参数时,显示系统上所有的命令别名   aliasALIASCOMMANDNAME      alias
Stella981 Stella981
3年前
Linux file 命令
file 命令在Linux中用来识别文件类型,也可用来辨别一些文件的编码格式。它通过查看文件头部信息来获取文件类型。命令格式file参数文件地址命令参数_\b_列出文件辨识结果时,不显示文件名称。_\c_详细显示指令执行过
Wesley13 Wesley13
3年前
3.每日一个Linux命令
描述:创建一个新的文件,当被创建的文件存在时,则改变文件的时间戳。用法:touch\acmdtr\文件名常用选项:\a:修改文件的访问时间;\c:仅用来修改文件的时间,如果目标文件不存在,不会创建新的文件。与nocreate效果一样;\m:修改文件的修改时间;\d:后面接日期,也可以使用date"日期或时
Stella981 Stella981
3年前
Linux 查看文件
在Linux系统中有三种命令可以用来查阅全部的文件,分别是cat、more和less命令。它们查阅文件的使用方法也比较简单都是_命令文件名_ ,但是三者又有着区别。1.cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便;2.more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。3.
Stella981 Stella981
3年前
Linux常用基本命令(chmod)
chmod命令用来改变文件或者目录的权限,只有文件的属主和超级用户才能够执行这个命令格式:chmod\option\\mode\\file\\常用参数选项R:递归修改目录以及子目录下面的所有文件权限\模式有两种格式,一种采用字母方式的表达式,另外一种是数字1,首先需要了解文件的权限和属主和属组。g
Wesley13 Wesley13
3年前
1.每日一个Linux命令
命令:ls描述:ls命令用于查看文件,类似DOS下的dir命令。用法:ls\选项\文件或目录名常用选项:\a:列出目录下的所有文件包括以"."开头的隐藏文件;\l:列出文件的详细信息;\d:只显示目录本身\i:列出文件的i节点的信息;\h:人性化的显示文件的大小;\R:
Stella981 Stella981
3年前
Linux updatedb命令详解
Linuxupdatedb命令updatedb命令用来创建或更新locate命令所必需的数据库文件。updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入locate数据库文件中。注意:slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。用法
Stella981 Stella981
3年前
Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象。创建文件在unix类操作系统中有一个touch命令可以非常方便的创建文件,还能批量创建一些名称规律的文件。但实际上touch的主要介绍中却是"修改文件时间戳",创建文件只不过是它的辅助能力。如果没有touch命令
Stella981 Stella981
3年前
Linux—文件命令之touch命令
下面总结一下对于文件的操作命令:satat命令:用于显示文件的详细信息,包括文件、设备、gid、各种时间等。命令格式:stat filename!(https://oscimg.oschina.net/oscnet/e65f9a778be16a16e51d1eae1bed034728c.png)touch的两个功能:1、新建文件,如