Linux重命名命令Q1。怎样使用重命名命令?Q2。重命名怎样处理符号链接?Q3。怎样使用重命名进行试运行?Q4。重命名怎样处理文件覆盖?推论
倘若您在Linux的命令行上处理文件,重命名文件是您可能会发觉自己参与的最频繁的任务之一。我们早已讨论了可以让您执行此操作的mv命令。在这儿,在本教程中,我们将讨论另一个这样的工具,称为重命名。
但在我们开始之前,值得一提的是,本文中的所有示例都已在Ubuntu18.04LTS机器上进行了测试。
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。怎样使用重命名命令?
我必须说linux 命令,基本用法并不非常直接,但并不难理解。假定您有一个名为test.txt的文件linux 删除文件,您希望将其重命名为new.txt。之后承继人怎样使用重命名命令来执行此操作。
rename 's/test/new/' test.txt
Q2。重命名怎样处理符号链接?
默认情况下,重命名命令只是重命名作为输入传递的文件linux rename 命令,虽然它是一个符号链接。并且,假如您希望该工具不重命名符号链接linux rename 命令,而是作用于它们的目标,这么请使用-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被覆盖。
推论
重命名命令没有提供太多选项,我们早已在这儿讨论了一些主要选项。完成这种练习后,请抵达工具指南页了解更多信息。