Linux 重新命名命令 rename 和 mv 詳解

來源:互聯網
上載者:User

標籤:

剛學linux時,對檔案重新命名腦袋裡立馬呈現了rename命令,但卻用不起來。G了一下,仍是一知半解,而且發現很多人對它也是很陌生!還有部分童鞋說直接使用mv,哎,mv還真管用,但老感覺命令名咋就那麼不順眼呢!

我們來man下吧,先man mv:

mv - move (rename) files

mv不僅有轉移的功能,確實有重新命名的含義,文法簡單可理解為:

mv [path/]oldfilename [path/]newfilename

但只能是重名為當個檔案。

我們再來man rename:

rename - renames multiple files

可以看出rename命令是專用於檔案重新命名的,而且是對批量檔案重新命名。

Linux的 rename版本

Linux的 rename 命令有兩個版本,一個是C語言版本的,一個是Perl語言版本的,早期的Linux發行版基本上使用的是C語言版本的,現在已經很難見到C語言版本的了, 由於曆史原因,在Perl語言大紅大紫的時候,Linux的工具開發人員們信仰Perl能取代C,所以大部分工具原來是C版本的都被Perl改寫了,因為 Perl版本的支援正則處理,所以功能更加強大,已經不再需要C語言版本的了。

如何區分系統裡的rename命令是哪個版本的?

輸入 man rename 看到第一行是

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

那麼 這個就是C語言版本的。而如果出現的是:

RENAME(1)              Perl Programmers Reference Guide              RENAME(1)

這個就是Perl版本的了!

兩個版本的文法差異

  1. C語言的,按照man上面的註解,rename的文法格式是:
    rename fromtofile

    d這個命令有三個參數,分別是 from : 修改什麼名字, to:改成什麼名字, file 需要修改的檔案是哪些。

    用法樣本:比如,有一批檔案,都是以 log開頭的, log001.txt,  log002.txt ....... 一直到 log100.txt,現在想要把這批檔案的log全部替換為 history

    rename  log history log*
    這句命令的意思很明白了,把 以 log開頭的所有檔案中的 log字元替換為 history,這樣替換後的檔案是: history001.txt,  history002.txt ..... 一直到 history100.txt。
  2. Perl 版本的批量重新命名,帶有Perl的好處是,你可以使用Regex來完成很奇特的功能。perl 版本的參數格式:
    rename  perlexpr files
    man rename的協助樣本:有一批檔案,以 .bak結尾,現在想把這些 .bak 統統去掉:
    rename     ‘s/\.bak$//‘        *.bak
    這個命令很簡單,因為我還沒有系統學習過perl,我不知道perl裡替換字串是不是這麼乾的,但sed是這麼乾的,所以如果你有sed或者tr基礎,很容易明白,這個替換和sed裡的正則文法是一模一樣的。

總結:所以如果你只是重名一個檔案,那麼還是mv方便快捷!

Linux 重新命名命令 rename 和 mv 詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.