除了使用 mv 之外还有其他方法重命名文件吗?

除了使用 mv 之外还有其他方法重命名文件吗?

mv我想知道除了在 Linux 中使用之外是否还有其他重命名文件的方法?

例如更改/home/usr/blah.txt为类似-home-usr-blah.txt

答案1

这表明你需要思考如何提问。包括我在内的每个人都一开始就答错了你的问题

您可以使用 qmv 通过编辑器以交互方式批量重命名。它允许搜索/替换以及循环重命名。


简单的

mv 在驱动程序级别真正完成的事情接近于此:

ln source target
unlink source

所以,你可以这样做。但是,这假设了源和目标位于同一文件系统中的优化场景。如果不是,你将不得不使用 cp 而不是 ln。确保使其成为cp -a

更新回应(偏执的)评论:

(ln source target || cp -a source target) && unlink source

答案2

硬链接也可用于重命名文件

[ 22:16:50 ~/Desktop ] $ echo 'hello' > myfile
[ 22:16:52 ~/Desktop ] $ ln myfile mynewfile
[ 22:17:04 ~/Desktop ] $ rm myfile
remove myfile? y
[ 22:17:11 ~/Desktop ] $ cat mynewfile
hello
[ 22:17:15 ~/Desktop ] $

答案3

嗯,有rename

但是如果您想将完整路径重命名为单个文件名,则需要使用其他工具,如sedawk

答案4

您可以使用各种文件管理工具(如 Midnight Commander)中的“重命名”功能来执行此操作,或者您可以使用rename()Perl 脚本中的功能(或其他编程/脚本语言的等效功能)。

相关内容