1.tar 命令 tar 命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。 在 Linux 系统中,常见的文件格式比较多,其中主要使用的是.tar 或.tar.gz 或.tar.bz2 格式,我 们不用担心格式太多而记不住,其实这些格式大部分都是由 tar 命令来生成的。刘遄老师将讲解 最重要的几个参数,以方便大家理解。 首先,-c 参数用于创建压缩文件,-x 参数用于解压文件,因此这两个参数不能同时使用。 其次,-z 参数指定使用 Gzip 格式来压缩或解压文件,-j 参数指定使用 bzip2 格式来压缩或解 压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。在执行某些 压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打 包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v 参数向用户不断显示压 缩或解压的过程。-C 参数用于指定要解压到哪个指定的目录。-f 参数特别重要,它必须放到 参数的最后一位,代表要压缩或解压的软件包名称。刘遄老师一般使用“tar -czvf 压缩包名 称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩;相应的解压命令为“tar -xzvf 压 缩包名称.tar.gz”。下面我们来逐个演示下打包压缩与解压的操作。先使用 tar 命令把/etc 目录 通过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz: [root@linuxprobe ~]# tar -czvf etc.tar.gz /etc tar: Removing leading '/' from member names /etc/ 2.8 打包压缩与搜索命令 55 /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 目录): [root@linuxprobe ~]# mkdir /root/etc [root@linuxprobe ~]# 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 命令是用途最广泛的文本搜索匹配工具,虽然有很多参数,但是大多数基本上都用 不到。刘遄老师在总结了近 10 年的运维工作和培训教学的经验后,提出的本书的写作理念“去 掉不实用”绝对不是信口开河。如果一名 IT 培训讲师的水平只能停留在“技术的搬运工”层 面,而不能对优质技术知识进行提炼总结,那对他的学生来讲绝非好事。我们在这里只讲两 个最最常用的参数:-n 参数用来显示搜索到信息的行号;-v 参数用于反选信息(即没有包含 关键词的所有信息行)。这两个参数几乎能完成您日后 80%的工作需要,至于其他上百个参数, 即使以后在工作期间遇到了,再使用 man grep 命令查询也来得及。 在 Linux 系统中,/etc/passwd 文件是保存着所有的用户信息,而一旦用户的登录终端被 设置成/sbin/nologin,则不再允许登录系统,因此可以使用 grep 命令来查找出当前系统中不允 许登录系统的所有用户信息: [root@linuxprobe ~]# 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 perator:/root:/sbin/nologin ………………省略部分输出过程信息 3.find 命令 find 命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。 本书中曾经多次提到“Linux 系统中的一切都是文件”,接下来就要见证这句话的分量了。 在 Linux 系统中,搜索工作一般都是通过 find 命令来完成的,它可以使用不同的文件特性作 为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到 屏幕上。 这里需要重点讲解一下-exec 参数重要的作用。这个参数用于把 find 命令搜索到的结果交 由紧随其后的命令作进一步处理,它十分类似于第 3 章将要讲解的管道符技术,并且由于 find 命令对参数的特殊要求,因此虽然 exec 是长格式形式,但依然只需要一个减号(-)。 根据文件系统层次标准(Filesystem Hierarchy Standard)协议,Linux 系统中的配置文件 会保存到/etc 目录中(详见第 6 章)。如果要想获取到该目录中所有以 host 开头的文件列表, 可以执行如下命令: [root@linuxprobe ~]# find /etc -name "host*" -print /etc/avahi/hosts /etc/host.conf /etc/hosts /etc/hosts.allow /etc/hosts.deny /etc/selinux/targeted/modules/active/modules/hostname.pp /etc/hostname 如果要在整个系统中搜索权限中包括 SUID 权限的所有文件(详见第 5 章),只需使用 -4000 即可: [root@linuxprobe ~]# find / -perm -4000 -print /usr/bin/fusermount /usr/bin/su /usr/bin/umount /usr/bin/passwd /usr/sbin/userhelper /usr/sbin/usernetctl ………………省略部分输出信息………………
|