1、touch 命令
- 使用说明:
Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
- 使用语法:
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
- 前注说明
通过如下命令,查看指定文件/目录的详细时间:
stat file
结果如下:
说明:
时间 Access 最后一次读取访问的时间
时间 Modify 最后一次修改时间 指修改文件内容
时间 Change 最后一次修改文件属性如权限、属性等的时间
- 参数说明:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- --no-create 不会建立新档案。
- --help 列出指令格式。
- --version 列出版本讯息。
- 具体示例详解
创建不存在的文件
执行命令 touch file (file文件具体的文件名)
touch file
此时注意,或该文件已经存在,则不会创建新的文件,仅会更新该文件的时间属性(文件内容不会丢)
示例结果
-a 改变档案的读取时间记录。
示例结果
-m 改变档案的修改时间记录。
与上述类似
示例结果
-c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
说明:即如果执行 touch -c fileabc 如果fileabc文件不存在并不会创建新文件
而以上的命令是会创建新文件的,可以自己试下!
此时以上的命令 touch -a file touch -m file touch -c file 都是将时间更新成当前系统时间,但如果想更新成指定时间呢
更新文件指定时间
示例结果
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
与其它参数联合使用!
-r 使用参考档的时间记录,与 --file 的效果一样。
示例命令
stat file file2
touch touch -r file file2
stat file file2
把file2文件的时间属性修改成与文件file相同
示例结果
-d 设定时间与日期,可以使用各种不同的格式。
示例结果
-t 设定档案的时间记录,格式与 date 指令相同。
touch 命令以 [[CC]YY]MMDDhhmm[.ss] 的格式指定新时间戳的日期和时间,相关信息如下:
CC 指定年份的前两位数字。
YY 指定年份的后两位数字。
MM 指定一年的哪一月, 1-12。
DD 指定一年的哪一天, 1-31。
hh 指定一天中的哪一个小时, 0-23。
mm 指定一小时的哪一分钟, 0-59。
示例 指定修改文件Access最后一次读取文件时间
示例结果
--no-create 不会建立新档案。
示例结果 不会创建新文件
--help 列出指令格式。
touch --help
示例结果
--version 列出版本讯息。
touch --version
示例结果
2、file 命令
- 使用说明
file命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的
- 使用语法
file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
- 参数说明:
- -b 列出辨识结果时,不显示文件名称。
- -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
- -f<名称文件> 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
- -L 直接显示符号连接所指向的文件的类别。
- -m<魔法数字文件> 指定魔法数字文件。
- -v 显示版本信息。
- -z 尝试去解读压缩文件的内容。
- [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
示例结果
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log <== 不显示文件名称
UTF-8 Unicode text
[root@localhost ~]# file -i install.log <== 显示MIME类别。
install.log: text/plain; charset=utf-8
[root@localhost ~]# file -b -i install.log
text/plain; charset=utf-8
[root@localhost ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
[root@localhost ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'
[root@localhost ~]# file -L /var/mail
/var/mail: directory
[root@localhost ~]# file /var/spool/mail
/var/spool/mail: directory
[root@localhost ~]# file -L /var/spool/mail
/var/spool/mail: directory
后续准备中,待续... ...