点我

打包压缩与搜索命令

在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时间短。

tar

tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。

在 Linux 系统中,常见的文件格式比较多,其中主要使用的是.tar 或.tar.gz 或.tar.bz2 格式,我们不用担心格式太多而记不住,其实这些格式大部分都是由 tar 命令来生成的。

常用参数
参数作用
-c创建压缩文件
-x解压压缩文件
-t查看压缩包内有哪些文件
-z用Gzip解压或压缩
-j用bzip2解压或压缩
-v显示解压或压缩的过程
-f目标的文件名称
-p保留原始的权限与属性
-P使用绝对路径来压缩
-C指定解压到的目录

注意:一般使用“tar -czvf 压缩包名称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩;相应的解压命令为“tar -xzvf 压缩包名称.tar.gz”。

[root@bogon test]# ll -a
总用量 8
drwxrwxr-x.  3 test test   32 12月 28 23:38 .
drwx------. 16 test test 4096 12月 28 23:24 ..
drwxr-xr-x.  2 root root    6 12月 28 23:37 test1
-rw-r--r--.  1 root root  249 12月 28 23:37 xbxaq
[root@bogon test]# tar -czvf xbxaq.tar.gz ./xbxaq 
./xbxaq
[root@bogon test]# ll
总用量 8
drwxr-xr-x. 2 root root   6 12月 28 23:37 test1
-rw-r--r--. 1 root root 249 12月 28 23:37 xbxaq
-rw-r--r--. 1 root root 402 12月 28 23:39 xbxaq.tar.gz
[root@bogon test]# tar -xzvf xbxaq.tar.gz -C ./test1/
./xbxaq
[root@bogon test]# ll ./test1/
总用量 4
-rw-r--r--. 1 root root 249 12月 28 23:37 xbxaq
[root@bogon test]# 

grep

grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

常用参数如下:

参数描述
-b将可执行文件当作文本文件来搜索
-c仅显示找到的行数
-i忽略大小写
-n显示行号
-v反向选择

在 Linux 系统中,/etc/passwd 文件是保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用 grep 命令来查找出当前系统中不允许登录系统的所有用户信息。

[root@bogon test]# grep -n /sbin/nologin /etc/passwd
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

也可以利用-v的反选

[root@bogon test]# grep -vn /bin/bash /etc/passwd
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

find

find 命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

在 Linux 系统中,搜索工作一般都是通过 find 命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上。

参数作用
-name匹配名称
-perm匹配权限
-user匹配所有者
-group匹配所有组
-mtime -n +n匹配修改内容的时间(-n 指 n 天以内,+n 指 n 天以前)
-atime -n +n匹配访问文件的时间(-n 指 n 天以内,+n 指 n 天以前)
-ctime -n +n匹配修改文件权限的时间(-n 指 n 天以内,+n 指 n 天以前)
-nouser匹配无所有者的文件
-nogroup匹配无所有组的文件
-newer f1 !f2匹配比文件 f1 新但比 f2 旧的文件
--type b/d/c/p/l/f匹配文件类型(后面的字幕参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小于50KB 的文件)
-prune忽略某个目录
-exec …… {}\;后面可跟用于进一步处理搜索结果的命令

注意:-exec 参数重要的作用。这个参数用于把 find 命令搜索到的结果交由紧随其后的命令作进一步处理,它十分类似管道符技术,并且由于 find命令对参数的特殊要求,因此虽然 exec 是长格式形式,但依然只需要一个减号(-)。

根据文件系统层次标准(Filesystem Hierarchy Standard)协议,Linux 系统中的配置文件会保存到/etc 目录中(详见第 6 章)。如果要想获取到该目录中所有以 host 开头的文件列表:

[root@bogon test]# find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/active/modules/100/hostname
/etc/hostname
/etc/avahi/hosts
[root@bogon test]# 

分类: Linux

评论

-- 评论已关闭 --

目录