📜  touch -t 在符号链接上不起作用 (1)

📅  最后修改于: 2023-12-03 15:05:37.120000             🧑  作者: Mango

touch -t 在符号链接上不起作用

当我们在符号链接上使用 touch -t 命令时,会发现修改时间并没有被正确地更新,这是为什么呢?

什么是符号链接?

符号链接(Symbolic Link,简称 Symlink)也叫软链接,是一种特殊的文件类型,可以看作是一个指向其他文件或目录的快捷方式。

符号链接与硬链接不同,其链接文件本身只是一个单独的文件,占用磁盘空间非常小,仅有一个指向其他文件或目录的指针。

为什么 touch -t 在符号链接上不起作用?

touch 命令用于修改指定文件或目录的访问时间和修改时间,常见的使用方式为:

touch file.txt

这样就可以将 file.txt 的访问时间和修改时间都设置为当前时间。

但是当我们在符号链接上使用该命令时,只修改了符号链接文件本身的时间,没有修改指向的文件的时间。这是因为符号链接的时间只是指针的修改时间,而不是文件本身的时间。

如果要修改指向的文件的时间,需要使用以下命令:

touch -h -t 202201011200.00 file.txt

其中,-h 参数表示只修改符号链接本身的时间,不修改指向文件的时间。

总结

touch -t 命令在符号链接上不起作用是因为符号链接只是一个指向其他文件或目录的指针,其时间只是指针的修改时间。如果要修改指向的文件的时间,需要使用 touch -h -t 命令。