1. linux下怎麼改變文件的編碼格式
1.在Vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
:set fileencoding=utf-8
2. enconv 轉換文件編碼,比如要將一個GBK編碼的文件轉換成UTF-8編碼,操作如下
enconv -L zh_CN -x UTF-8 filename
3. iconv 轉換,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如將一個UTF-8 編碼的文件轉換成GBK編碼
iconv -f GBK -t UTF-8 file1 -o file2
查看文件編碼file命令
file ip.txt ip.txt: UTF-8 Unicode text, with escape sequences
一、利用iconv命令進行編碼轉換文件內容編碼轉換 iconv命令用於轉換指定文件的編碼,默認輸出到標准輸出設備,亦可指定輸出文件。 用法: iconv [選項...] [文件...] 有如下選項可用: 輸入/輸出格式規范: -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 輸出編碼 信息: -l, --list 列舉所有已知的字元集 輸出控制: -c 從輸出中忽略無效的字元 -o, --output=FILE 輸出文件 -s, --silent 關閉警告 --verbose 列印進度信息 -?, --help 給出該系統求助列表 --usage 給出簡要的用法信息 -V, --version 列印程序版本號 例子: iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt 這個命令讀取aaa.txt文件,從utf-8編碼轉換為gb2312編碼,其輸出定向到bbb.txt文件。
2. linux怎麼修改默認編碼
Windows的默認編碼為GBK,Linux的默認編碼為UTF-8。在Windows下編輯的中文,在Linux下顯示為亂碼。為了解決此問題,修改Linux的默認編碼為GBK。方法如下:
方法1:
vi /etc/sysconfig/i18n
默認為:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
修改為:
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
方法2:
vi /etc/profile
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
運行locale指令得到當前系統編碼設置的詳細資料。
一、locale的五臟六腑
1、 語言符號及其分類(LC_CTYPE)
2、 數字(LC_NUMERIC)
3、 比較和排序習慣(LC_COLLATE)
4、 時間顯示格式(LC_TIME)
5、 貨幣單位(LC_MONETARY)
6、 信息主要是提示信息,錯誤信息, 狀態信息, 標題, 標簽, 按鈕和菜單等(LC_MESSAGES)
7、 姓名書寫方式(LC_NAME)
8、 地址書寫方式(LC_ADDRESS)
9、 電話號碼書寫方式(LC_TELEPHONE)
10、度量衡表達方式(LC_MEASUREMENT)
11、默認紙張尺寸大小(LC_PAPER)
12、對locale自身包含信息的概述(LC_IDENTIFICATION)。
二、理解locale的設置
設定locale就是設定12大類的locale分類屬性,即 12個LC_*。除了這12個變數可以設定以外,為了簡便起見,還有兩個變數:LC_ALL和LANG。
它們之間有一個優先順序的關系:LC_ALL > LC_* > LANG
可以這么說,LC_ALL是最上級設定或者強制設定,而LANG是默認設定值。
三 具體設定locale的方法(zh_CN.UTF-8、zh_CN.GBK)
freebsd的設置:
1.GDM登錄改為終端登錄後startx啟動圖形桌面
2.在~/.cshrc中增加如下語句,(根據自己使用的shell進行相應設置)
setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv LC_CTYPE zh_CN.GBK
3.修改/etc/fstab的默認值:
linux 設置:
1.修改/etc/sysconfig/i18n文件,LANG="zh_CN.UTF-8"或LANG="zh_CN.GBK"
普通用戶修改~/.profile
...
export LANG zh_CN.GBK
...
2.修改/etc/fstab的默認值
3. linux怎麼設置編碼格式linux編碼格式設置
linux怎麼看文本的編碼格式?
linux下經常遇到的編碼問題如果你需要在linux中操作windows下的文件,那麼你可能會經常遇到文件編碼轉換的問題。windows中默認的文件格式是gbk(gb2312),而linux一般都是utf-8。
查看編碼的方法
方法一:filefilename
方法二:在vim中可以直接查看文件編碼
:setfileencoding
如果你只是想查看其它編碼格式的文件或者想解決用vim查看文件亂碼的問題,那麼你可以在
~/.vimrc文件中添加以下內容:
setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動識別文件編碼(可以自動識別utf-8或者gbk編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ascii)編碼打開
文件編碼轉換
多平台方法:
iconv提供標準的程序和api來進行編碼轉換;
convert_encoding.py基於python的文本文件轉換工具;
decodeh.py提供演算法和模塊來談測字元的編碼;
linux下文件編碼轉換:
方法一:
在vim中直接進行轉換文件編碼,比如將一個文件轉換成utf-8格式
:setfileencoding=utf-8
或者
11)設置文件集合,即要對哪些文件進行操作,可以使用通配符,比如我通常是對c/c++源程序進行編碼轉換
:args*.h*.cpp
2)給出要在每個文件上執行的命令,這里是轉換編碼:
:argdosetfenc=utf-8|update
方法二:
iconv轉換
5.案例:
假如說我們將windows下的一個utf-8的文件傳到linux環境下,linux環境下的系統編碼是gb18030,我們cat的時候就會出現亂碼,這個時候就應該想到轉碼了,下面我們來進行試驗:
我們將windows下一個名為utf-8.sh的文件傳到linux系統中,其中utf-8.sh的內容如下:
我是中文編碼utf-8模式~
而linux系統的系統語言設置為:
#cat/etc/sysconfig/i18n
lang=zh_cn.gb18030
sysfont="latarcyrheb-sun16"
這個時候查看一下文件的內容及編碼:
#fileutf-8.sh
utf-8.sh:utf-8unicodetext,withnolineterminators
#catutf-8.sh
鍩挎__?腑___鐮_tf-8妯″紡~#
#
這個時候我們就需要轉換編碼了,記得使用iconv
#iconv-futf-8-tgb18030utf-8.sh-ogb18030.sh
#catgb18030.sh
??我是中文編碼utf-8模式~#
#filegb18030.sh
gb18030.sh:non-isoextended-asciitext,withnolineterminators
#
convmv就是更改文件名編碼方式的一個工具。
比如
sudoconvmv-fgbk-tutf-8-r_notest/home
就是將/home目錄下原來文件名是gbk編碼方式的全部改為utf-8格式的。這里-f後面為原來的編碼方式,-t後面是要更改為的編碼方式,-r表示這個目錄下面的所有文件,_notest表示馬上執行,而不是僅僅測試而已。另外這命令好像要root才能執行,因此要加上sudo。
linux下怎麼改變文件的編碼格式?
1、用VIM查看文件編碼
在Vim中可以直接查看文件編碼
:setfileencoding
即可顯示文件編碼格式。
2、改寫~/.vimrc文件
如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那麼你可以在
~/.vimrc文件中添加以下內容:
setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。
3、用ICONV文件編碼轉換
我們利用iconv工具對文件的編碼進行轉換。
iconv轉換,iconv的命令格式如下:
iconv-fencoding-tencodinginputfile
比如將一個GBK編碼的文件轉換成UTF-8編碼
iconv-fGBK-tUTF-8file1-ofile2
其中的參數的意義表示
-fFrom某個編碼
-tTo某個編碼
-o輸出到文件
4、通過記事本另存為來改變文件編碼;
既用Windows下的記事本打開,選擇另存為,改變編碼即可。
linux下怎麼查看文件的編碼方式?
一,查看文件編碼:在Linux中查看文件編碼可以通過以下幾種方式:
1.在Vim中可以直接查看文件編碼:setfileencoding即可顯示文件編碼格式。如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那麼你可以在~/.vimrc文件中添加以下內容:setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。
2.enca(如果你的系統中沒有安裝這個命令,可以用sudoyuminstall-yenca安裝)查看文件編碼$encafilenamefilename:;UTF-8CRLFlineterminators需要說明一點的是,enca對某些GBK編碼的文件識別的不是很好,識別時會出現:Unrecognizedencoding
linux系統文件格式後綴詳解?
bz2------bzip2的壓縮文件
.gz------gzip的壓縮文件
.tar------tar打包文件(是包文件不是壓縮文件)
.tbz------tar打包並用bzip壓縮文件
.tgz-----tar打包並用gzip壓縮的文件
.au-----audio文件
.gif-----gif圖象文件
.html/.htm-----HTML文件
.jpg-----JPEG圖象文件
.pdf------電子文檔(PDF格式的)
.png-----PNG圖象文件
.ps------postscinpt文件(列印格式文件)
.txt------純文本文件
.wav-----audio文件
.xpm-----圖象文件
.conf-------配置文件
.lock-------LOCK文件(用來判斷一個文件或設備是否被使用)
.rpm------REDHATPackage.Manager文件(套件包或軟體包)
.c-------C源程序代碼文件
.cpp------C++源程序代碼文件
.h-------C或C++程序的頭文件
.o------程序目標文件
.pl------perl腳本文件
.so-----類庫文件
.sh-----shell腳本與windows下的bat文件相似
.bin-----binary二進制可執行文件