大家好,我是良许。
在 Linux 下,重命名一个文件,我们通常是使用 mv 命令,一般是这样操作的:
- $ mv file1.txt file2.txt
这样重命令的方式当然是可以,但有个弊端就是你需要输入两次文件名。文件名比较短还好,一旦比较长的话,输两次会很让人崩溃的。
本文就介绍几种更高效的文件重命令方法,一般人不知道哦,知道的都是大神级别。
高效重命名文件的方法
首先,我们需要使用 vim 编辑 ~/.bashrc 文件。
- $ vim ~/.bashrc
将下面这段代码添加到 ~/.bashrc 文件末尾:
- # Bash Function To Rename Files Without Typing Full Name Twice
- function mv() {
- if [ "$#" -ne 1 ] || [ ! -e "$1" ]; then
- command mv "$@"
- return
- fi
- read -ei "$1" newfilename
- command mv -v -- "$1" "$newfilename"
- }
然后,再按 wq 保存并退出。再接下来,使用 source 命令让这个修改生效。
- $ source ~/.bashrc
接下来,就是见证奇迹的时刻!
现在,我们要重命名 file1.txt 文件,我们只需这样操作即可:
- $ mv file1.txt
然后,重命名的过程可以看下面这个动图:
由上面这个动图可以看出来,终端里会显示出来原来文件名称,然后你可以对这个名称直接进行更改,而无需再次输入一遍原来的名称,效率提高不止一点!
重命名成功后,终端也会这样提示:
- ‘file1.txt’ -> ‘file2.txt’
其它高效重命名方法
当然,除了修改 .bashrc 文件之外,还有很多高效重命名方法,这里再介绍两个。
(1) 方法一:使用 mv 命令
又回到了 mv 命令?打脸啦?
然鹅,命令是 mv ,但用法不一样!
很多情况下,我们只是修改文件名的某一个部分,比如说,将 file1.txt 修改为 file2.txt ,也就是把 1 改为 2 。在这种情况下,其实有个更高效的改法:
- # mv file{1,2}.txt
运行的结果如下:
如果我们想保留原来的文件,再复制一个副本,那就只要将 mv 命令换成 cp 命令即可。
- # cp file{1,2}.txt
这个结果应该是显而易见的,就不截图结果了。
(2) 方法二:使用快捷键(ctrl+w,ctrl+y)
既然大部分人是知道重命名文件需要输入两次文件名,那么我就满足你,依然输入两次文件名。但是,这里介绍一种更高效的重复输入文件名的方法。
在 Shell 里,我们可以使用 ctrl+w 来剪切最后的单词,使用 ctrl+y 来粘贴被剪切出来的内容。所以利用这个快捷键我们可以更高效重复输入文件名。
直接上动图:
本文授权转载自公众号「良许Linux」。良许,世界500强外企Linux开发工程师,公众号里分享大量Linux干货,欢迎关注!