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
但是如果您想将完整路径重命名为单个文件名,则需要使用其他工具,如sed
或awk
。
答案4
您可以使用各种文件管理工具(如 Midnight Commander)中的“重命名”功能来执行此操作,或者您可以使用rename()
Perl 脚本中的功能(或其他编程/脚本语言的等效功能)。