在 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

然后,重命名的过程可以看下面这个动图:



crictl改镜像名_文件名

由上面这个动图可以看出来,终端里会显示出来原来文件名称,然后你可以对这个名称直接进行更改,而无需再次输入一遍原来的名称,效率提高不止一点!

重命名成功后,终端也会这样提示:

‘file1.txt’ -> ‘file2.txt’

  其它高效重命名方法  

当然,除了修改 .bashrc 文件之外,还有很多高效重命名方法,这里再介绍两个。

方法一:使用 mv 命令

又回到了 mv 命令?打脸啦?

然鹅,命令是 mv ,但用法不一样!

很多情况下,我们只是修改文件名的某一个部分,比如说,将 file1.txt 修改为 file2.txt ,也就是把 1 改为 2 。在这种情况下,其实有个更高效的改法:

# mv file{1,2}.txt

运行的结果如下:



crictl改镜像名_bash_02

如果我们想保留原来的文件,再复制一个副本,那就只要将 mv 命令换成 cp 命令即可。

# cp file{1,2}.txt

这个结果应该是显而易见的,就不截图结果了。

方法二:使用快捷键(ctrl+w,ctrl+y)

既然大部分人是知道重命名文件需要输入两次文件名,那么我就满足你,依然输入两次文件名。但是,这里介绍一种更高效的重复输入文件名的方法。

在 Shell 里,我们可以使用 ctrl+w 来剪切最后的单词,使用 ctrl+y 来粘贴被剪切出来的内容。所以利用这个快捷键我们可以更高效重复输入文件名。

直接上动图:



crictl改镜像名_bash_03