1.grep指令
语法: grep【选项】查找字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写,所以大小写视为相同
-n : 顺便输出行号
-v :反向选择,即显示除了查找字符串外的所有字符。
1.1grep的普通使用
先创建一个文件,里面随便输入一些字符串。
文件内容:
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# cat test.txt
aaaaaaaaaaaaaaa
bbbbbbbbbbbbbbb
ccccccccccccccc
ccccccccccccccc
bbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
asddasdwdssds
wwwwwwwwwww
wwwww
eeeeeeeeeee
qqqqqqqqqqqq
假设我们要找带有bbb的字符串
打印结果:
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# grep bbb test.txt
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
如果要输出行号的话
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# grep -n bbb test.txt
2:bbbbbbbbbbbbbbb
7:bbbbbbbbbbbbbb
8:bbbbbbbbbbbbbbb
9:bbbbbbbbbbbbbbb
这里的行号为在文件当中的行号
输出除选定字符串外的所有字符串再加上行号
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# grep -nv bbb test.txt
1:aaaaaaaaaaaaaaa
3:
4:ccccccccccccccc
5:ccccccccccccccc
6:
10:asddasdwdssds
11:
12:wwwwwwwwwww
13:wwwww
14:eeeeeeeeeee
15:qqqqqqqqqqqq
grep与通道 | 的使用
利用通道| 可以快速找到自己需要的内容,比如在查看日志的时候,如果确定了自己想要看的内容就可以利用|和grep。
下面是head 和 grep的|使用。
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# head -n8 test.txt
aaaaaaaaaaaaaaa
bbbbbbbbbbbbbbb
ccccccccccccccc
ccccccccccccccc
bbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# head -n8 test.txt|grep bbb
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
[root@iZbp19b5lvg8xtpf1tzrenZ blog]# grep bbb test.txt
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
bbbbbbbbbbbbbbb
Linux下的打包压缩
2.zip/unzip指令
语法:zip压缩文件 zip目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
2.1zip的使用
解压到当前文件
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# tree blog
blog
├── dir
│ └── test
└── test.txt
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# zip -r blog.zip blog
adding: blog/ (stored 0%)
adding: blog/dir/ (stored 0%)
adding: blog/dir/test/ (stored 0%)
adding: blog/test.txt (deflated 72%)
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog blog.zip
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]#
解压到指定文件
解压到tmp目录: unzip test2.zip -d /tmp
2.2 unzip的使用
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog.tgz blog.zip
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# unzip blog.zip
Archive: blog.zip
creating: blog/
creating: blog/dir/
creating: blog/dir/test/
inflating: blog/test.txt
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog blog.tgz blog.zip
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# tree blog
blog
├── dir
│ └── test
└── test.txt
2 directories, 1 file
3.tar指令
语法: tar [-cxtzjvf] 文件与目录…参数:
常用选项:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
虽然选项很多,但是最最简单的用法常用到的其实就5个。czf压缩,cvzf压缩加显示过程
xzf解压 xvzf解压加显示解压过程
3.1tar的压缩过程
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# ls
a.out blog code code.c tmp trash yui.txt
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# tar -czf blog.tgz blog
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# ls
a.out blog blog.tgz code code.c tmp trash yui.txt
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# rm -fr blog.tgz
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# ls
a.out blog code code.c tmp trash yui.txt
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# tar -cvzf blog.tgz blog
blog/
blog/dir/
blog/dir/test/
blog/test.txt
[root@iZbp19b5lvg8xtpf1tzrenZ ~]# ls
a.out blog blog.tgz code code.c tmp trash yui.txt
3.2tar的解压过程
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# rm -fr blog
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog.tgz blog.zip
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# tar -xvzf blog.tgz
blog/
blog/dir/
blog/dir/test/
blog/test.txt
[root@iZbp19b5lvg8xtpf1tzrenZ tmp]# ls
blog blog.tgz blog.zip