文件查找和压缩 | 学习笔记

简介: 快速学习文件查找和压缩。

开发者学堂课程【Linux文件管理命令:文件查找和压缩】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/591/detail/8348


文件查找和压缩

 

内容介绍

一、使用 locate 命令

二、使用 find 命令

三、压缩和解压缩工具

 

一、使用 locate 命令

1.文件查找

在文件系统上查找符合条件的文件

文件查找:locate,find

非实时查找(数据库查找):locate

实时查找find

root@centos7 profile.d] #cd

root@centos7 ~] #type locate

locate is /usr/bin/locate

root@centos7 ~] #locate --help

Usage:locate [OPTION]... [PATTERN]..

Search for entries in a mlocate database.

root@centos7~] #locate test.sh

data/bin/test.sh

usr/sbin/alsabat-test.sh

usr/share/doc/gdisk-0. 8. 6/gdisk_test.sh

/usr/share/firewal1d/tests/firewal1-cmd_test.sh/usr/share/firewalld/tests/firewa11-offline-cmd_test.sh

利用 locate 搜文件,速度很快,原因是因为依赖 locate 数据库,把之前的文件建立在数据库中,基于数据库搜索。

这个文件并不能像平时的文件一样增加和删除,不会立即更新与找到root@centos7~] #locate aaa

/usr/share/man/man3/ldns_rdf2buffer_str_aaaa.3.gz

/var/cache/fontconfig/614d1caaa4d7914789410f6367de37ca-1e64.cache-4

/var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-1e64.cache-4root@centos7~] #updatedb

[root@centos7~] #11 /var/1ib/mlocate/mlocate.db

rw-r-----1 root slocate 3389075 oct 10 17: 32/var/lib/mlocate/mlocate.dbroot@centos7~] #date

Wed oct 10 17: 32: 48 CST 2018

[root@centos7~]#locate  aaa

/root/aaa

/usr/share/man/man3/1dns_rdf2buffer_str_aaaa. 3.gz

/var/cache/fontconfig/614d1caaa4d7914789410f6367de37ca-1e64.cache-4

/var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-1e64.cache-4

2.locate 命令

locate KEYWORD

有用的选项

1不区分大小写的搜索

>-n N 只列举前 N 个匹配项目

r 使用正则表达式

示例

搜索名称或路径中带有“conf”的文件

locate conf

使用 Regex 来搜索以“.conf”结尾的文件

locate -r \.conf$'

 

 

二、使用 find 命令

实时查找工具,通过遍历指定路径完成文件查找

1.工作特点:

查找速度略慢

精确查找

实时查找

可能只搜索用户具备读取和执行权限的目录

2.  语法:

find[OPTION]. . . [査找路径][查找条件][处理动作]

直找路径:指定具体目标路径;默认为当前目录

查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行,默认为找出指定路径下的所有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕

3.查找条件

指搜索层级 -maxdepth level 最大搜索目录深度,指定目录为第1级 -mindepth level 最小搜索目录深度。

先处理目录内的文件,再处理目录

depth

1)根据文件名和 inode 查找:

name"文件名称”:支持使用glob

*, ? , 0. [^]

iname"文件名称”:不区分字母大小写

inum n  inode 号查找

samefile name 相同 inode 号的文件

links n 链接数为 n 的文件-regex PATTERN”:以 PATTERN 匹配整个文件路径,而非文件名称

root@centos7 ~] #find --maxdepth 1/data

find:unknown predicate"--maxdepth

root@centos7~] #find -maxdepth 1 /data

find:paths must precede expression: /data

Usage: find [-H] -L] [-P] [-olevel] [-D_help|tree|search|stat|rates|opt|exec] [path....root@centos7~] #find

/data -maxdepth 1

data

data/bin

data/f1.sh

2)根据属主、属组查找:

user USERNAME: 查找属主为指定用户(UID) 的文件

group GRPNAME: 查找属组为指定组(GID) 的文件

uid UserlD: 查找属主为指定的 UID 号的文件

gid GrouplD 查找属组为指定的 GID 号的文件

nouser: 查找没有属主的文件

-nogroup: 查找没有属组的文件

(3)根据文件类型查找:

Itype TYPE:

·f:普通文件

·d:目录文件

·1:符号链接文件

·S:套接字文件

·b:块设备文件

·C:字符设备文件

·p:管道文件

4)空文件或目录

empty

find/app-type d -empty

组合条件:

与:-a

或:-0

非:-not,!

德·摩根定律:

(非A)或(非B)=非(AB)

(非A)且(非B)=非(AB)

示例:

A-a! B=! (A-o B)

A-o! B=! (A-a B)

find 示例:

find-name snow.png

find-iname snow.png

find/-name "*.txt"

find/var-name "*log*"

find -user joe -group joe

find-user joe -not-group joe

find -user joe -o -user jane

find -not \ ( -user joe -o -user jane \)

find/-user joe -o -uid 5001.png

找出/tmp 目录下,属主不是 root, 且文件名不以f开头的文件 find/tmp\ (-not-user root-a-not -name 'f: V-Isfind/tmp-not\ (-user root-o -name 'f*'U -ls)

排除目录

示例:

查找/etc/下,除 /etc/sane.d 目录的其它所有。conf 后缀的文件 find/etc-path '/etc/sane.d'-a-prune-o-name "*.conf"

查找/etc/下,除/etc/sane.d 和 /etc/fonts 两个目录的所有。conf 后缀的文件

find/etc\(-path"/etc/sane.d"-o-path"/etc/fonts"V-a-prune-o-name"*.conf"

5)根据文件大小来查找:

size [+|-] #UNIT

常用单位:k,M,G,c(byte)

UNIT: (#-1,#]

如:6k表示(5k,6k]

-#UNIT: [0,#-1]

如:-6k 表示[0, 5k]

+#UNIT: (#,O)

如:+6k 表示(6k,0O)

4.处理动作

exec COMMAND{}\; 对查找到的每个文件执行由 COMMAND 指定的命令

}用于引用查找到的文件名称自身

find 传递查找到的文件至后面指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令的交体。

相关文章
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1025 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1722 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
665 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
632 15
|
5天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
388 4