扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果你想使用ksh作为你的默认shell 用chsh命令 格式 chsh [ -s shell ] [ username ]描述chsh 用来更换你登入时所用的shell 。在命令列没指定shell。 chsh 会提示一个给你。 加入你的名字叫user 就这样 chsh -s ksh user 就可以改变你默认的登陆shell了 其实bash比ksh强大很多了 否则也不会所有的linux发行版都用bash做默认shell了 学习的话 想用得时候直接运行ksh 就可以 退出的时候运行exit
我们提供的服务有:成都网站制作、网站建设、外贸网站建设、微信公众号开发、网站优化、网站认证、方正ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的方正网站制作公司
cat
/etc/inittab
这个简单,输出inittab文件内容
|
管道
,也就是将上面的内容作为下面命令的输入
egrep
使用扩展正则表达式的grep
'(^\s*$|^.{1}$)`
是个正则表达式
表示匹配只有空格/TAB的空行或只有头上一个任意字符的行,具体的
^表示匹配行首,\s表示包括空格、制表符、换页符等空白字符的其中任意一个
*表示任意个,$表示行尾,而|表示或
^同样的行首,.表示任意字符
{1}表示有且仅的一个,$同样行尾
|
又是管道
wc
-l
计行数
整个命令的作用是查看inittab中的空白行及只有头上一个字符的行数
1. 连接到相应的Linux主机,进入Linux命令行状态,等待shell命令的输入。
2. 其次,在Linux命令行上键入echo $LANG。
3.最后,按下回车键执行shell指令,此时会看到该linux的汉字编码是utf-8。
扩展资料:
1、查找目前所使用的linux下所使用的jdk安装后的目录:echo $JAVA_HOME;
2、获得目前所使用的linux下所使用的jdk的版本java -version;
3、获得所安装后的jdk的版本,在bin目录下输入 ./java -version即可;配置好Java环境的情况下可以使用 java -version查看。
4、Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。
5、Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
6、严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
其实乱码这个问题是由系统集成的字符集引起的,由于不能正确的使用相对应字符的字符集,因此OS不能识别出文字导致了乱码,解决的方法不难......
首先,我们先要知道控制Linux OS 的语言环境变量是$LANG和$LC_ALL,要解决乱码的情况我们只需要把上述的两个变量正确设置即可.
乱码分两种情况:
1.终端(纯shell界面)的乱码
vi /etc/profile
export LC_ALL="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
保存退出,reboot系统即可..
2.X-window(图形界面)的乱码
vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5"
保存reboot即可...
由于中文的字符集编码很多,我自己也不是十分清楚彼此的兼容性如何,所以就尽可能的找了很多种不同的编码都写了上去,大家也可以自己筛选下,总的解决思路就是修改控制环境参数的变量,增加OS所支持的字符集(前提要内核上存在该字符,否则需要编译内核)...
正在开发的WEB系统是部署在RED HEAD 。
RH版本信息:
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5 (Tikanga)
Release: 5
Codename: Tikanga
-------------------------------
locale 信息
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
---------------------------------
因为程序目录有若干文件要读出来显示在页面上,文件名为中文名
我使用File.list()方法得到了文件名列表,可是显示出来的都是乱码。
new String(filename.getBytes("utf-8"),"GBK");
new String(filename.getBytes("iso-8859-1"),"GBK");
new String(filename.getBytes(),GBK");
都不起作用,
使用System.getProperty("file.encoding") 得出的是"utf-8"
另外,使用 ls 命令查看的时候,是乱码,使用 ls --show-control-chars 命令就能显示中文名(控制台)
添加locale, 估计你的系统不支持gbk字符集。
ubuntu下是vi /var/lib/locales/supported.d/local
加完后locale-gen一下, 重新刷新字符集缓存。
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。
一,查看文件编码:
在Linux中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8
fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装)查看文件编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
Unrecognized encoding
二,文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
2. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2
3. enconv 转换文件编码
比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename
三,文件名编码转换:
从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 可以做一下转义,比如把 变成空格
比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:
convmv -f UTF-8 -t GBK –notest utf8编码的文件名
这样转换以后”utf8编码的文件名”会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)
四,vim 编码方式的设置
和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括UCS-2、UTF-8 等流行的Unicode 编码方式。然而不幸的是,和很多来自 Linux 世界的软件一样,这需要你自己动手设置。
Vim 有四个跟字符编码方式有关的选项,encoding、fileencoding、fileencodings、termencoding (这些选项可能的取值请参考 Vim 在线帮助 :help encoding-names),它们的意义如下:
* encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等。默认是根据你的locale选择.用户手册上建议只在 .vimrc 中改变它的值,事实上似乎也只有在.vimrc 中改变它的值才有意义。你可以用另外一种编码来编辑和保存文件,如你的vim的encoding为utf-8,所编辑的文件采用cp936编码,vim会自动将读入的文件转成utf-8(vim的能读懂的方式),而当你写入文件时,又会自动转回成cp936(文件的保存编码).
* fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此)。
* fileencodings: Vim自动探测fileencoding的顺序列表,启动时会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将Unicode 编码方式放到这个列表的最前面,将拉丁语系编码方式 latin1 放到最后面。
* termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。如果vim所在的term与vim编码相同,则无需设置。如其不然,你可以用vim的termencoding选项将自动转换成term 的编码.这个选项在 Windows 下对我们常用的 GUI模式的 gVim 无效,而对 Console 模式的Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。
/etc/sysconfig/i18n文件是linux的语言设置
系统安装时默认应该是UTF-8
可以自己添加修正/etc/sysconfig/i18n文件来试试
当前编码 echo $LANG
LANG="en_US.UTF-8"这个应该是中文
修改前确认下有没有安装语言包,再修正
grep (过滤)
过滤需要的内容,
-v 需要排除的内容,
-i不分辨大小写,
-n匹配的内容在其行首显示行号,
-A (after)显示匹配字符串及其后n行,
-B (before)显示匹配字符串及其前n行,
-C(context)显示匹配字符串
下边是想凑字数的啦啦
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流