我在这里搜索过类似的问题,但没有找到相关的内容。
在 Linux 中,点 ( .
) 指的是目录本身。该touch
命令创建一个文件(如果不存在)。
但是touch .
(点作为参数)有什么作用呢?
我已经检查过GNU 触摸文档和有关点的 LINFO 信息,但没有发现任何相关内容。
我在我的 Fedora 中尝试过这个命令,似乎没有任何改变。
答案1
来自GNU 触摸文档:
touch 更改指定文件的访问和/或修改时间戳。
因此,如果文件存在,则touch
修改它的时间戳。我们可以检查一下:
$ stat .
File: '.'
Size: 40 Blocks: 0 IO Block: 4096 directory
Device: 11h/17d Inode: 2338759 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ chronos) Gid: ( 1000/ chronos)
Context: u:object_r:tmpfs:s0
Access: 2018-10-29 08:06:16.918056344 +0530
Modify: 2018-10-29 08:06:15.484056316 +0530
Change: 2018-10-29 08:06:15.484056316 +0530
Birth: -
现在我们运行touch .
然后:
$ stat .
File: '.'
Size: 40 Blocks: 0 IO Block: 4096 directory
Device: 11h/17d Inode: 2338759 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ chronos) Gid: ( 1000/ chronos)
Context: u:object_r:tmpfs:s0
Access: 2018-10-29 08:06:29.131056579 +0530
Modify: 2018-10-29 08:06:29.131056579 +0530
Change: 2018-10-29 08:06:29.131056579 +0530
Birth: -
Access:
请注意、Modify:
和字段如何Change:
变化。
答案2
简短的描述man touch
说
更改文件时间戳
这就是它在这种情况下所做的 - 它将当前目录的修改时间戳更新为当前时间。