作者:默默追寻爱情 | 来源:互联网 | 2023-09-06 20:49
打包压缩与搜索命令
1.tar命令
tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”
参数 |
作用 |
---|
-c |
创建压缩文件 |
-x |
解开压缩文件 |
-t |
查看压缩包内有哪些文件 |
-z |
用Gzip压缩或解压 |
-j |
用bzip2压缩或解压 |
-v |
显示压缩或解压的过程 |
-f |
目标文件名 |
-p |
保留原始的权限与属性 |
-P |
使用绝对路径来压缩 |
-C |
指定解压到的目录 |
一般使用“tar -czvf 压缩包名称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩;相应的解压命令为“tar -xzvf 压缩包名称.tar.gz”。
下面我们是逐个打包压缩与解压的操作。先使用 tar 命令把/etc 目录通
过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz:
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ tar -czvf etc.tar.gz /etc
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/fonts/
/etc/fonts/conf.d/
/etc/fonts/conf.d/65-0-madan.conf
/etc/fonts/conf.d/59-liberation-sans.conf
/etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf
/etc/fonts/conf.d/59-liberation-mono.conf
/etc/fonts/conf.d/66-sil-nuosu.conf
..................省略部分压缩过程信息..................
接下来将打包后的压缩包文件指定解压到/root/etc 目录中(先使用 mkdir 命令来创建
/root/etc 目录):
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ mkdir /root/etc
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ sudo tar xzvf etc.tar.gz -C /root/etc
etc/
etc/fstab
etc/crypttab
etc/mtab
etc/fonts/
etc/fonts/conf.d/
etc/fonts/conf.d/65-0-madan.conf
etc/fonts/conf.d/59-liberation-sans.conf
etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf
etc/fonts/conf.d/59-liberation-mono.conf
etc/fonts/conf.d/66-sil-nuosu.conf
etc/fonts/conf.d/65-1-vlgothic-gothic.conf
etc/fonts/conf.d/65-0-lohit-bengali.conf
etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf
..................省略部分解压过程信息..................
2.grep命令
grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
grep 命令的参数及其作用如表:
参数 |
作用 |
---|
-b |
将可执行文件(binary)当作文本文件(text)来搜索 |
-c |
仅显示找到的行数 |
-i |
忽略大小写 |
-n |
显示行号 |
-v |
反向选择——仅列出没有“关键词”的行 |
-n 参数用来显示搜索到信息的行号;-v 参数用于反选信息(即没有包含关键词的所有信息行)。这两个参数几乎能完成日后 80%的工作需要。
在 Linux 系统中,/etc/passwd 文件是保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用 grep 命令来查找出当前系统中不允许登录系统的所有用户信息:
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ grep /sbin/nologin /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
..................省略部分输出过程信息..................
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/1/f |
匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件 |
-size |
匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune |
忽略某个目录 |
-exec … {}; |
后面可跟用于进一步处理搜索结果的命令 |
根据文件系统层次标准(Filesystem Hierarchy Standard)协议,Linux 系统中的配置文件会保存到/etc 目录中。如果要想获取到该目录中所有以 host 开头的文件列表,可以执行如下命令:
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ find /etc -name "host*" -print
find: ‘/etc/cups/ssl’: Permission denied
/etc/hosts.deny
/etc/hosts
/etc/hosts.allow
/etc/hostname
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/ssl/private’: Permission denied
/etc/host.conf
/etc/avahi/hosts
如果要在整个系统中搜索权限中包括 SUID 权限的所有文件(详见第 5 章),只需使用-4000 即可:
zoupeng@zoupeng-ThinkPad-X1-Carbon-5th:~$ find / -perm -4000 -print
[root@linuxprobe ~]# find / -perm -4000 -print
/usr/bin/fusermount
/usr/bin/su
/usr/bin/umount
/usr/bin/passwd
/usr/sbin/userhelper
/usr/sbin/usernetctl
..................省略部分输出信息..................