Linux重命名文件的命令用法詳解
Linux重命名文件的命令用法詳解
Linux系統(tǒng)中我們可以使用以下的命令來(lái)為文件或目錄重命名。下面由學(xué)習(xí)啦小編為大家整理了Linux系統(tǒng)重命名文件的命令用法詳解,希望對(duì)大家有幫助!
Linux重命名文件的命令用法詳解
在Linux下重命名文件或目錄,可以使用mv命令或rename命令,這里分享下二者的使用方法。
Linux命令mv重命名文件用法詳解
mv命令既可以重命名,又可以移動(dòng)文件或文件夾。
例子:將目錄A重命名為B
mv A B
例子:將/a目錄移動(dòng)到/b下,并重命名為c
mv /a /b/c
其實(shí)在文本模式中要重命名文件或目錄,只需要使用mv命令就可以了,比如說(shuō)要將一個(gè)名為abc的文件重命名為1234:
mv abc 1234
注意,如果當(dāng)前目錄下也有個(gè)1234的文件的話,這個(gè)文件是會(huì)將它覆蓋的。
Linux命令rename重命名文件用法詳解
批量創(chuàng)建那些規(guī)格差不多的文件名。【測(cè)試的第一步】
[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進(jìn)行修改
[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
注意,如果想要替換掉下劃線,那么你不能加任何引號(hào)。
創(chuàng)建一些測(cè)試文件:
[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下,執(zhí)行上述命令就可以成功,如果rename版本是c版本的,那么上述命令是不成功的。
這個(gè)是版本支持的問(wèn)題,所以不必深究。有關(guān)二個(gè)版本的比較,請(qǐng)參考:linux下rename命令批量重命名中的詳細(xì)介紹。
之前的問(wèn)題可能是因?yàn)樗膔ename版本不支持導(dǎo)致的。so,這里重點(diǎn)說(shuō)的就是rename,雖然這個(gè)命令不是很重要。但是它其實(shí)還是很有用的,不是嗎?
當(dāng)然,有人會(huì)說(shuō),你這個(gè)都是在一個(gè)目錄下,那我要是在不同的目錄下呢?
用兩個(gè)命令。一個(gè)find先把要修改的文件找出來(lái),再接一個(gè)管道,一個(gè)rename不就完了嗎?
是的,上述辦法可以說(shuō)是一種思路,其實(shí)有很多種思路。
附,查看rename版本的信息
[root@linuxidc net]# man rename | head -1
RENAME(1) Linux Programmer’s Manual RENAME(1)