Linux文件查找,压缩和解压

关于搜索查找有关的指令

find 指令
从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法:
find [搜索范围] [选项]

选项说明:

选项 功能
-name 按照指定的文件名查找模式查找文件
-user 查找属于指定用户名所有文件
-size 按照指定的文件大小查找文件

案例 1: 按文件名:根据名称查找 /home 目录下的 hello.txt 文件
find /home -name hello.txt

案例 2:按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody

案例 3:查找整个 linux 系统下大于 200M 的文件
+n 大于 -n 小于 n 等于
单位有 k,M,G 
find / -size +200M

locate 指令
可以快速定位文件路径。
利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。
Locate 指令无需遍历整个文件系统,查询速度较快。
为了保证查询结果的准确度,管理员必须定期更新 locate 时刻
基本语法:
locate 搜索文件

注意:
由于 locate 指令基于数据库进行查询,
所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
updatedb
locate hello.txt

which 指令
可以查看某个指令在哪个目录下
案例:ls 指令在哪个目录
which ls

grep 指令和 管道符号 |  
grep指令往往和管道符号 | 结合使用
grep:过滤查找
管道符:“|”
表示将前一个命令的处理结果输出传递给后面的命令处理。
比如:先 cat a.txt,然后又想看a.txt文件中有没有hello这个词
那么就 cat a.txt | grep "hello" --->先找到a.txt,然后再在a.txt中找hello

基本语法:
grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写

案例 1: 请在 hello.txt 文件中,查找"yes"所在行,并且显示行号
写法 1: cat /home/hello.txt | grep "yes" 引号写不写都行
cat /home/hello.txt | grep -n "yes" 显示行号  
写法 2: grep -n "yes" /home/hello.txt

关于压缩和解压的指令

gzip/gunzip 指令
gzip 用于压缩文件
gunzip 用于解压的
基本语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)

案例 1: gzip 压缩,将 /home 下的 hello.txt 文件进行压缩
gzip /home/hello.txt
案例 2: gunzip 解缩,将 /home 下的 hello.txt.gz 文件进行解压
gunzip /home/hello.txt.gz

zip/unzip 指令
zip 用于压缩文件
unzip 用于解压的
基本语法:
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压文件)
zip 常用选项
-r:递归压缩,即压缩目录
unzip 的常用选项
-d<目录> :指定解压后文件的存放目录

案例 1:将 /home 下的所有文件/文件夹压缩成 myhome.zip
zip -r myhome.zip /home/ [将 home 目录及其包含的文件和子文件夹都压缩]
案例 2:将 myhome.zip 解压到 /opt/tmp 目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip

tar 指令
tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
把一个或者多个文件(夹)用压缩软件进行压缩的过程,一般可称之为打包。
tar指令可以压缩也可以解压。
根据选项来 压缩还是解压。

基本语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:

选项 功能
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件

案例 1:压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz 
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
使用了选项:-z -c -v -f
多个文件就 空格直接写在后面就好了

案例 2:将 /home 的文件夹压缩成 myhome.tar.gz 
tar -zcvf myhome.tar.gz /home/

案例 3:将 pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz

案例 4:将 myhome.tar.gz 解压到 /opt/tmp2 目录下 
(1) mkdir /opt/tmp2 
(2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

posted @   刘昊20218560  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示