linux下tar打包到windows下解壓縮後中文檔名亂碼 用zip 或者 rar
阿新 • • 發佈:2019-01-24
主要原因是WINDOWS與LINUX對檔案系統字符集的處理方式是不相同的。
zip和rar會記錄字符集,自動轉換,而tar不是跨平臺解壓縮的。
比如 “中國.txt”,utf-8下編碼是e4b8ade59bbd,tar裡面記錄的是e4b8ade59bbd.tar,然後
gbk下中國不是e4b8ade59bbd,所以就是亂碼了。
1)對於.zip
linux下提供了zip和unzip程式,zip是壓縮程式,unzip是解壓程式。它們的引數選項很多
,這裡只做簡單介紹,依舊舉例說明一下其用法:
# zip all.zip *.jpg
這條命令是將所有.jpg的檔案壓縮成一個zip包
注意:如果要壓縮的是個資料夾,則要加上-r引數,表示呼叫遞迴壓縮,如:
zip -r temp.zip temp
# unzip all.zip
這條命令是將all.zip中的所有檔案解壓出來
2)對於.rar
要在linux下處理.rar檔案,需要安裝RAR for Linux,可以從網上下載,但要記住,RAR
for Linux
不是免費的;然後安裝:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
這樣就安裝好了,安裝後就有了rar和unrar這兩個程式,rar是壓縮程式,unrar是解壓程
序。它們的引數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:
# rar a all *.jpg
這條命令是將所有.jpg的檔案壓縮成一個rar包,名為all.rar,該程式會將.rar 副檔名將
自動附加到包名後。
# unrar e all.rar
這條命令是將all.rar中的所有檔案解壓出來
zip和rar會記錄字符集,自動轉換,而tar不是跨平臺解壓縮的。
比如 “中國.txt”,utf-8下編碼是e4b8ade59bbd,tar裡面記錄的是e4b8ade59bbd.tar,然後
gbk下中國不是e4b8ade59bbd,所以就是亂碼了。
1)對於.zip
linux下提供了zip和unzip程式,zip是壓縮程式,unzip是解壓程式。它們的引數選項很多
,這裡只做簡單介紹,依舊舉例說明一下其用法:
# zip all.zip *.jpg
這條命令是將所有.jpg的檔案壓縮成一個zip包
注意:如果要壓縮的是個資料夾,則要加上-r引數,表示呼叫遞迴壓縮,如:
zip -r temp.zip temp
# unzip all.zip
這條命令是將all.zip中的所有檔案解壓出來
2)對於.rar
要在linux下處理.rar檔案,需要安裝RAR for Linux,可以從網上下載,但要記住,RAR
for Linux
不是免費的;然後安裝:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
這樣就安裝好了,安裝後就有了rar和unrar這兩個程式,rar是壓縮程式,unrar是解壓程
序。它們的引數選項很多,這裡只做簡單介紹,依舊舉例說明一下其用法:
# rar a all *.jpg
這條命令是將所有.jpg的檔案壓縮成一個rar包,名為all.rar,該程式會將.rar 副檔名將
自動附加到包名後。
# unrar e all.rar
這條命令是將all.rar中的所有檔案解壓出來