Linux学习笔记 - 打包及压缩指令

作者:    提交时间:2020-03-01    点击:1816    TAGS:Linux 指令

打包压缩和搜索指令


  1 tar  

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

-x 解开压缩文件 

-t 查看压缩包内有哪些文件 

-z 用 Gzip 压缩或解压 

-j 用 bzip2 压缩或解压 

-v 显示压缩或解压的过程 

-f 目标文件名 

-p 保留原始的权限与属性 

-P 使用绝对路径来压缩 

-C 指定解压到的目录

#先使用 tar 命令把/etc 目录通 过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz
tar -czvf etc.tar.gz /etc

#接下来将打包后的压缩包文件指定解压到/root/etc 目录中
mkdir /root/etc 
tar xzvf etc.tar.gz -C /root/etc


  2 grep  

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

-b 将可执行文件(binary)当作文本文件(text)来搜索 

-c 仅显示找到的行数 

-i 忽略大小写 

-n 显示行号 

-v 反向选择仅列出没有“关键词”的行

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


  3 find  

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

-name 匹配名称 

-perm 匹配权限(mode 为完全匹配,-mode 为包含即可) 

-user 匹配所有者 

-group 匹配所有组 

-mtime -n +n 匹配修改内容的时间(-n 指 天以内,+n 指 天以前) 

-atime -n +n 匹配访问文件的时间(-n 指 天以内,+n 指 天以前) 

-ctime -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 是长格式形式,但依然只需要一个减号(-)。

#Linux 系统中的配置文件 会保存到/etc 目录中,如果要想获取到该目录中所有以 host 开头的文件列表
find /etc -name "host*" -print

#如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用- 4000 即可
find / -perm -4000 -print