16. 【Linux教程】find 查找文件和目录

简介: 16. 【Linux教程】find 查找文件和目录

查找文件和目录

实际工作中文件多了,可能就会忘掉它的位置,这个时候就可以使用 find 命令快速查找出文件所在目录的地址,提升了文件查找的效率。

1. 按照文件类型查找

使用 -type 参数可以查找不同类型的文件,其可以查找的文件类型如下:

find -type 文件类型介绍 描述
f 普通文件
d 目录文件
l 符号链接文件
b 块设备文件
c 字符设备文件
p 管道文件
s 套接字文件

这里以查找 /home 目录中的所有目录为例,使用 find 命令跟上 -type 来限制文件类型,命令如下:

1. cd /
2. 
3. find ./home -type d

执行结果如下图:

Tipsfind ./home -type d 其中的 ./home 表示要查找的相对路径的目录, -type d 表示查找文件类型为目录。

2. 按照文件名查找

使用 -name 参数可以按照文件名来查找,这里以查找 /home 目录下所有的 .txt 文件为例,命令如下:

cd /
 
find ./home -name *.txt

执行结果如下图:



Tips:find ./home -name *.txt 其中的 ./home 表示要查找的相对路径目录,-name 表示按照文件名查找,*.txt 表示文件名匹配规则,* 表示通配符,还可以查找指定文件名,如 find ./home -name a.txt。

3. 查找排除指定文件

可以在查找文件的时候使用 ! 取反来排除指定的文件,例如查找 /home 目录中除了 .txt 文件以外的所有文件,命令如下:

cd /
 
find ./home -name *.txt
 
find ./home ! -name a.txt

执行结果如下图:

Tipsfind ./home ! -name a.txt 中的 ! 可以理解为排除符合要求的文件。

4. 对查找到的文件执行操作

有时候需要对查找到的指定文件执行特定的操作:

cd /
 
find ./home -name *.txt
 
find ./home -name *.txt -exec rm {} \;
 
find ./home -name *.txtcd /
 
find ./home -name *.txt
 
find ./home -name *.txt -exec rm {} \;
 
find ./home -name *.txt

执行结果如下图:

Tips:注意 find ./home -name *.txt -exec rm {} \; 后面的 ; 不要漏掉, -exec 表示执行某个操作,rm 表示删除操作。

5. 小结

本小节介绍了如何使用 find 命令去查找目录中指定的文件,可以通过 -type 指定查找文件的类型, ! 排除查找文件,-exec 对查找到的文件执行特定命令,需要注意的是 find 命令用法很多,本小节介绍了几种比较常见的用法,另外在查找文件名称时,可以使用表达式去匹配符合要求的文件名。


目录
相关文章
|
9月前
|
存储 Linux
Linux 目录名称
Linux系统目录结构简介:根目录(/)下包含各类功能目录,如/bin存放用户命令,/etc存储配置文件,/home为用户主目录,/var记录日志等可变数据,/usr存放用户工具,/tmp用于临时文件。各目录分工明确,保障系统有序运行。(238字)
358 5
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
2248 7
ERPNext 搭建教程:Linux 一键部署与维护
|
11月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
1974 13
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
1107 13
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
462 16
|
11月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
11月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
238 4
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
1792 0