使用C语言在Linux系统中创建和删除硬链接文件。 预期输出 :创建newFile硬链接成功 删除oldLink硬链接成功
时间: 2024-11-09 18:28:58 浏览: 4
在C语言中,你可以使用标准库函数`link()`来创建硬链接文件,`unlink()`函数用于删除硬链接。以下是简单的步骤:
**创建硬链接:**
```c
#include <unistd.h>
#include <fcntl.h>
// 创建一个新的硬链接,链接到现有文件oldPath
int createHardLink(const char* oldPath, const char* newFilePath) {
int result = link(oldPath, newFilePath);
if (result == -1) {
perror("Error creating hard link");
return -1;
}
printf("创建newFile硬链接成功\n");
return 0; // 成功返回0
}
```
这里我们调用了`link()`函数,将`oldPath`指定的文件与`newFilePath`创建一个新的硬链接。
**删除硬链接:**
```c
#include <sys/stat.h>
#include <errno.h>
// 删除已存在的硬链接
void deleteHardLink(const char* filePath) {
int unlinkResult = unlink(filePath);
if (unlinkResult == -1 && errno != ENOENT) {
perror("Error deleting hard link");
} else {
printf("删除oldLink硬链接成功\n");
}
}
// 示例用法
int main() {
createHardLink("/path/to/oldLink", "/path/to/newFile"); // 先创建链接
deleteHardLink("/path/to/newFile"); // 然后删除新链接
return 0;
}
```
在删除链接时,我们使用了`unlink()`函数。如果文件不存在(ENOENT),则认为正常并忽略错误。
阅读全文