Linux下GBK->UTF-8文件编码批量转换命令

Linux下GBK->UTF-8文件编码批量转换命令 – a280606790的专栏 – 博客频道 – CSDN.NET.

在工作中,经常会遇到使用操作系统不一样的环境,从而导致在不同环境下的文件编辑的编码是不一样的,Windows默认是GBK编码格式,Linux默认是UTF-8的格式,这样就会出现把GBK编码的文件拷贝到Linux下出现乱码情况,很是让人头疼,下面给大家介绍下GBK->UTF-8文件编码批量转换。

Linux命令-enca 查看文件的编码

Enca语法

Usage: enca [-L LANGUAGE] [OPTION]… [FILE]…
enconv [-L LANGUAGE] [OPTION]… [FILE]…
Detect encoding of text files and convert them if required.
Enca用法

$ enca -L zh_CN file 检查文件的编码
$ enca -L zh_CN -x UTF-8 file 将文件编码转换为”UTF-8″编码
$ enca -L zh_CN -x UTF-8 file1 file2 如果不想覆盖原文件可以这样
除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。这对于脚本编写是比较方便的事情。

转换单个文件的编码

$ enca -L none -x utf-8 index.html
转换多个文件的编码

$ enca -x utf-8 *
Linux文件名编码批量转换–convmv

Convmv语法

$ convmv -f 源编码 -t 新编码 [选项] 文件名
Convmv 常用参数

-r 递归处理子文件夹
–notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格
示例

转换一个文件由GBK转换成UTF-8

convmv -f GBK -t UTF-8 –notest utf8 filename
GBK->UTF-8文件编码批量转换脚本

$ find default -type f -exec convmv -f GBK -t UTF-8 –notest utf8 {} -o utf/{} \;
使用iconv 转换

Iconv语法

iconv -f encoding -t encoding inputfile
示例

单个文件转换

$ iconv -f GBK -t UTF-8 file1 -o file2
批量转换

$ find default -type d -exec mkdir -p utf/{} \;
$ find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。

Linux安全检查方法

检查系统密码文件,查看文件修改日期

[root@fedora ~]# ls -l /etc/passwd

查看passwd文件中有哪些特权用户

[root@fedora ~]# awk -F: ‘$3= =0 {print $1}’ /etc/passwd

查看系统里有没有空口令帐户

awk -F: ‘length($2)= =0 {print $1}’ /etc/shadow

检查系统守护进程

cat /etc/inetd.conf | grep -v “^#”

检查网络连接和监听端口

netstat –an

netstat –rn

ifconfig –a

查看正常情况下登录到本机的所有用户的历史记录

last

检查系统中的core文件

find / -name core -exec ls -l {} ;

检查系统文件完整性

rpm –qf /bin/ls

rpm -qf /bin/login

md5sum –b 文件名

md5sum –t 文件名

查找是否有后门

cat /etc/crontab

ls /var/spool/cron/

cat /etc/rc.d/rc.local

ls /etc/rc.d

ls /etc/rc3.d

find / -type f -perm 4000

——————————————————————————分割线——————————————————

1.Accounts检查

# less /etc/passwd

# grep :0: /etc/passwd

注意新的用户,和UID,GID是0的用户.

2.Log检查

注意“entered promiscuous mode”

注意错误信息

注 意Remote Procedure Call (rpc) programs with a log entry that includes a large number (> 20) strange characters(-^PM-^PM-^PM-^PM-^PM-^PM-^PM-^PM)

最后一条目前还没理解,也没碰到过,请指点.

3.Processes检查

# ps -aux

注意UID是0的

# lsof -p 可疑的进程号

察看该进程所打开端口和文件

4.Files检查

# find / -uid 0 –perm -4000 –print

# find / -size +10000k –print

# find / -name “…“ –print

# find / -name “.. “ –print

# find / -name “. “ –print

# find / -name “ “ –print

注意SUID文件,可疑大于10M,...,..,.和空格文件

5.Rpm检查

# rpm –Va

输出格式:

S – File size differs

M – Mode differs (permissions)

5 – MD5 sum differs

D – Device number mismatch

L – readLink path mismatch

U – user ownership differs

G – group ownership differs

T – modification time differs

注意和这些相关的 /sbin, /bin, /usr/sbin, and /usr/bin

平时养成安装第三方文件时check MD5的习惯,呵呵,要不太恐怖了

运行的时候会出很多5或者missing的提示,如果不是上面及格目录的,不用太注意

6.Network检查

# ip link | grep PROMISC

正常网卡不该在promisc模式,当然安全server除外,否则可能是有人入侵在sniffer

# lsof –i

# netstat –nap

察看不正常打开的TCP/UDP端口,嘿嘿,需要平时注意,比较,好像我没这样用心过:)

# arp –a

这个更恐怖了,难道叫人document所有的MAC地址先

7.Schedule检查

注意root和UID是0的schedule

# crontab –u root –l

# cat /etc/crontab

# ls /etc/cron.*

正则表达式的问号|nginx rewrite 匹配问号(?)

今天再给bbpcn.net添加rewrite功能时遇到一个难题。

要把这个地址http://bbpcn.net/bb-admin/admin-base.php?page=4&plugin=mass_edit

rewrite成这个http://bbpcn.net/bb-admin/admin-base.php/page/4?plugin=mass_edit

考虑到通用性我的语句为

rewrite ^/bb-admin/admin-base.php/page/([0-9]+)&plugin=(.*)$ /bb-admin/admin-base.php?page=4&plugin=$2 last;

但是reload nginx后一直在404,于是猜测是正则问题。

之前写的rewrite规则都比较简单,这次多了些特殊符号,“.”、“?”。按照我那破破的C语言水平,我试着添加转义符号“”,不过依然不起作用,开始在Google上以多个关键字搜索,终于让我找到方法了。

这个问题apache和nginx可能都存在。

只说解决方法吧。点号可以用反斜杠转义,问号后面的字符串用自带变量处理。最终我的rewrite规则改写为如下即可。

rewrite ^/bb-admin/admin-base.php/page/([0-9]+)$ /bb-admin/admin-base.php?page=$1&query_string last;

UltraEdit text editor for Linux 1.0

UltraEdit是windows下是知名的反汇编软件,也可用作文本编辑器,今天说的则是他在linux平台下发布的文本编辑器啦。
fedora下
redhat
ubuntu

简单翻译一下官方介绍:
支持的系统环境:

现有的UltraEdit for Linux发行版本支持以下发行版的linux(32位和64位):

  • Ubuntu 8.04, 9.04, and 9.10
  • Fedora 11 and 12
  • OpenSUSE 11.1 and 11.2
  • CentOS/RedHat Enterprise 4.8 and 5.4

对于其他发行版官方提供32位和64位版tar包下载. 虽然有tar.gz可使UltraEdit安装在任何linux发行版上,官方却不提供对安装和依赖性的说明,而只对上述发行版提供支持。

免费试用
安装完后,你将有30天试用时间,之后需要购买许可证继续试用程序。

购买UltraEdit for Linux

如果试用满意点此链接购买此产品。 purchase a license.

Fedora 12下载:http://www.ultraedit.com/files/uex/Fedora/12/UltraEdit-1.1-0.0.fc12.i686.rpm  (32位)

http://www.ultraedit.com/files/uex/Fedora/12/UltraEdit-1.1-0.0.fc12.x86_64.rpm  (64位)

Tar包下载:

http://www.ultraedit.com/files/uex/Other/uex-1.1.0.0_i386.tar.gz(32位)

http://www.ultraedit.com/files/uex/Other/uex-1.1.0.0_amd64.tar.gz(64位)

更多版本下载地址就不一一贴上来了:http://www.ultraedit.com/downloads/uex.html

为日常用Fedora进行优化

一、用easylife优化。http://easylifeproject.org/
It's For Fedora 12
比较遗憾的是此优化工具为了保证文件准确性经常要从他提供的地址下载,而他的服务器都在国外,用WGET下载速度也只有几KB/S而已。可优化选项只有那么几个,我用了KDE桌面,几个GNOME的选项勾上不起作用。昨晚开始宿舍晚上不断电了,所以乘着晚上网速好把几个觉得有必要用的选项装上了。NV的显卡驱动一直没敢装,Fedora12默认集成的NV显卡驱动使得显示效果大幅提升却不支持3D,官方驱动直接装上就进不了桌面了,这个问题暂时不敢尝试。。。。总之经历一个晚上的安装,Rhythmbox可以放mp3了,电影播放器也可以放多种格式了,非常方便,安装了vlc,看电影也不再愁了。
二、PPStream。http://linuxtoy.org/archives/how-to-setup-ppstream-on-fedora.html
根据LT的教程装完了后电影播放器侧边栏就一直显示更新分类列表中,可能pps的官方都忘了他们还放出国linux版的文件吧?
后来看了看文章后面的评论又去谷歌了一下GMLive

qsopcast。挺好,都有google code主页,找起来挺方便。一会再试试。

先看GMlive,是个国人团队制作的前端,有人做过rpm打包,但是没有Fedora12的,F11的和12不兼容。
去他们的Google code页下载源码编译
#./autogen.sh
#make
#make install
出错了
checking for PACKAGE… configure: error: Package requirements (gtkmm-2.4 >= 2.6.0 libxml-2.0 >= 2.6.0) were not met:

No package ‘gtkmm-2.4’ found
这句话我是真没看懂。。。。研究半天gtkmm24默认安装了,又安了gtkmm-utils也不行,只好作罢。
三、美化,我对此道一向不很专注,大概认为简朴最高吧,换了张故剑奇谭的最新壁纸就满足了,KDE本省已经很漂亮很完善了。

雨林木风推出了高仿xp。。。。

YLMF买了xp.com之后终于有动作了,今天cnbeta报道打开xp.com转到了http://www.ylmf.org/
Ylmf OS高仿xp,以前大家都不看好linux走windows之路,但ylmf却走上了这条路,能走多久多长远,让我们拭目以待。

ylmf OS高仿windows XP
ylmf OS高仿windows XP

雨林木风开源操作系统(Ylmf OS)正式上线
但是为何没看到它使用的是何种开源协议呢?

Fedora 12 alpha 发布

f12alpha中午在CB看到Fedora 12 alpha发布了。顺便上官网看看12的新特性

原本2009-08-18发布 Alpha 推迟到2009-08-25

2009-09-22软件的翻译截止日期

2009-10-13 Beta 版发布

2009-11-10 不出意外Fedora 12 正式版发布

特性表中显示了各个部件完成情况。100%的应该都应用到这个alpha版里面了。

那么你将会获得更好的网络摄像头使用体验

电源管理更强大

虚拟网络接口管理

支持IPV6的网络管理程序

KDE 4.3已经发布了,所以我建议想要稳定的还是使用这个桌面版

更多特性到官方去查看吧http://fedoraproject.org/wiki/Releases/12/FeatureListkde430-desktop