touch命令是用来修改文件的时间戳的,这是它的主要功能,尽管它也可以用来创建文件。在这篇文章中,我们将讨论触摸命令的两种用途和常用的命令。
目录:
- 简介
- 语法
- 命令
- 总结
- 参考文献
简介
touch命令用来修改文件的时间戳,这是它的主要功能,尽管它也可以用来创建文件。
它可以改变任何给定文件的修改和访问时间。
Linux的时间戳包括:
访问时间或atime,当cat等命令读取文件内容时发生变化;ls -lu;
改变时间或ctime ,当文件的属性如名称、权限或位置改变时发生变化;ls -lc;
修改时间或mtime,当文件的内容改变时发生变化;ls -l
语法
语法如下:
touch [OPTION]... FILE...
常用的命令选项包括:
- -a,改变访问时间
- -m,改变修改时间
- -d=[string]或--date=[string], 用一个日期字符串来改变时间戳
- -t [stamp], 修改一个日期/时间格式的时间戳
- -c或--no-create, 避免创建一个新的文件
- -h或--no-dereference, 改变符号链接的时间戳
命令
你可以通过使用stat命令查看文件的状态,如下所示:
stat test.txt
创建文件
要创建一个文件,我们要写:
touch file.txt
如果一个文件不存在,它就会被创建,否则如果文件存在,touch将把文件的时间戳修改为当前时间。
我们还可以通过向touch传递文件名来创建多个文件,如下所示:
touch file1 file2 file3
我们也可以通过使用一个范围来创建多个文件,如下所示:
touch file{1..7}
上面的命令创建了七个文件,从file1一直到file7。
你还可以通过文件扩展名,如下。
touch file{1..7}.txt
我们也可以使用字母:
touch file_{a..g}
修改时间戳
要修改一个文件的时间戳,语法如下:
touch -t [timestamp] [file]
时间戳遵循一个特定的模式:
[[CC]YY]MMDDhhmm[.ss]
- CC,代表年份的前两位数字
- YY,代表年的最后两位数字
- MM,代表月份
- DD,代表一天
- hh,代表小时
- mm,代表分钟
- ss,代表秒
一个例子
touch -t 202201181930 test.txt
该命令将test.txt的时间戳修改为2020年1月18日19时30分。
-d选项用于使用日期字符串设置时间戳,例如:
touch -d yesterday test.txt
将修改时间戳为昨天的日期。
或者
touch -d 18January2000 test.txt
将时间戳修改为2000年的1月18日:
或
touch --date="next Thursday" venmo.txt
将其修改为下一个星期四的时间。
修改访问时间
使用-a选项。
比如说:
touch -a test.txt
test.txt的访问时间将被修改为当前时间。
我们也可以通过同时使用-a和-t选项来修改访问时间,使其符合指定的时间戳:
touch -at 202201181930 test.txt
我们可以使用ls -lu命令查看这些变化。
改动修改时间
要改变修改时间,我们使用-m选项。
一个例子
touch -m test.txt
该命令将test.txt的修改时间改为与当前时间戳相匹配。
ls -l命令可以用来确认更改。
我们也可以通过使用*-m和-t*两个选项将修改时间改为特定的时间戳,如下所示:
touch -mt 202201181930 test.txt
为了在同一命令中改变修改和访问时间,我们同时使用*-a和-m*选项,如下所示:
touch -am test.txt
使用*-c*选项是为了避免创建新文件。
一个例子
touch -c randomFile.txt
如果随机文件.txt不存在,它就不会被创建,否则如果它存在,touch就会照常执行。
我们还可以通过使用代表参考文件的-r选项,根据另一个文件的时间戳来改变一个文件的时间戳:
touch -r file1.txt file2.txt
该命令将把file1.txt的时间戳分配给file2.txt。
我们还可以通过使用*-h*选项来改变符号链接的时间戳,如下所示:
通过执行创建一个符号链接。
ln -s test.txt tLink
然后改变它的时间戳:
touch -h tLink
总结
touch命令的主要功能是修改访问时间、修改时间或更改时间。它也可以用来创建空文件。
我们可以在运行时实现touch命令来创建和写入文件。
Touch避免了文件的打开、更新、保存和关闭。
参考资料
- Touch手册页,man touch或touch --help。