touch命令,摸她一下,就是你的了!

本文详细介绍了 Linux 下的 touch 命令及其多种使用方法。包括如何使用 touch 创建新文件、更新文件时间戳、设定特定的时间戳等实用技巧。

linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件

1.命令格式:

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

2.命令参数:

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

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

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

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

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

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

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

3.命令功能:

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

4.使用范例:

实例一:创建不存在的文件

命令:

touch log2012.log log2013.log

输出:

[root@localhost test]# touch log2012.log log2013.log

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

如果log2014.log不存在,则不创建文件

[root@localhost test]# touch -c log2014.log

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

实例二:更新log.log的时间和log2012.log时间戳相同

命令:

touch -r log.log log2012.log

输出:

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

[root@localhost test]# touch -r log.log log2012.log 

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

实例三:设定文件的时间戳

命令:

touch -t 201211142234.50 log.log

输出:

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

[root@localhost test]# touch -t 201211142234.50 log.log

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log

-rw-r--r-- 1 root root    0 10-28 16:01 log2013.log

-rw-r--r-- 1 root root    0 2012-11-14 log.log

说明:

-t  time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      

  [[CC]YY]MMDDhhmm[.SS]     

  这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch   将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。

### Touch 命令概述 `touch` 是 Linux/Unix 系统中的一个重要命令,主要用于创建新文件或者更新已有文件的时间戳。时间戳记录了文件的最后访问时间、最后修改时间和元数据变更时间。 #### 创建单个文件 通过 `touch` 命令可以轻松创建一个新的空文件。如果目标文件已经存在,则不会重新创建文件,而是将其时间戳更新为当前系统时间[^2]。 ```bash touch 文件名 ``` 例如: ```bash touch example.txt ``` 上述命令会创建名为 `example.txt` 的空文件。 --- #### 批量创建多个文件 当需要一次性创建多个文件时,可以通过一次调用 `touch` 来实现。只需在命令后面依次列出所有要创建的文件名称即可[^1]。 ```bash touch file1.txt file2.txt file3.txt ``` 还可以利用通配符或脚本批量生成大量文件。比如结合循环语句完成自动化操作: ```bash for i in {1..5}; do touch file$i.txt; done ``` 以上代码片段会在当前目录下生成五个文件:`file1.txt`, `file2.txt`, ..., `file5.txt`. 另外一种方法是从外部文件读取列表来动态构建所需文档集合: ```bash cat filenames.txt | xargs touch ``` 这里假设有一个叫作 `filenames.txt` 的文本档包含了每一行代表一个欲建立的新档案名字. --- #### 时间戳管理功能 除了简单的文件创建外, `touch` 还提供了丰富的选项用来精确控制文件属性特别是其时间标记方面. - `-a`: 只改变访问时间 (Access Time)[^4]. - `-m`: 修改时间为现在时刻(Modification Time)[^4]. 举例来说如果我们只想调整某个特定文档最近被打开过的记录而不影响其他两项指标的话就可以这样写: ```bash touch -a document.pdf ``` 同样地对于希望单独设置编辑保存动作发生的具体
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值