首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
前言-常见的Linux系统分类
红帽系统认证介绍
第一章:安装虚拟机布署Linux系统
准备安装工具
安装配置VM虚拟机
安装Linux系统
重置root管理员密码
RPM(红帽软件包管理器)
Yum软件仓库
systemd初始化进程
第二章:新手必须掌握的Linux命令
强大而好用的shell
执行查看帮助命令
常用系统工作命令
系统状态检测命令
工作目录切换命令
文本文件编辑命令
文件目录管理命令
打包压缩与搜索命令
第三章:管道符、重定向与环境变量
输入输出重定向
管道命令符
命令行的通配符
常用的转义字符
重要的环境变量
第四章:Vim编辑器与Shell命令脚本
Vim文本编辑器
编写简单文档
编写Shell脚本
流程控制语句
计划任务服务程序
第五章:用户身份与文件权限
用户身份与能力
文件权限与归属
文件的特殊权限
文件的隐藏属性
文件访问控制列表
su命令与sudo服务
当前位置:
首页>>
技术小册>>
Linux应该怎么学(上)
小册名称:Linux应该怎么学(上)
在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时间短。下面将学习如何在Linux系统中对文件进行打包压缩与解压,以及让用户基于关键词在文本文件中搜索相匹配的信息、在整个文件系统中基于指定的名称或属性搜索特定文件。本节虽然只有3条命令,但是其功能都比较复杂而且参数很多,因此放到了本章最后讲解。 1.tar命令 tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。 在Linux系统中,常见的文件格式比较多,其中主要使用的是.tar或.tar.gz或.tar.bz2格式,我们不用担心格式太多而记不住,其实这些格式大部分都是由tar命令来生成的。刘遄老师将讲解最重要的几个参数,以方便大家理解。tar命令的参数及其作用如表2-14所示。 ![](/uploads/images/20240509/6ff03fd0b51219959f96b14917a1eaf9.png) 首先,-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/ /etc/fstab /etc/crypttab /etc/mtab /etc/fonts/ 接下来将打包后的压缩包文件指定解压到/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 2.grep命令 grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。grep命令的参数及其作用如表2-15所示。 ![](/uploads/images/20240509/5c8ad47d3ed02bd9452558f3c5eef9cc.png) 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:operator:/root:/sbin/nologin ………………省略部分输出过程信息……………… 3.find命令 find命令用于按照指定条件来查找文件,格式为“find [查找路径]寻找条件 操作”。 本书中曾经多次提到“Linux系统中的一切都是文件”,接下来就要见证这句话的分量了。在Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上。find命令的参数以及作用如表2-16所示。 ![](/uploads/images/20240509/2ae7900573eb3c4cfc697f11986a2257.png) 这里需要重点讲解一下-exec参数重要的作用。这个参数用于把find命令搜索到的结果交由紧随其后的命令作进一步处理,它十分类似于第3章将要讲解的管道符技术,并且由于find命令对参数的特殊要求,因此虽然exec是长格式形式,但依然只需要一个减号(-)。 根据文件系统层次标准(Filesystem Hierarchy Standard)协议,Linux系统中的配置文件会保存到/etc目录中(详见第6章)。如果要想获取到该目录中所有以host开头的文件列表,可以执行如下命令: [root@linuxprobe ~]# find /etc -name "host*" -print 如果要在整个系统中搜索权限中包括SUID权限的所有文件(详见第5章),只需使用-4000即可: [root@linuxprobe ~]# find / -perm -4000-print ```asp /usr/bin/fusermount /usr/bin/su /usr/bin/umount /usr/bin/passwd /usr/sbin/userhelper /usr/sbin/usernetctl ………………省略部分输出信息……………… ``` `[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;` 在本章最后,刘遄老师再多提几句:很多读者初次接触到本书时都担心因为自己的英语基础不好而导致学不会Linux系统,其实大可不必担心,因为我们的图书、培训课程甚至红帽考题都是中文的。而在学习完本章后您也一定发现了,我们以后要使用的是Linux命令,而绝不是纯粹的英语单词,即便它们的拼写100%相同,最终用处肯定也是不一样的。因此就学习Linux系统技术来讲,您跟英语达人绝对都是站在同一起跑线上的,更何况还正确地选择了一本适合您的Linux教材。休息一下,然后开始学习第3章吧!
上一篇:
文件目录管理命令
下一篇:
第三章:管道符、重定向与环境变量
该分类下的相关小册推荐:
Shell编程入门与实战
LInux运维零基础入门到实战
Linux应该怎么学(下)
CentOS入门指南
Vim实用技巧必知必会
Vim编辑器入门到实战
Linux应该怎么学(中)
bash脚本编程实战