有没有办法在不使用重命名系统调用的情况下更改文件名?

时间:2014-11-17 10:30:25

标签: linux rename

在LINUX中,我想更改文件名,而不是使用系统调用renamerenameat2。 shell命令mv也被禁止。 (禁止所有shell命令。)

嗯......我不知道......哈哈......

2 个答案:

答案 0 :(得分:7)

是的,您可以使用link()为文件创建新名称,并使用unlink()删除现有名称。

请注意,使用link()或rename()不能将文件从一个文件系统(“挂载点”)移动到另一个文件系统,在这种情况下,您需要手动移动文件作为@KirChou所说的答案

答案 1 :(得分:2)

  1. 使用fopen("oldfile", "r")从旧文件中读取数据。
  2. 使用fopen("newfile", "w")将数据写入新文件。
  3. 使用remove("oldfile")删除旧文件。