Linux系统find命令用法

字节霜晶师
• 阅读 263

Linux 查找命令find是Linux系统中最重要和最常用的命令之一,用于查找与指定参数条件匹配的文件及目录列表。find查找命令可以在各种条件下使用,我们可以通过权限,用户,组,文件类型,修改日期,大小等多种条件来查找文件。 这里我会以实例的形式向大家说明find命令的具体用法。
find命令的格式很简单,一般分成三个部分:1)find命令;2)搜索路径(目录可以写多个);3)表达式。对于find命令,最需要学习的是表达式这一段。表达式决定了我们要找的文件是什么属性的文件,还可以指定一些“动作”,比如将匹配某种条件的文件删除。所以,find命令的核心就是表达式的指定方法。在这里,我们首先用下表说明find命令各参数的含义:

find命令参数 具体含义
-name 按文件名称查找
-user 按文件拥有者查找
-group 按文件拥有组查找
-type 按文件类型查找
-perm 按文件权限查找
-exec 对查找到的文件执行指定动作
-maxdepth / -mindepth 指定查找范围最大/最小为第几级目录
-cmin 按文件修改时间查找
-size 按文件大小查找
-o / -a / -not 查找条件或/且/非
我使用的是3A服务器,延迟很低
实验步骤:find命令实例
1)首先切换到一个空目录/zxy中,建立实验素材:在/zxy中创建5个文件并更改部分文件的拥有者、拥有组,创建一个子目录并在该目录中创建5个文件
Linux系统find命令用法
2)按名称查找/zxy中的文件,想要模糊查找时(即表达式中含有*)需要加" "
Linux系统find命令用法

3)-mindepth x -maxdepth y 指定查找目录范围为第x级子目录到第y级子目录,这里分别在/zxy的一级子目录、二级子目录中按名称查找文件

Linux系统find命令用法

Linux系统find命令用法

4)-a表示条件且查找,-o表示条件或查找,-not表示条件非查找,这里分别查找的是/zxy中文件拥有者为westos或lee的文件、文件拥有者和文件拥有组均为westos的文件、文件拥有者为westos但文件拥有组不为westos的文件

Linux系统find命令用法

5)从/dev/zero中分别截取10M、20M、30M的空数据输入到/zxy下的指定文件中,修改文件大小

Linux系统find命令用法
按文件大小查找/zxy中文件,20M表示查找大小为20M的文件,-20M表示查找大小在20M以内的文件,20M表示查找大小超过20M的文件
Linux系统find命令用法

6)按修改时间查找/zxy中文件,1表示修改时间为1min的文件,-1表示在1min之内修改的文件,+1表示修改时间超过1min的文件

Linux系统find命令用法

7)更改文件权限,按文件权限查找/zxy中文件,444表示查找文件权限为444的文件,-444表示查找文件权限u、g、o三位都含有4即读权限r的文件,/444表示查找文件权限u、g、o位(只要)任意一位有读权限r的文件

Linux系统find命令用法

Linux系统find命令用法

8)-exec可以对查找出来的文件执行参数后跟的操作,这个参数的常见格式是-exec command ; 后面的分号是用来给find做标记用的,find在解析命令的时候,要区分给定的参数是要传给自己的还是要传给command命令的,所以find以分号作为要执行命令所有参数的结束标记。下图命令是在/zxy下查找文件权限u、g、o位(只要)任意一位有写权限w的文件,并对查找出的所有文件减去写权限,{}表示find命令查找结果
注意: 在使用分号的时候前面要加转译字符\,因为分号也是bash的特殊字符,所以bash会先解释它,前面加上\就可以让bash直接将其传递给find命令,使这个分号由find解释,而不是bash

Linux系统find命令用法

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
linux find 命令查找文件和文件夹
查找目录:find/(查找范围)name'查找关键字'typed查找文件:find/(查找范围)name查找关键字print详解:find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
Stella981 Stella981
4年前
Linux的一些很有用的命令或者方法(持续更新)
0.重启(reboot)、关机(shutdown,halt)等,其中立刻关机:立刻关机:shutdownh01\.find命令:很强很重要语法:find\起始目录\寻找条件 操作find/文件名(这样做经常找不到文件,而且还浪费时间。不知道有么有更好的方式。)批量查找文件中的字符串: find|
Stella981 Stella981
4年前
Linux终端更改字体
1概述这里的终端是指通过F1F6/F2F7进入的纯命令终端。修改字体可以通过setfont命令。2查看字体可以通过查找目录consolefonts来确定本地机器上的字体位于哪里:find/nameconsolefontstypedupdatedblo
Wesley13 Wesley13
4年前
mongo实现分页模糊查询
使用mongo做分页查询我使用的是pymongo,pymongo的函数库非常接近mongo的原生命令行。在使用普通的find查找的时候,可以使用pymongo的limit与skip函数形如:cursordb.compo_message.find({"上传人":updateuser,"$an
Wesley13 Wesley13
4年前
linux命令:find命令
http://blog.csdn.net/pipisorry/article/details/39831419(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fblog.csdn.net%2Fpipisorry%2Farticle%2Fdetails%2F39831419)linu
Stella981 Stella981
4年前
Linux Shell 文本处理工具集锦
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;find文件查找
Wesley13 Wesley13
4年前
linux查找文件命令find
 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。
Stella981 Stella981
4年前
Linux远程ssh设置expect自动填写密码验证
我们需要远程登录服务器,登陆的同时呢执行find命令获取一个时间段内的文件名,并将他们通过rsync下载到本地。因为要跳过已经下载好的目录,scp命令就不够用了,这里用了rsync。因为这里find命令只是获取文件名方便后续下载而已,所以设置find的参数maxdepth1来设置扫描深度,防止遍历子文件夹。同时为了防止根目录也输出,我们设置f
Stella981 Stella981
4年前
Linux命令:find .
\mkdirdoc\find.typedname"doc"execrmrf{}\\; 虽然此处报错,却删除成功\echo$?!(https://static.oschina.net/uploads/space/2018/0102/221713_x80U_3285916
Stella981 Stella981
4年前
Linux中递归更改文件扩展名的命令
比如我需要将jpg结尾的图片文件修改为png结尾的如果能用rename命令,运行下面的find.name'.jpg'execrename.jpg.png{}如果不能用rename命令,使用下面的find.name".jpg"execbashc'mv"$1"
Stella981 Stella981
4年前
Linux find 命令详解
Linux上的 find 命令是 findutil 软件包的一部分,一般已经默认集成在了几乎所有的发行版中。find命令有非常大的灵活性,可以向其指定丰富的搜索条件(如文件权限、属主、属组、文件类型、日期和大小等)来定位系统中的文件和目录。此外,find还支持对搜索到的结果进行多种类型的命令操作。一、简介
字节霜晶师
字节霜晶师
Lv1
愿所有的不安,都是虚惊一场。
文章
5
粉丝
0
获赞
0