Linux文件操作:创建、删除、权限与时间戳管理
1. 创建文件并更新时间戳
在理解了文件系统、索引节点(inode)和硬链接之后,我们可以通过用C语言编写自己的 touch
版本来学习如何创建文件。之前我们已经开始编写了一个 touch
版本,名为 simple-touch-v7.c
。真正的 touch
命令会在文件存在时更新其修改和访问时间戳,在这个新的版本中,我们将添加这个功能。
1.1 准备工作
所需的一切都在相关技术要求部分列出。虽然我们会在 simple-touch
的最新版本基础上添加功能,但会在本部分完整编写代码。为了全面理解程序,建议先了解错误处理相关知识。
1.2 操作步骤
- 编写代码 :将以下代码保存为
simple-touch-v8.c
。这里使用utime()
系统调用来更新文件的访问和修改时间戳。creat()
系统调用被移到了if
语句中,只有当文件不存在时才会调用。
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <ut