当前位置: 首页 > news >正文

Linux操作系统中的文件查找(which/whereis/find/locate/grep)及解压缩

目录

一、Linux中的文件查找方式

1.1.查找“命令”(which)

1.2.任意文件的查找(locate、find)

1.2.1.文件查找(locate)

1.2.2.文件查找(find)

1.2.2.1.find的完整书写格式

1.2.2.2.find常用参数详解

1.2.2.3.find使用案例

1.3.根据文件内容去找(grep)

1.3.1.grep介绍

1.3.2.grep使用案例

二、文件打包及压缩

2.1.打包压缩

2.2.不解压查看压缩包里边的内容

2.3.解压/解包


一、Linux中的文件查找方式

1.1.查找“命令”(which)

which/whereis 命令查找是专门用于查询命令文件所在位置的专用命令。它是通过从path环境变量中进行查询的。

使用man查看官方说明:

该函数接受一个或多个参数。对于每个参数,它会将原本会执行的可执行文件的完整路径打印到标准输出(stdout)。
当这个参数在shell提示符下输入时,它会通过在列出的目录中搜索可执行文件或脚本来实现这一功能。

1.2.任意文件的查找(locate、find)

locate和find都用于任意文件的查找,那他们有什么区别?

其实,他俩的区别更趋向于一个是已经将本地文件系统,计算并优化存储在数据库中,locate查找时从数据库中进行查找,更偏向于离线的意思(如果修改的结果未及时更新,可能导致查询结果不准确);

而find查询的时候是基于当前的文件系统,所以更加实时准确,但大多数情况下相对较慢。

1.2.1.文件查找(locate)

注意:在centos7中,locate命令默认未安装,因为它属于 mlocate 软件包的一部分,而该包未包含在最小化安装或部分基础系统配置中。

