导言
前一篇博文介绍了目录,并且其实开篇导言,介绍了linux将一切看成是文件,所以对于本次博文,讲解的touch命令。本命令用于创建文件而准备的。【感觉换个字体会不会看得更好点?】
touch命令
作用
用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
该命令会将每个文件的访问时间和修改时间改为当前时间。
不存在的文件将会被创建为空文件,除非使用-c 或-h 选项。
如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间。
用法
touch [选项]... 文件...
详细全选项参数解释
短选项 | 长选项 | 含义(作用) |
---|---|---|
-a | 只更改访问时间 | |
-c | --no-create | 不创建任何文件 |
-d | --date=字符串 | 使用指定字符串表示时间而非当前时间 |
-f | 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 | |
-h | --no-dereference | 会影响符号链接本身,而非符号链接所指示的目的地 (当系统支持更改符号链接的所有者时,此选项才有用) |
-m | 只更改修改时间 | |
-r | --reference=文件 | 使用指定文件的时间属性而非当前时间 |
-t STAMP | 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间 | |
--time=WORD | 使用WORD 指定的时间:access、atime、use 都等于-a 选项的效果,而modify、mtime 等于-m 选项的效果 | |
--help | 显示此帮助信息并退出 | |
--version | 显示版本信息并退出 |
请注意,-d
和-t
选项可接受不同的时间/日期格式。
常见命令使用
实践一
同时创建一个或者多个空文件
[tqw@YuYunTan test]$ touch a.txt
[tqw@YuYunTan test]$ ls
a.txt
[tqw@YuYunTan test]$ touch b.txt c.txt d.txt
[tqw@YuYunTan test]$ ls
a.txt b.txt c.txt d.txt
[tqw@YuYunTan test]$ touch {1..5}.txt
[tqw@YuYunTan test]$ ls
1.txt 2.txt 3.txt 4.txt 5.txt a.txt b.txt c.txt d.txt
实践二
查看文件的修改时间mtime,访问时间atime,属性或状态改变时间ctime。
[tqw@YuYunTan test]$ cp -a ~/.bashrc bashrc
[tqw@YuYunTan test]$ ls
1.txt 2.txt 3.txt 4.txt 5.txt a.txt bashrc b.txt c.txt d.txt
[tqw@YuYunTan test]$ date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
2018年 10月 12日 星期五 00:11:03 CST <=== 这是目前的时间
-rw-r--r--. 1 tqw tqw 124 7月 9 2013 bashrc <=== mtime
-rw-r--r--. 1 tqw tqw 124 10月 11 00:17 bashrc <=== atime
-rw-r--r--. 1 tqw tqw 124 10月 12 00:10 bashrc <=== ctime
实践三
修改实践二的 bashrc 文件,将日期调整为两天前。
[tqw@YuYunTan test]$ touch -d "2 days ago" bashrc
[tqw@YuYunTan test]$ date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
2018年 10月 12日 星期五 00:18:25 CST
-rw-r--r--. 1 tqw tqw 124 10月 10 00:18 bashrc
-rw-r--r--. 1 tqw tqw 124 10月 10 00:18 bashrc
-rw-r--r--. 1 tqw tqw 124 10月 12 00:18 bashrc
与实践二的 bashrc 文件相比,mtime和atime改变成时间为10月10日,而ctime日期并未改变。
实践四
将案例三的bashrc文件,改变时间为2018年10月9日14点25分,以时间戳形式。
[tqw@YuYunTan test]$ touch -t 201810091425 bashrc
[tqw@YuYunTan test]$ date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
2018年 10月 12日 星期五 00:25:31 CST
-rw-r--r--. 1 tqw tqw 124 10月 9 14:25 bashrc
-rw-r--r--. 1 tqw tqw 124 10月 9 14:25 bashrc
-rw-r--r--. 1 tqw tqw 124 10月 12 00:25 bashrc
bashrc 文件的mtime和atime改变成时间为设定时间了,而ctime日期并未改变。
总结
本文介绍了touch命令,该命令主要是用于创建新文件和修改文件相关时间属性。