shell脚本实用案例 Linux学习
5.5.3 cal指令
查看日历
基本语法:cal [选项] (不加选项,显示本月日历)
应用案例:显示2022年日历,即 cal 2022
5.6 搜索查找类 5.6.1 find指令
find指令将从指定目录向下递归遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:find [搜索范围] [选项]
选项说明:
应用案例:
案例1:按文件名:根据名称查找/home目录下的hello.txt文件,find /home -name hello.txt
案例2:按拥有者:查找/opt目录下,用户名称为nobody的文件,find /opt -user nobody
案例3:查找整个linux系统下大于200M的文件(+n 大于 -n 小于 n 等于),find / -size +200M
5.6.2 locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定时更新locate时刻。
基本语法:locate 搜索文件
特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
5.6.3 which指令
查看某个指令在哪个目录下,which [命令]
5.6.4 grep指令和管道符号|
grep过滤查找,管道符"|",表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法:grep [选项] 查找内容 源文件
常用选项:
应用案例:在hello.txt 文件中,查找“yes”所在行,并且显示行号 ,
写法1:cat hello.txt | grep “yes”
写法2:grep -n “yes” hello.txt
5.7 压缩和解压类 5.7.1 gzip/gunzip指令
gzip用于压缩文件,gunzip用于解压文件
基本语法:
gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (解压文件命令)
5.7.2 zip/unzip指令
zip用于压缩文件,unzip用于解压,这个在项目打包发布中很有用
基本语法:
zip [选项] XXX.zip 将要压缩的文件内容(压缩文件和目录的命令)
unzip [选项] XXX.zip (解压缩文件)
zip常用选项:-r 递归压缩,即压缩目录
unzip常用选项:-d 指定解压后文件的存放目录
应用案例:
案例1:将/home下的所有文件即home文件夹进行压缩成 myhome.zip,zip -r myhome.zip /home/
案例2:将myhome.zip 解压到 /opt/tmp 目录下,unzip -d /opt/tmp /home/myhome.zip
5.7.3 tar指令
tar指令是打包指令,最后打包后的文件是 .tar.gz 的文件
基本语法:tar [选项] XXX.tar.gz 打包的内容(打包目录,压缩后的文件格式 .tar.gz)
选项说明:
应用案例:
案例1:压缩多个文件,将/home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz,tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例2:将/home的文件夹压缩成 myhome.tar.gz,tar -zcvf myhome.tar.gz /home/
案例3:将pc.tar.gz解压到当前目录,tar -zxvf pc.tar.gz