在Linux系统中重命名目录

6
我几天前问过一个问题:“如何在不使用mv命令和rename函数的情况下更改文件名?”然后@nos回答了我。所以我尝试使用“link”功能。(这似乎是创建硬链接。)但是,对于目录,此方法无效。是否有任何方法可以在不使用'rename'函数和'mv'命令的情况下更改目录名称?我可以使用复制和删除功能,但仅更改目录名称会很困难和浪费时间。我只想知道是否有更改目录名称的方法,而不使用'rename'函数和'mv'命令。非常抱歉我英语水平很差... ;(...

为什么?在Linux中,目录基本上是一个文本文件,您可以操纵它来更改其中内容的名称。 - Garr Godfrey
有没有办法将目录读取为文件?我尝试打开目录并读取它(使用文件描述符),但无法读取。 - Aosamesan
这是相当危险的,你可能需要在磁盘级别上进行操作,虽然你可以尝试使用 chmod 更改类型。像这样的东西过去可以运行,但现在大多数都被强制限制了。 - Garr Godfrey
但是你可以使用open("/dirname",O_RDONLY)来读取目录。你只是不能以写入模式打开它。 - Garr Godfrey
你想说的是“将目录权限更改为普通文件以编辑文件并编辑该文件”,对吗? - Aosamesan
显示剩余3条评论
2个回答

9

尝试使用这个回答

mv /home/user/oldname /home/user/newname

1
我感谢你的回答。但是...它已经完成了。而且...我说过我不能使用“mv”命令。我可能使用“link”系统调用解决了这个问题。谢谢你的回答。 - Aosamesan

1

如果您只想重命名文件夹(而不是将文件移动到不同的文件夹中),请使用以下命令。

mv oldFolderName newFolderName


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接