一、检索和过滤文件内容------grep

在文件中查找并显示包含指定字符串的行

grep <选项> '字符串' 文件名

-i

不区分大小写

-v

反向输出,反向匹配

-c

输出匹配到的行数

-o

精确匹配,只匹配显示项

-n

将匹配行在文档中的行号显示

-e

多条件查询(一般放在最后)

-E

支持使用扩展正则表达式,相当于egrep命令

-A  n

显示匹配行以及后面n行内容

-B  n

显示匹配行以及前面n行内容

-C  n

显示匹配行以及前后n行内容

-l 

列出文件内容符合指定格式的文件名称

-w 

只显示全字符合的列

基本格式

  • 要查找的字符串以双引号括起来单引号也可以
  • “^……”表示以……开头,“……$”表示以……结尾
  • “^$”表示空行
grep -i 'system' anaconda-ks.cfg    #-i不区分大小写
#不区分大小写检索system

grep tgz压缩包 grep 压缩文件内容_服务器

egrep -v '^#|^@|^%' anaconda-ks.cfg    #-v 反向匹配
#匹配不以#,@,%开头的行

grep tgz压缩包 grep 压缩文件内容_文件名_02

grep -ic 'system' anaconda-ks.cfg   #-c 输出匹配的行个数
#匹配该行包含system的行数

grep tgz压缩包 grep 压缩文件内容_运维_03

grep -o 'network' anaconda-ks.cfg  
#输出匹配到network的个数

grep -o 'network' anaconda-ks.cfg | wc -l
#将匹配字符串显示,以wc -l命令统计出字符串的个数

grep tgz压缩包 grep 压缩文件内容_运维_04

grep -ni 'system' anaconda-ks.cfg   #-n 将匹配行的行号显示
#显示匹配行号与匹配行

grep tgz压缩包 grep 压缩文件内容_文件名_05

#查找以#开头和以@开头的行的三种方法
grep -e '^#' -e '^@' anaconda-ks.cfg 

grep -E '^#|@$' 文件名

egrep '^#|@$' 文件名


#查找以#开头且以@结尾的行
grep '^#' 文件名 | grep '@$'

grep tgz压缩包 grep 压缩文件内容_服务器_06

grep -A 2 'network' anaconda-ks.cfg 
#查找匹配network的行和后面2行

-A:显示匹配行和后面几行
-B:显示匹配行和前面几行
-C:显示匹配行和前后几行

grep tgz压缩包 grep 压缩文件内容_服务器_07

 二、压缩命令

 1.gzip命令与bzip2命令

#压缩文件                         #解压文件                        
gzip  [-9] 文件名                 gzip -d 压缩包 或gunzip  压缩包
bzip2 [-9] 文件名                 bzip2 -d 压缩包 或bunzip2  压缩包

gzip 制作的压缩文件默认的扩展名为“.gz”,原始文件不再保留
bzip2 制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留

使用“-9”选项可以提高压缩的比率
指令的值可为1(压缩速度最快,最低的压缩质量)至9(最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质量较为平衡的值)

grep tgz压缩包 grep 压缩文件内容_linux_08

 2.zip命令

#压缩文件                                   #解压文件

zip <压缩包名> 源文件               unzip <压缩包名>  [-d]  目录


zip制作的压缩文件名自取,原始文件保留

三、归档命令------tar

tar  <选项>  归档文件名  源文件或目录              #制作归档文件

tar  <选项>  归档文件名  -c  目标目录                #释放归档文件

-c

创建.tar格式的包文件

-x

解开.tar格式的包文件

-C

解压时指定释放

-f

表示使用归档文件

-p

打包时保留文件及目录权限

-P

打包时保留文件及目录的绝对路径

-t

列表查看包内文件

-v

输出详细信息

-j

调用bzip2程序进行压缩或解压。

-z

调用gzip程序进行压缩或解压。

#压缩文件
tar -czvf  文件名.tar.gz  <多个文件或目录>       #调用gzip压缩文件
tar -cjvf  文件名.tar.bz2 <多个文件或目录>       #调用bzip2压缩文件

#解压
tar -xzvf  文件名.tar.gz  -C 目录               #调用gzip解压      
tar -xjvf  文件名.tar.bz2 -C 目录               #调用bzip2解压 
tar -xf    <压缩包名>                           #自动识别解压程序解压


使用tar命令压缩文件,源文件保留。

grep tgz压缩包 grep 压缩文件内容_服务器_09

tar -tf  压缩包名          #查看压缩包内的压缩文件

grep tgz压缩包 grep 压缩文件内容_grep tgz压缩包_10