touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
(1)用法
用法:touch [选项]... 文件...
(2)功能
1)将每个文件的访问时间和修改时间改为当前时间;
2)不存在的文件将会被创建为空文件,除非使用-c 或-h 选项;
(3)选项参数
1) -f, --force 忽略不存在的文件,从不给出提示
2) -i, --interactive 进行交互式删除
3) -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除
4) -v, --verbose 详细显示进行的步骤
5) --help 显示此帮助信息并退出
6) --version 输出版本信息并退出
7) -a 只更改访问时间
8) -d, --date=字符串 使用指定字符串表示时间替代当前时间
9) -t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
(4)实例:
1)[[email protected] /]# touch /home/sunjimeng/Document/touch_test_file 在指定目下创建文件,如果没有指定,则默认在当前文件夹下(若文件已经存在,则可以看作重新更改文件档案时间)
[[email protected] /]# ls -l /home/sunjimeng/Document 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father [[email protected] /]# touch /home/sunjimeng/Document/touch_test_file [[email protected] /]# cd home/sunjimeng/Document [[email protected] Document]# ll 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 5月 1 18:30 touch_test_file //第一次创建的时间 [[email protected] Document]#
[[email protected] Document]# touch touch_test_file
[[email protected] Document]# ll
总用量 0
drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin
drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father
-rw-r--r--. 1 root root 0 5月 1 18:35 touch_test_file //第二次更改文件的时间为当前时间,若文件中存有内容,则内容不变
2)[[email protected] Document]# touch -t 06061806 touch_test_file 不创建文件,只是更改文档时间(这里加不加-c操作是一样的)
[[email protected] Document]# touch -t 06061806 touch_test_file [[email protected] Document]# ll 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 6月 6 2016 touch_test_file
3)[[email protected] Document]# touch touch_test_file1 touch_test_file2 将touch_test_file2的时间更改为与touch_test_file1的时间相同
[[email protected] Document]# touch touch_test_file2 [[email protected] Document]# ll 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 6月 6 2016 touch_test_file //两个文件时间不相同 -rw-r--r--. 1 root root 0 5月 1 18:42 touch_test_file2 [[email protected] Document]# touch -r touch_test_file touch_test_file2 [[email protected] Document]# ll 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 6月 6 2016 touch_test_file //两个文件时间相同 -rw-r--r--. 1 root root 0 6月 6 2016 touch_test_file2
4)[[email protected] Document]# touch -d "10 days ago" touch_test_file2 将当前指定文件时间更改为相对现在的过去或未来时间
[[email protected] Document]# touch -d "10 days ago" touch_test_file2 [[email protected] Document]# ll 总用量 0 drwxrwxr-x. 3 sunjimeng sunjimeng 17 5月 1 03:13 bin drwxrwxr-x. 3 sunjimeng sunjimeng 18 5月 1 03:21 Father -rw-r--r--. 1 root root 0 6月 6 2016 touch_test_file -rw-r--r--. 1 root root 0 4月 21 18:48 touch_test_file2 //不是6月6号的10天前,而是当前时间的10天前
5)[[email protected] Document]# touch --help 与touch --version
[[email protected] Document]# touch --help 用法:touch [选项]... 文件... Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output. Mandatory arguments to long options are mandatory for short options too. -a 只更改访问时间 -c, --no-create 不创建任何文件 -d, --date=字符串 使用指定字符串表示时间而非当前时间 -f (忽略) -h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地 (当系统支持更改符号链接的所有者时,此选项才有用) -m 只更改修改时间 -r, --reference=FILE use this file‘s times instead of current time -t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time --time=WORD change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m --help 显示此帮助信息并退出 --version 显示版本信息并退出 请注意,-d 和-t 选项可接受不同的时间/日期格式。 GNU coreutils online help: <http://www.gnu.org/software/coreutils/> 请向<http://translationproject.org/team/zh_CN.html> 报告touch 的翻译错误 要获取完整文档,请运行:info coreutils ‘touch invocation‘ [[email protected] Document]# touch --version touch (GNU coreutils) 8.22 Copyright (C) 2013 Free Software Foundation, Inc. 许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。 本软件是自由软件:您可以自由修改和重新发布它。 在法律范围内没有其他保证。 由Paul Rubin、Arnold Robbins、Jim Kingdon、 David MacKenzie 和 Randy Smith 编写。
(5)其他
说明:
-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日的时间是错误的。