大家好,我是良许。
在 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 文件之外,还有很多高效重命名方法,这里再介绍两个。
方法一:使用 mv 命令
又回到了 mv
命令?打脸啦?
然鹅,命令是 mv ,但用法不一样!
很多情况下,我们只是修改文件名的某一个部分,比如说,将 file1.txt 修改为 file2.txt ,也就是把 1 改为 2 。在这种情况下,其实有个更高效的改法:
# mv file{1,2}.txt
运行的结果如下:
如果我们想保留原来的文件,再复制一个副本,那就只要将 mv 命令换成 cp 命令即可。
# cp file{1,2}.txt
这个结果应该是显而易见的,就不截图结果了。
方法二:使用快捷键(ctrl+w,ctrl+y)
既然大部分人是知道重命名文件需要输入两次文件名,那么我就满足你,依然输入两次文件名。但是,这里介绍一种更高效的重复输入文件名的方法。
在 Shell 里,我们可以使用 ctrl+w
来剪切最后的单词,使用 ctrl+y
来粘贴被剪切出来的内容。所以利用这个快捷键我们可以更高效重复输入文件名。
直接上动图: