linux类型转换(linux 类型转换)-冯金伟博客园

linux文件系统类型

ext3 是现在 Linux(包括 Red Hat,Mandrake 下)常见的默认的文件系统,它是 ext2 的升级版本。正如 Red Hat 公司的首席核心的开发人员 Michael K.Johnson 所说,从 ext2 转换到ext3 主要有以下 4 个理由:可用性、数据完整性、速度以及易于转化。

ext3 中采用了日志式的管理机制,它使文件系统具有很强的快速恢复能力,并且由于从 ext2 转换到 ext3 无须进行格式化,因此,更加推进了 ext3 文件系统的大大推广。

如何在Linux中将文件编码转换为UTF-8?

在Linux中转换文件的编码可以使用iconv命令,它的使用很简单的,比如下面这条命令将GB2312编码的文件转换成UTF-8编码的文件: iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt 这个例子中mygb2412.txt是要转换的文件,myutf8.txt是转换后的新文件。

iconv命令最常用的形式就是上面这条命令,它所使用的三个选项解释如下: -f选项:就是from的意思,后面跟原来的编码格式 -t选项:英文to的意思,后面跟转换后的新编码 -o选项:指定输出文件,就是转换编码后的新文件的文件名,没有这个参数时新文件会将原来的文件覆盖。其实还可以用几乎每个Linux发行版都自带的gedit这个软件打开需要转换编码的文件,然后选择另存为功能,在保存文件对话框中选择UTF-8编码,再输入一个新文件名点击保存就转换出一个UTF-8编码的文件了。

linux三种模式切换?

Linux虚拟机有三种网络模式,分别是Bridged(桥接模式)、NAT(网络地址转换模式)、Host-only(主机模式)。

1、NAT(网络地址转换模式)

使用NAT模式,就是让虚拟系统借助NAT的功能,通过宿主机所在的网络来访问公网。在这种模式下宿主机成为双网卡主机,同时参与现有的宿主局域网 和新建的虚拟局域网,但由于加设了一个虚拟的NAT服务器,使得虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来 看,只能看到宿主机,完全看不到新建的虚拟局域网。

2、Bridged(桥接模式)

在这种模式下,Virtualbox虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器,需要手工为虚拟系统配置IP地址、 网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。从 网 络技术上理解相当于在宿主机前端加设了一个虚拟交换机,然后宿主机和所有虚拟机共享这个交换机。

3、Host-only(主机模式)

在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时就可采用host-only模式,在这种模式下宿主机上的所有虚拟机是可以相互通信 的,但虚拟机和真实的网络是被隔离开的。

linux shell不同进制数据转换?

shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以0x 开头就是16 进制数.使用 BASE#NUMBER 这种形式可以表示其它进制.BASE值:2-64.

使用方法:

其它进制转为10进制

八进制转十进制:

$ ((num=0123));

$ echo $num;

83$ ((num=8#123));

$ echo $num;

83((表达式)),(())里面可以是任意数据表达式。如果前面加入:”$”可以读取计算结果。

十六进制转十进制:

$ ((num=0xff));

$ echo $num;

255

$ ((num=16#ff));

$ echo $num;

255base-32转十进制:

$ ((num=32#ffff));

$ echo $num;

507375base64转十进制:

$ ((num=64#abc_));

$ echo $num;

2667327二进制转十进制

$ ((num=2#11111111));

$ echo $num;

255

十进制转为其它进制

十进制转八进制

这里使用到:bc外部命令完成。bc命令格式转换为:echo “obase=进制;值”|bc

$ echo “obase=8;01234567″|bc

4553207二进制,十六进制,base64转换为 十进制也相同方法。

$ echo “obase=64;123456″|bc

30 09 00

shell,内置各种进制表示方法非常简单。记得base#number 即可。这里记得赋值时候用(())符号。不能直接用=号了。=号没有值类型。默认将后面变成字符串了。如:

$ num=0123;

$ echo $num;

01230开头已经失去了意义了。

可以通过定义符:let达到(()) 运算效果。

$ let num=0123;

$ echo $num;

83