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 天以内,+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 是长格式形式,但依然只需要一个减号(-)。
#Linux 系统中的配置文件 会保存到/etc 目录中,如果要想获取到该目录中所有以 host 开头的文件列表 find /etc -name "host*" -print #如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用- 4000 即可 find / -perm -4000 -print