使用man命令查看官方文档(退出使用快捷键 q

locate 读取由 updatedb(8) 准备的一个或多个数据库,并将至少与其中一个 PATTERN 匹配的文件名写入标准输出,一个就是每行。
如果未指定--regex,则模式(PATTERNS)可以包含通配符。如果任何模式都不包含通配符,则locate的行为就像没有指定通配符一样模式为*模式*。
默认情况下,locate命令不会检查数据库中找到的文件是否仍然存在。locate命令永远不会报告在最近一次更新后创建的文件。但是可以执行updatedb来更新相关数据库。

1.2.2.文件查找(find)

使用man命令查看官方文档(退出使用快捷键 q

本手册页记录了GNU版本的find。GNU find通过评估给定的条件,在以每个给定文件名为根的目录树中进行搜索,根据优先级规则(见“运算符”一节),从左到右进行表达式计算,直至得出结果(左侧为对于与(and)操作,结果为假(false);对于或(or)操作,结果为真(true)。此时,find函数将移动到下一个文件名。

1.2.2.1.find的完整书写格式

语法:

find [path] [-option] [expression] [action];

命令 路径 选项 表达式 动作

1.2.2.2.find常用参数详解

-name filename #查找名为filename的文件

-size n[c] #查长度为n块[或n字节]的文件

-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件

-perm #按执行权限来查找

-user username #按文件属主来查找

-group groupname #按组来查找

-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

1.2.2.3.find使用案例

=============================实 际 使 用==================================

find -name april* 在当前目录下查找以april开始的文件
find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home/hadoop/software -mtime -2 在/home/hadoop/software下查最近两天内改动过的文件
find /home/hadoop/software -atime -1 查1天之内被存取过的文件
find /home/hadoop/software -mmin +60 在/home/hadoop/software下查60分钟前改动过的文件
find /home/hadoop/software -amin +30 查最近30分钟前被存取过的文件
find /home/hadoop/software -newer tmp.txt 在/home/hadoop/software下查更新时间比tmp.txt近的文件或目录
find /home/hadoop/software -anewer tmp.txt 在/home/hadoop/software下查存取时间比tmp.txt近的文件或目录
find /home/hadoop/software -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home/hadoop/software -user cnscn 列出/home/hadoop/software目录内属于用户cnscn的文件或目录
find /home/hadoop/software -uid +501 列出/home/hadoop/software目录内用户的识别码大于501的文件或目录
find /home/hadoop/software -group cnscn 列出/home/hadoop/software内组为cnscn的文件或目录
find /home/hadoop/software -gid 501 列出/home/hadoop/software内组id为501的文件或目录
find /home/hadoop/software -nouser 列出/home/hadoop/software内不属于本地用户的文件或目录
find /home/hadoop/software -nogroup 列出/home/hadoop/software内不属于本地组的文件或目录
find /home/hadoop/software -name tmp.txt -maxdepth 4 列出/home/hadoop/software内的tmp.txt 查时深度最多为3层
find /home/hadoop/software -name tmp.txt -mindepth 3 从第2层开始查
find /home/hadoop/software -empty 查找大小为0的文件或空目录
find /home/hadoop/software -size +512k 查大于512k的文件
find /home/hadoop/software -size -512k 查小于512k的文件
find /home/hadoop/software -links +2 查硬连接数大于2的文件或目录
find /home/hadoop/software -perm 0700 查权限为700的文件或目录

find / -amin -10 查找在系统中最后10分钟访问的文件
find / -atime -2 查找在系统中最后48小时访问的文件
find / -empty 查找在系统中为空的文件或者文件夹
find / -group cat 查找在系统中属于 groupcat的文件
find / -mmin -5 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 查找在系统中最后24小时里修改过的文件
find / -nouser 查找在系统中属于作废用户的文件
find / -user fred 查找在系统中属于FRED这个用户的文件

1.3.根据文件内容去找(grep)

1.3.1.grep介绍

前面提到的文件查找方式,which用于命令文件的查找,locate、find用于对任意文件的查找,这种方式查找的方式和结果都只针对于文件名称来进行。而grep的方式是根据文件里的内容来进行查找和匹配。

使用方式:

grep [option(s)] pattern [filename]

grep命令中的文件名是可选的。如果没有文件名,grep等待标准输入。输入一行后,grep在行中搜索正则表达式,如果包含该特定表达式就显示此行。用户指示输入结束时(Ctrl + d),执行才结束。

1.3.2.grep使用案例

在/etc 目录下查找文件内容中有127.0.0.1 的内容:

在当前文件夹下查找我们的含有jdk的文件有哪些

二、文件打包及压缩

tar命令是Unix/linux系统中备份文件的可靠方法几乎可以工作于任何环境中,它的使用权限是所有用户,建议针对目录。

语法:tar 选项 压缩包名称 源文件

GNU的“tar”工具可以将多个文件一起保存到单个磁带或磁盘存档中,并且可以从存档中恢复单个文件。

功能:仅打包文件/目录(不压缩),需配合gzip/bzip2/xz(其实也就是关注一下三种不同的方式该如何使用)实现压缩。
常用选项

命令解释
-c压缩
-x解压
-t不解压查看
-v显示过程
-f指定包文件名(必须放在选项最后,如-zxvf,-zcvf)
-z用gzip压缩/解压(.tar.gz 或 .tgz)
-j用bzip2压缩/解压(.tar.bz2 或 .tbz2)
-J用xz压缩/解压(.tar.xz)

注意:只需要关注文件类型,c用来打包,x用来解包,t用来查看

2.1.打包压缩

# 打包并压缩为 .tar.gz(最常用)
例如:tar -zcvf study.tar.gz ./study/

2.2.不解压查看压缩包里边的内容

# 不解压查看内容
tar -tvf study.tar.gz

2.3.解压/解包

# 解压 .tar.gz
tar -jxvf study.tar.gz

tar -xvf study.tar.gz -C ./tar_test
//-C重定向到//tmp目录

http://www.jsqmd.com/news/902771/

相关文章:

  • 如何通过统一API网关解决多模型切换的技术痛点
  • 2026 常州闲置名包回收指南:合扬同城上门更省心 - 合扬奢侈品交易中心
  • 传统制造业做GEO的两难怎么破?卢门学府GEO模式正在被验证 - 资讯速览
  • 使用Nodejs编写脚本配合SpringBoot消费TaotokenAPI服务
  • Navicat Mac版无限试用重置:3种高效方案彻底破解14天限制
  • 告别阻塞与丢包:在STM32CubeIDE中玩转USART中断与DMA的混合模式
  • 合肥本地深度实测|2026金价行情解析+避坑指南,5家正规商家盘点 - 奢侈品回收测评
  • 查询 sql 数据库中各个表所占G得大小
  • 眼周干燥眼纹多用什么?CA眼油一个月淡化眼周所有细纹 - 全网最美
  • Noto Emoji字体终极指南:5分钟解决表情乱码问题
  • windows文件一致性判断方法
  • TikTok评论数据采集技术方案:基于浏览器自动化的高效爬取系统
  • 树脂瓦寿命选购指南:如何选到长寿命耐用树脂瓦 - 资讯速览
  • HPC实时化新路径:基于极值理论的概率WCET分析与GPU优势
  • 滑动窗口高频面试题|最长无重复子串、最小子数组
  • 别再只复现漏洞了!从ShowDoc文件上传漏洞(CNVD-2020-26585)看企业文档系统的安全加固
  • QMCDecode:三步解锁QQ音乐加密格式,让音乐真正自由播放
  • 绵阳黄金回收实测:5家回收商横向对比与避坑指南 - 奢佳美黄金珠宝
  • 真实场景 vs 仿真数据:大模型厂商为何集体转向真实数据
  • informix 14 LVM模式安装
  • 2026江苏长晶科技代理商推荐榜单 - 资讯速览
  • 5分钟搞定专业语音转文字:Faster-Whisper-GUI实战指南
  • 从HDRI到游戏画面:手把手教你用Unity实现IBL全局光照(附完整Shader代码)
  • 2026西安财税疑难处理|认准西安长安德勤财税,专业化解企业税务危机 - 小柏云
  • 基于随机森林与XGBoost的工业设备预测性健康管理实战
  • 软件设计师(十)网络与信息安全基础知识
  • AI推理和训练系统:AI从学习到应用的核心引擎
  • 刚刚!多所高校发布论文框架新规!被说“结构有问题”别慌,这8款AI毕业论文工具实测能救急 - 逢君学术-AI论文写作
  • 乐山黄金回收实地探访:五大环节实测评分,福昌夏脱颖而出 - 黄金上门回收
  • 终极解决方案:Topit如何彻底改变你的macOS多窗口工作流