Linux rename 新手命令教程(附实例)
在此页
- Linux 重命名命令
- Q1。如何使用重命名命令?
- Q2。重命名如何处理符号链接?
- Q3。如何使用重命名进行试运行?
- Q4。重命名如何处理文件覆盖?
- 结论
如果您在 Linux 的命令行上处理文件,重命名文件是您可能会发现自己参与的最频繁的任务之一。我们已经讨论了可以让您执行此操作的 mv 命令。在这里,在本教程中,我们将讨论另一个这样的工具,称为重命名。
但在我们开始之前,值得一提的是,本文中的所有示例都已在 Ubuntu 18.04 LTS 机器上进行了测试。
Linux重命名命令
顾名思义,Linux 中的 rename 命令允许您重命名文件。以下是它的语法:
rename [options] expression replacement file...
以下是工具手册页对其的解释:
rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.
请注意,如果您没有安装重命名命令,则可以使用以下命令获取它:
sudo apt install rename
以下是一些 Q&A 风格的示例,可以让您更好地了解重命名命令的工作原理。
Q1。如何使用重命名命令?
我必须说,基本用法并不十分直接,但并不难理解。假设您有一个名为 test.txt 的文件,您希望将其重命名为 new.txt。然后继承人如何使用重命名命令来执行此操作。
rename 's/test/new/' test.txt
Q2。重命名如何处理符号链接?
默认情况下,重命名命令只是重命名作为输入传递的文件,即使它是一个符号链接。但是,如果您希望该工具不重命名符号链接,而是作用于它们的目标,那么请使用 -s 命令行选项。
因此,如果 symlink.txt 是指向 root.txt 的符号链接,则以下命令将确保对 root.txt 进行重命名操作:
rename -s 's/root/new/' symlink.txt
Q3.如何使用重命名进行试运行?
假设您只想查看重命名命令会发生的最终更改,而不想实际执行它,那么请使用 -n 命令行选项。例如,以下命令:
rename -n 's/new/test/' new.txt
产生了以下输出:
rename(new.txt, test.txt)
但实际上并没有将 new.txt 重命名为 test.txt。
Q4.重命名如何处理文件覆盖?
默认情况下,重命名命令不会执行涉及覆盖现有文件的操作。但是,您可以使用 -f 命令行选项强制该工具进行覆盖。
例如,以下命令:
rename 's/new/test/' new.txt
产生了以下输出:
new.txt not renamed: test.txt already exists
但是当使用 -f 命令时:
rename -f 's/new/test/' new.txt
操作顺利完成,test.txt 被覆盖。
结论
重命名命令没有提供太多选项,我们已经在这里讨论了一些主要选项。完成这些练习后,请前往工具手册页了解更多信息。