我想知道在 Linux 上创建文件时究竟发生了什么,例如使用 touch file.txt。当你执行这个时会发生什么?是否有指向此文件的链接?
谢谢。
卡夫森。
最佳答案
如 $ man touch
所示,$ touch FILE
不创建 FILE; $touch FILE
用于“将每个FILE的访问和修改时间更新为当前时间”。所以基本上它改变了时间戳。
但是,您可以使用该命令创建一个名为 FILE 的空文件,因为正如手册页所述,“除非提供 -c 或 -h,否则不存在的 FILE 参数将被创建为空。”
那么创建这个新文件时会发生什么?
touch
命令与文件系统通信以创建指向将分配给该文件的磁盘区域的指针。但是,由于文件是空的,因此实际上不会向磁盘上的该区域写入任何内容。
有了这个文件系统指针,$ ls
或您的文件浏览器现在将在您的 PWD 中显示 FILE。
我不确定您所说的“是否创建了指向此文件的任何链接?”是什么意思
如果您指的是符号链接(symbolic link)或硬链接(hard link),那么据我所知不是。
关于linux - 在 Linux 上创建文件时发生了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313967/