linux重命名文件和文件夾可以使用mv命令來實現。
mv命令:
Linux mv 命令用來為文件或目錄改名、或將文件或目錄移入其它位置。
實例:
比如:before.txt是修改之前的文件名,after.txt是准備修改的文件名。
命令為:
注意:如果當前目錄下也有個after.txt的文件的話,我們的這個文件是會將它覆蓋的。
mv命令也可以移動文件和文件夾,例如將/a目錄移動到/b下,並重命名為c。
命令為:
⑵ Linux下批量修改文件名
Linux下修改文件名有mv和rename。 其中mv命令只能對單個文件重命名 , 這是mv命令和rename命令的在重命名方面的根本區別。
linux的rename命令有兩個版本,一個是c語言版本的,一個是perl語言版本的,判斷方法:
輸入man rename 看到第一行是:
RENAME(1) Linux Programmer』s Manual RENAME(1)
這個就是C語言版本的
而如果出現:
RENAME(1) Perl Programmers Reference Guide RENAME(1) 則是Perl版本的了
C語言版本格式:rename 原字元串 新字元串 文件名
Perl語言版本格式:rename 's/原字元串/新字元串/' 文件名
rename支持正則表達式
例子:
字母的替換 rename "s/AA/aa/" * // 把文件名中的AA替換成aa
修改文件的後綴 rename "s//.html//.php/" * // 把.html 後綴的改成 .php後綴
批量添加文件後綴 rename "s/$//.txt/" * // 把所有的文件名都以txt結尾
批量刪除文件名 rename "s//.txt//" * // 把所有以.txt結尾的文件名的.txt刪掉
在文件夾shell下創建文件10個文件
touch tmp_{1..10}.txt
找到含有「_「」的文件夾。
find ./ -name "*_*"
讀取id, 用mv改名,$為自己理解為賦值後的id,格式為
⑶ linux下怎麼樣重命名文件
這兩天在使用Ubuntu系統上進行開發軟體的安裝,一直遇到創建的android
Studio圖標無法使用的問題,創建的圖標提示「應用程序啟動錯誤」。在網上也找了很多文章,都是說文件夾中包含空格。但是文件路徑確實沒包含空格,但是包含-,即"android-studio",所以准備重命名進行嘗試,但是遇到"bareword
not
allowed"的問題。
Linux下對文件重命名有兩種命令:
mv
,rename
mv很簡單,move文件移動
mv
/dir/file1
/dir2/file1
兩個參數,第一個是源文件,第二個是目的地,如果第二個參數文件名不一樣,則會重命名。
當兩個參數不帶目錄,只有文件名時,那就是重命名了。這是單個文件的重命名。
rename
arg1
arg2
arg3
rename才是真正的批量重命名命令。而且他是3個參數,不是2個。
arg1:舊的字元串
arg2:新的字元串
arg3:匹配要重命名的文件,可以使用3種通配符,*、?、[char],*表示任意多個字元,?表示單個字元,[char]匹配char單個自定的精確字元,可以填寫任意字元,foo[a]*表示只匹配fooa開頭的文件名,如果一個文件是foobcc.txt,是不會被匹配的。
值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系統別有用法。舉例說明:
比如/home下有兩個文件
abbcc.txt,
addbb.txt
,
a.txt
我想把a替換為xxx,命令是這樣的
:
rename
「a」
「xxx」
*.txt
那麼它會首先去匹配有哪些文件需要修改,這里凡是.txt後綴的文件都會被匹配,如果改成?.txt則只會匹配到一個文件,那就是a.txt。然後把匹配到的文件中的a字元替換為xxx,注意測試時abab.txt這樣的,只會替換第一個a,有待再了解。
說到Debian一系的操作系統,比如Ubuntu,這個命令這樣使用是不對的,報錯,向下面這樣的:
Bareword
「a」
not
allowed
while
「strict
subs」
in
use
at
(eval
1)
line
1.
經過Google之後發現有這樣的說法:
On
Debian-based
distros
it
takes
a
perl
expression
and
a
list
of
files.
you
need
to
would
need
to
use:
rename
『s/foo/foox/』
*
這里是一個perl表達式,好理解點說就是綜合了前兩個參數為1個,這樣就只需要2個參數,而非上面所說的3個參數形式。
所以在Ubuntu下執行上面舉例的重命名時,命令是這樣的:rename
『s/a/xxx/』
*.txt
⑷ linux文件重命名命令
通過你問題的描述,可以通過如下命令來對文件進行重新命名:
方式1、[root@bbs haha]# mv wa_01.txt 01.txt
方式2、[root@bbs haha]# rename 01.txt wa_01.txt 01.txt
格式為:rename from to file
1、mv 命令的格式為:mv 源文件 目標文件 。方式1中 wa_01.txt 為原文件, 01.txt 為目標文件,此處是將wa_01.txt 改名為01.txt 。
2、rename 命令的格式為:rename from to file
其中 from :代表 需要替換的或者需要處理的字元。
to :把前面的from 代表的內容替換為 to 代表的內容。
file:待處理的文件。
以上就是關於文件重命名常用的命令,不同的系統在操作時可能會有出入,如果有問題,可以私信+關注,我會第一時間進行回復,希望我的回答能夠對你有所幫助。
⑸ 請問:linux rename命令如何在文件名前面加連續數字序列號
mv命令是move的縮寫,可以用來移動文件或者將文件改名(move(rename)files),是Linux系統下常用的命令,經常用來備份文件或者目錄。1.命令格式:mv[選項]源文件或目錄目標文件或目錄2.命令功能:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。3.命令參數:-b:若需覆蓋文件,則覆蓋前先行備份。-f:force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;-i:若目標文件(destination)已經存在時,就會詢問是否覆蓋!-u:若目標文件已經存在,且source比較新,才會更新(update)-t:--target-directory=,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。例子:將abc文件夾名修改為qqqmvabcqqq
⑹ linux 給文件改名的命令
1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。
⑺ linux中如何用rename命令重命名一個文件
rename的參數
rename命令的格式:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
第一個參數:被替換掉的字元串
第二個參數:替換成的字元串
第三個參數:匹配要替換的文件模式
例子:rename main1.c main.c main1.c 將main1.c重命名為main.c
rename支持通配符
? 可替代單個字元
* 可替代多個字元
[charset] 可替代charset集中的任意單個字元
例子:文件夾中有這些文件foo1, ..., foo9, foo10, ..., foo278,
如果使用 rename foo foo0 foo?
會把foo1到foo9的文件重命名為foo01到foo09,重命名的文件只是有4個字元長度名稱的文件,文件名中的foo被替換為foo0。
如果使用 rename foo foo0 foo??
foo01到foo99的所有文件都被重命名為foo001到foo099,只重命名5個字元長度名稱的文件,文件名中的foo被替換為foo0。
如果使用 rename foo foo0 foo*
foo001到foo278的所有文件都被重命名為foo0001到foo0278,所有以foo開頭的文件都被重命名。
如果使用 rename foo0 foo foo0[2]*
從foo0200到foo0278的所有文件都被重命名為foo200到foo278,文件名中的foo0被替換為foo。
rename支持正則表達式
例子:
字母的替換rename "s/AA/aa/" * //把文件名中的AA替換成aa
修改文件的後綴rename "s//.html//.php/" * //把.html 後綴的改成 .php後綴
批量添加文件後綴rename "s/$//.txt/" * //把所有的文件名都以txt結尾
批量刪除文件名rename "s//.txt//" * //把所有以.txt結尾的文件名的.txt刪掉
也可以參考《Linux就該這么學》中的章節內容嘗試解決。
⑻ Linux下對文件夾和文件重命名、移動和刪除
Linux下的目錄其實就是文件夾,只不過在window這種圖形化界面中習慣於叫做文件夾,但是在Linux這種文本界面下會被叫做目錄,兩者沒有區別,都是文件儲存的位置。
1 Linux下對文件夾進行重命名
mv既可以重命名,又可以 移動文件或者文件夾
例子:將目錄A重命名B mv A B
例子:將/a目錄移動到/b下,並重命名c mv /a /b/c
2 Linux下降一個文件夾的所有內容都復制到另一個文件夾下
例子:將文件夾A中的所有內容都復制到文件夾B中
cp -r /home/packageA/* /home/packageB/
或者
cp -r /home/packageA/. /home/packageB/
3 刪除一個文件夾及其下面所有的文件
例子:刪除文件夾A及其下面所有的文件
rm -r /home/packageA
⑼ linux下rename用法
rename可以用來批量重命名。
The rename command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/ .
使用格式:
rename [options] expression replacement file
即:
rename 原字元串 新字元串 文件
⑽ linux中如何用rename命令重命名一個文件
用法如下:
$ rename [options] [perlexpr] [files]
PS:
(1)options
-v 顯示成功重命名的文件-n 只顯示將被重命名的文件,但是不進行重命名-f 如果文件已存在,覆蓋-e 表明需要需要被執行的code,如果沒有-e,那麼第一個參數將被當成code。
(2)perlexpr
這是一個Perl表達式,文件名應當在其中被改變,沒學過Perl也沒關系,這個命令用到的語法很像sed,容易上手。
(3)files
需要重命名的文件。
linux中如何用rename命令重命名一個文件示例:
1、去除文件擴展名
$ rename 's/.bak$//' *.bak
2、去除文件名中的空格
$ rename 's/ //g' *
3、文件名轉為小寫
$ rename 'y/A-Z/a-z/' *
4、現在有一堆文件,他們的文件名模式是這樣的第一部分-haha-第二部分.file ,現在要把中間的-haha- 刪去並把第一部分的字元串和第二部分的字元串對調,可以這樣:
$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file