Linux檔名編碼轉換

2021-04-20 04:32:49 字數 773 閱讀 4363

linux往windows 拷貝檔案或者從windows往linux拷貝檔案,有時會出現中文檔名亂碼的情況,出現這種問題的原因是因為,windows的檔名中文編碼預設為 gbk,而linux中預設檔名編碼為utf8,由於編碼不一致,所以導致了檔名亂碼的問題,解決這個問題需要對檔名進行轉碼。

在linux中專門提供了一種工具convmv進行檔名編碼的轉換,可以將檔名從gbk轉換成utf-8編碼,或者從utf-8轉換到gbk。

首先看一下你的系統上是否安裝了convmv,如果沒安裝的話用:

yum -y install convmv

安裝。下面看一下convmv的具體用法:

convmv -f 源編碼 -t 新編碼 [選項] 檔名

常用引數:

-r 遞迴處理子資料夾

--notest 真正進行操作,請注意在預設情況下是不對檔案進行真實操作的,而只是試驗。

--list 顯示所有支援的編碼

--unescap 可以做一下轉義,比如把%20變成空格

比如我們有乙個utf8編碼的檔名,轉換成gbk編碼,命令如下:

convmv -f utf-8 -t gbk --notest utf8編碼的檔名

這樣轉換以後"utf8編碼的檔名"會被轉換成gbk編碼(只是檔名編碼的轉換,檔案內容不會發生變化)。

注意:不要在ntfs和fat檔案系統中使用此命令,否則可能產生意外結果,如果要在linux中正確的顯示ntfs和 fat的中檔名,可以通過mount引數來解決,具體方法檢視一下man手冊。

Linux檔名編碼轉換

從linux往windows拷貝檔案或者從windows往linux拷貝檔案,有時會出現中文檔名亂碼的情況,出現這種問題的原因是因為,windows的檔名中文編碼預設為gbk,而linux中預設檔名編碼為utf8,由於編碼不一致,所以導致了檔名亂碼的問題,解決這個問題需要對檔名進行轉碼。在linux...

Linux下檢視檔案編碼,檔案或檔名編碼格式轉換

windows中預設的檔案格式是gbk gb2312 而linux一般都是utf 8。要想linux正常顯示中文,最後設定linux和windows都的編碼方式都為utf 8。1.linux命令enca檢視檔案編碼格式 root local enca test.txt simplified chin...

linux檔名匹配

匹配檔名中的任何字串,包括空字串。匹配檔名中的任何單個字元。匹配 中所包含的任何字元。匹配 中非感嘆號!之後的字元。如 s s開頭的所有字串 s s結尾的所有字串 s?以s為倒數第二個字元的字串 0 9 所有以數字的字元 a,b a或者b 0 9 不是數字的字元 ls user a n sh 列出 ...