厲害了!知道這樣重新命名檔案都是大佬級別!
阿新 • • 發佈:2020-06-09
大家好,我是良許。
在 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
```
然後,重新命名的過程可以看下面這個動圖:
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200609190256585-939222467.gif)
由上面這個動圖可以看出來,終端裡會顯示出來原來檔名稱,然後你可以對這個名稱直接進行更改,而無需再次輸入一遍原來的名稱,效率提高不止一點!
重新命名成功後,終端也會這樣提示:
```
‘file1.txt’ -> ‘file2.txt’
```
#### 其它高效重新命名方法
當然,除了修改 .bashrc 檔案之外,還有很多高效重新命名方法,這裡再介紹兩個。
##### 方法一:使用 mv 命令
又回到了 `mv` 命令?打臉啦?
然鵝,命令是 mv ,但用法不一樣!
很多情況下,我們只是修改檔名的某一個部分,比如說,將 file1.txt 修改為 file2.txt ,也就是把 1 改為 2 。在這種情況下,其實有個更高效的改法:
```
# mv file{1,2}.txt
```
執行的結果如下:
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200609190256810-1771317925.jpg)
如果我們想保留原來的檔案,再複製一個副本,那就只要將 mv 命令換成 cp 命令即可。
```
# cp file{1,2}.txt
```
這個結果應該是顯而易見的,就不截圖結果了。
##### 方法二:使用快捷鍵(ctrl+w,ctrl+y)
既然大部分人是知道重新命名檔案需要輸入兩次檔名,那麼我就滿足你,依然輸入兩次檔名。但是,這裡介紹一種更高效的重複輸入檔名的方法。
在 Shell 裡,我們可以使用 `ctrl+w` 來剪下最後的單詞,使用 `ctrl+y` 來貼上被剪切出來的內容。所以利用這個快捷鍵我們可以更高效重複輸入檔名。
直接上動圖:
![](https://img2020.cnblogs.com/other/1218435/202006/1218435-20200609190256954-1596214103.gif)
---
公眾號:良許Linux
### 有收穫?希望老鐵們來個三連擊,給更多的人看到這