一,在CentOS/RHEL 5上安装rar和unrar
centos 32 bit:
centos 64 bit :
安装软件包:
For centos 32 bit:
For centos 64 bit:
开始安装 rar / unrar:
一般为了不影响平时执行更新的速度,可以不启用rpmforge库,而是在需要时执行如下命令:
二,在 CentOS 6 / RHEL 6 安装 rar 和 unrar
以 CentOS 64位 为例:
sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
sudo vi /etc/yum.repos.d/rpmforge.repo
sudo yum --enablerepo=rpmforge install rar unrar
如何在Linux下创建指定大小的空文件呢,这里介绍二种方法,供参考。
方法1,使用dd命令:
有关dd命令的用法,请参考如下文章:
linux dd命令 用法详解
linux dd命令 详解
linux dd命令详解(清除硬盘数据)
查看 dd命令 拷贝进度
方法2,使用qemu-img命令:
比较二种实现方法可知,方法2在执行速度上略胜一筹。
推荐使用之。
以下分享linux中的一些高级命令,供大家参考。
先来看一个命令:
高级文件管理命令:
cat主要有三大功能:
1.一次显示整个文件。$ cat filename
2.从键盘创建一个文件。$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
把test.txt文件扔进垃圾箱,赋空值test.txt
cat :
[root@xxx tmp]# cat a //查看一个文件
haha
[root@xxx tmp]# cat a > a.txt 添加a到一个文件中会覆盖之前的内容
[root@xxx tmp]# cat a.txt
haha
[root@xxx tmp]# cat a >> a.txt 追加,不会覆盖之前的内容
[root@xxx tmp]# cat a.txt
haha
haha
[root@xxx tmp]# cat -n a.txt 显示内容和行号
1 haha
2 haha
[root@xxx tmp]# cat -b a.txt //不显示空行行号但是空格是显示的
1 haha
2 haha
3 haha
[root@xxx tmp]# cat -bs a.txt //把多个空行合并成1行
1 haha
2 haha
3 haha
[root@xxx tmp]# cat b.txt
heihei
1111111
2222222
[root@xxx tmp]# tac b.txt //倒序显示
2222222
1111111
heihei
===============================================
[root@xxx tmp]# cat a.txt | grep -v ^$ //不显示空行 ^$ 为显示空行 -v表示取反
haha
haha
haha
tr:
只能替换单个字符
AaAa
AaAa
AaAa
[root@xxx tmp]# cat a.txt | tr 'a-z' 'A-Z' //将所有的小写字符换成大写
HAHA
HAHA
HAHA
cut:命令
1 一两句话描述一下cut命令吧!
正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。
cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期发布)
2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?
cut命令主要是接受三个定位方法:
第一,字节(bytes),用选项-b
第二,字符(characters),用选项-c
第三,域(fields),用选项-f 指定第几部分
第四,-d指定分割符
事例:
haha heihei nihao 4444
haha heihei nihao 4444
haha heihei nihao 4444
[root@xxx tmp]# cut -d " " -f 2 c.txt //-d 指定分隔符 -f指定取第几列
heihei
heihei
heihei
[root@xxx tmp]# cut -d " " -f 1,3 c.txt //取第1和第3列
haha nihao
haha nihao
haha nihao
[root@xxx tmp]# cut -d " " -f 3- c.txt //取第三列以后的所有字段
nihao 4444
nihao 4444
nihao 4444
具体事例:
取本机ip地址 192.168.1.253
方法一:
192.168.2.253
方法二:
192.168.2.253
补充
1 以“字节”定位,给个最简单的例子?
举个例子吧,当你执行ps命令时,会输出类似如下的内容:
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
如果想提取每一行的第3个字节,就这样:
c
c
c
看明白了吧,-b后面可以设定要提取哪一个字节,其实-b和3之间没有空格也是可以的,但推荐有空格:)
2 如果“字节”定位中,我想提取第3,第4、第5和第8个字节,怎么办?
-b支持形如3-5的写法,而且多个定位之间用逗号隔开就成了。
例子:
croe
croe
croe
注意,cut命令如果使用了-b选项,那么执行此命令时,cut会先把-b后面所有的定位进行从小到大排序,然后再提取。可不能颠倒定位的顺序哦。
这个例子就可以说明这个问题:
croe
croe
croe
3 还有哪些类似“3-5”这样的小技巧,列举一下吧!
[rocrocket@rocrocket programming]$ who
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
[rocrocket@rocrocket programming]$ who|cut -b -3
roc
roc
roc
[rocrocket@rocrocket programming]$ who|cut -b 3-
crocket :0 2009-01-08 11:07
crocket pts/0 2009-01-08 11:23 (:0.0)
crocket pts/1 2009-01-08 14:15 (:0.0)
想必你也看到了,-3表示从第一个字节到第三个字节,而3-表示从第三个字节到行尾。如果你细心,你可以看到这两种情况下,都包括了第三个字节“c”。
如果我执行who|cut -b -3,3-,你觉得会如何呢?答案是输出整行,不会出现连续两个重叠的c的。看:
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
4 给个以字符为定位标志的最简单的例子吧!
下面例子你似曾相识,提取第3,第4,第5和第8个字符:
croe
croe
croe
不过,看着怎么和-b没有什么区别啊?莫非-b和-c作用一样? 其实不然,看似相同,只是因为这个例子举的不好,who输出的都是单字节字符,所以用-b和-c没有区别,如果你提取中文,区别就看出来了,来,看看中文提取的情况:
星期一
星期二
星期三
星期四
[rocrocket@rocrocket programming]$ cut -b 3 cut_ch.txt
?
?
?
?
[rocrocket@rocrocket programming]$ cut -c 3 cut_ch.txt
一
二
三
四
看到了吧,用-c则会以字符为单位,输出正常;而-b只会傻傻的以字节(8位二进制位)来计算,输出就是乱码。
既然提到了这个知识点,就再补充一句,如果你学有余力,就提高一下。
当遇到多字节字符时,可以使用-n选项,-n用于告诉cut不要将多字节字符拆开。例子如下:
?
?
?
?
[rocrocket@rocrocket programming]$ cat cut_ch.txt |cut -nb 2
[rocrocket@rocrocket programming]$ cat cut_ch.txt |cut -nb 1,2,3
星
星
星
星
5 域是怎么回事呢?解释解释:)
为什么会有“域”的提取呢,因为刚才提到的-b和-c只能在固定格式的文档中提取信息,而对于非固定格式的信息则束手无策。这时候“域”就派上用场了。
(下面的讲解内容是在假设你对/etc/passwd文件的内容和组织形式比较了解的情况下进行的。)