歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux重命名文件的命令用法詳解

Linux重命名文件的命令用法詳解

日期:2017/8/19 9:45:47   编辑:Linux技術

  Linux系統中我們可以使用以下的命令來為文件或目錄重命名。下面由學習啦小編為大家整理了Linux系統重命名文件的命令用法詳解,希望對大家有幫助!

  Linux重命名文件的命令用法詳解

  在Linux下重命名文件或目錄,可以使用mv命令或rename命令,這裡分享下二者的使用方法

  Linux命令mv重命名文件用法詳解

  mv命令既可以重命名,又可以移動文件或文件夾。

  例子:將目錄A重命名為B

  mv A B

  例子:將/a目錄移動到/b下,並重命名為c

  mv /a /b/c

  其實在文本模式中要重命名文件或目錄,只需要使用mv命令就可以了,比如說要將一個名為abc的文件重命名為1234:

  mv abc 1234

  注意,如果當前目錄下也有個1234的文件的話,這個文件是會將它覆蓋的。

  Linux命令rename重命名文件用法詳解

  批量創建那些規格差不多的文件名。【測試的第一步】

  [root@linuxidc net]# for i in `seq -w 10`

  > do touch stu\_$i\_linux.jpg

  > done

  [root@linuxidc net]# sl

  total 0

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_01_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_02_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_03_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_04_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_05_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_06_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_07_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_08_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_09_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_10_linux.jpg

  然後,使用rename進行修改

  [root@linuxidc net]# rename \_linux '' *.jpg

  [root@linuxidc net]# sl

  total 0

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_01.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_02.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_03.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_04.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_05.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_06.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_07.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_08.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_09.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:22 stu_10.jpg

  注意,如果想要替換掉下劃線,那麼你不能加任何引號。

  創建一些測試文件:

  [root@linuxidc net]# for i in `seq -w 10`; do touch stu\_$i\_linux.jpg; done

  [root@linuxidc net]# sl

  total 0

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_01_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_02_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_03_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_04_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_05_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_06_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_07_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_08_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_09_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:58 stu_10_linux.jpg

  [root@linuxidc net]# rename '\_linux' '' *.jpg

  [root@linuxidc net]# sl

  total 0

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_01_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_02_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_03_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_04_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_05_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_06_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_07_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_08_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_09_linux.jpg

  -rw-r--r-- 1 root root 0 Oct 9 21:27 stu_10_linux.jpg

  rename版本如果是perl版本的,那rename命令是支持正則的;因此在perl版本的rename下,執行上述命令就可以成功,如果rename版本是c版本的,那麼上述命令是不成功的。

  這個是版本支持的問題,所以不必深究。有關二個版本的比較,請參考:linux下rename命令批量重命名中的詳細介紹。

  之前的問題可能是因為他的rename版本不支持導致的。so,這裡重點說的就是rename,雖然這個命令不是很重要。但是它其實還是很有用的,不是嗎?

  當然,有人會說,你這個都是在一個目錄下,那我要是在不同的目錄下呢?

  用兩個命令。一個find先把要修改的文件找出來,再接一個管道,一個rename不就完了嗎?

  是的,上述辦法可以說是一種思路,其實有很多種思路。

  附,查看rename版本的信息

  [root@linuxidc net]# man rename | head -1

  RENAME(1) Linux Programmer’s Manual RENAME(1)

Copyright © Linux教程網 All Rights Reserved