一、rpm
1.查询所有已安装的软件包
rpm -qa2.查询某个,或某几个软件包
rpm -q 查询的包名1 查询的包名2……
[虚拟机28/home/mis>rpm -q gcc make
gcc-4.1.3-29
make-3.81-23
也可以 rpm-qa|grep 查询的包名
3. 按照不同标签来查看软件包信息
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' \软件包名1 软件包名2……
如下:
#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' \gcc libxp systat make
gcc-4.1.3-29(i586)
package libxp is not installed
package systat is not installed
make-3.81-23(i586)
此处:1.{}里都是可以更换的功能标签。
2.各个功能标签间的“-”就是运行完命令后出现的“-”,相当于分隔符
3.\n是用来换行的。
4.查看系统中占用空间最大的软件包
#rpm -q -a --qf "%{NAME}-%{SIZE}\n" |sort -nr +1|head -1
5.用rpm命令安装软件包
#rpm -ivh 软件包名
6.用rpm卸载安装错误的软件包
#rpm -e 软件包名
二、diff
比较两个文件的内容,diff程序的输出被称为补丁 (patch)
# diff -u file file1 > file.path ##将补丁放入file.path
利用补丁来更新file
# patch file file.path
若patch命令没有安装,就用
# yum install patch
三、grep
-i:忽略大小写
-n:显示文件中所在行号
-c:显示结果的总行数
-r:递归
-v:匹配上的不显示
^root:行首有root的
root$:行尾有root的
显示在行中的root:grep root passwd | grep -v ^root | grep -v root$
四、cut
-d : -f 1 passwd:只显示passwd的第一列
-d ; -f 1-3 passwd:显示passwd的1-3列
显示ifconfig eth0的ip:
ifconfig eth0 | grep inet | grep inet6 -v | awk -F ' ' '{print $2}'
ifconfig eth0 | grep inet | grep inet6 -v | cut -d ' ' -f 10
五、sort
file:默认排每行首字母
-n file:数字排序
-rn file:数字倒序
-run file:数字倒序并不显示重复的
-rn file | uniq 显示没行,不重复
-rn file | uniq -c:显示没行,不重复并且统计出现次数
-rn file | uniq -d:只显示重复的行
-rn file | uniq -u:只显示不重复的行
-t : -k 3 file:以:为分隔符,给第三列排序
-t : -k 3 -n file:以:为分隔符,给第三列排序
六、tr
通过使用tr,您可以非常容易地实现 sed 的许多最基本功能。您可以将 tr 看作为 sed的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符。您也可以用它来除去重复字符。这就是所有 tr所能够做的。
tr -c -d -s ["string1_to_translate_from"]["string2_to_translate_to"] < input-file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
指定字符串1或字符串2的内容时,只能使用单字符或字符串范围或列表。
[a-z] a-z内的字符组成的字符串。
[A-Z] A-Z内的字符组成的字符串。
[0-9] 数字串。
\octal 一个三位的八进制数,对应有效的ASCII字符。
[O*n] 表示字符O重复出现指定次数n。因此[O*2]匹配OO的字符串。
tr中特定控制字符的不同表达方式
速记符含义八进制方式
\a Ctrl-G
\b Ctrl-H
\f Ctrl-L
\n Ctrl-J
\r Ctrl-M
\t Ctrl-I
\v Ctrl-X
示例:
将文件file中出现的"abc"替换为"xyz"