二、linux find命令详解

目录

2. find【擅长在目录下找文件】

2.1 常用查询选项option

      2.1.1 -name:根据名称匹配

      2.1.2 -iname:忽略文件名称大小写

      2.1.3 -user:根据所属用户组进行查询

      2.1.4 -type:根据文件类型进行查找

      2.1.5 -size:根据文件大小匹配

      2.1.6 -mindepth n:从第n级目录开始查(从哪个深度开始查找)

      2.1.7 -maxdepth n:表示至多搜索到第n-1级子目录(最深深度)

      2.1.8 -regex:基于正则表达式匹配文件路径

      2.1.9 -iregex:基于正则表达式匹配文件路径(忽略大小写)

      2.1.10 -inum:根据文件inode编号查找

      2.1.11 -perm:根据文件权限查找

      2.1.12 -path:根据路径名称查找指定子目录信息

2.2 根据时间进行查找

2.3对查找的文件如何操作

      2.3.1 -print:打印输出。默认的选项,即打印出找到的结果

      2.3.2 -exec:对搜索到的文件执行特定的操作

      2.3.3 -delete:将查找出的文件删除

      2.3.4 -prune:将查找出的文件做裁剪处理

      2.3.5 逻辑运算符

      2.3.6 xargs:可以将一个命令的输出作为参数发送给另一个命令


2. find【擅长在目录下找文件】

find命令用来指定目录下查找文件

  • 语法:find path -option
  • 进阶:find path -option [-print] [-exec command] { } \;
  • 注意:{}表示查询结果

2.1 常用查询选项option

      2.1.1 -name:根据名称匹配

用法举例


0. 前提准备


 1. 已知文件名称,进行精确查找


 2. 文件名称未知,进行模糊查找

      2.1.2 -iname:忽略文件名称大小写

用法举例


1. 忽略文件名称大小写查找

      2.1.3 -user:根据所属用户组进行查询

用法举例


      2.1.4 -type:根据文件类型进行查找

文件类型
---------------------------
f      表示文件
d      表示目录
c      表示字符设备文件
b      表示块设备文件
l      表示链接文件
p      表示管道文件

用法举例


0. 前提准备


 1. 按照文件类型查找


 2. 递归查找所有

: wc -l 统计输出行数

      2.1.5 -size:根据文件大小匹配

参数
--------------------------
-n    小于大小为n的文件
+n    大于大小为n的文件
​查找数据单位信息
------------------------
c       for bytes
k       for Kilobytes (units of 1024 bytes)
M       for Megabytes (units of 1048576 bytes)
G       for Gigabytes (units of 1073741824 bytes)​

用法举例


      2.1.6 -mindepth n:从第n级目录开始查(从哪个深度开始查找)

用法举例


1. 按照目录层级查找数据

2. 从/etc的第三级子目录开始搜索

      2.1.7 -maxdepth n:表示至多搜索到第n-1级子目录(最深深度)

用法举例


1. 按照目录层级查找数据

      2.1.8 -regex:基于正则表达式匹配文件路径

用法举例


1.查找/oldboy目录下以.txt结尾的文件

      2.1.9 -iregex:基于正则表达式匹配文件路径(忽略大小写)

用法举例


1.查找/oldboy目录下以.txt结尾的文件(忽略大小写)

      2.1.10 -inum:根据文件inode编号查找

       文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区sector,每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个块block。这种由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。

       文件数据存储在块中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode,中文译名为索引节点,也叫i节点。因此,一个文件必须占用一个inode,但至少占用一个block。

查看indoe编号的命令:

  • stat 文件/目录名称   ---- 查看文件/目录inode信息,从而查看文件/目录inode编号
  • ls -i                           ---- 后面不加文件名称,会显示当前目录下所有文件的inode编号
  • df -i                           ---- 查看硬盘分区的inode总数和已使用情况

用法举例


1. 根据文件inode编号查找文件(假设已经知道/oldboy目录下某一文件inode编号为8757)

      2.1.11 -perm:根据文件权限查找

文件权限类型
------------------------
读权限(r)  :4
写权限(w)  :2
执行权限(x):1
没有权限(-):0举例:
------------------------
rw-r---wx :643
-wxr-xr-- :354
r--rwx--x :471------------------------
注:通常使用数字表示权限

用法举例


1. 查找/oldboy目录下权限为644的文件/目录

      2.1.12 -path:根据路径名称查找指定子目录信息

用法举例


1. 查找/oldboy/的下级目录下,是否存在名称为file的文件

2.2 根据时间进行查找

UNIX/Linux文件系统每隔文件都有三种时间戳

  • 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间
  • 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间
  • 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间

参数


-mtime:根据文件更改时间查找,单位天

  • -n    n天以内修改的文件
  • +n   n天以外修改的文件
  • n     正好n天修改的文件

-mmin:根据文件更改时间查找,单位分钟

  • -n    n分钟以内修改过的文件
  • +n   n分钟之前修改过的文件

用法举例


1. 查询/oldboy目录下30分钟之前修改过的文件


 2. 查询/eoldboy目录下30分钟之内修改过的文件


 3. 查询/etc目录下,5天以内修改且是目录格式的文件


 4. 查询/oldboy目录下,10天之前修改,且是文件格式的文件

2.3对查找的文件如何操作

      2.3.1 -print:打印输出。默认的选项,即打印出找到的结果

用法举例


-print是默认选项,通常不使用-print也会输出查找的结果

      2.3.2 -exec:对搜索到的文件执行特定的操作

固定格式-exec 命令 {} +  或-exec 命令 {} \; 注:{}表示查询的结果; 代替 + 号,前面附加的 \; 表示转义特殊符号

-ok和-exec的功能一样,只是每次操作都会给用户提示

用法举例


1. 使用-exec命令 将/oldboy目录下文件类型为 f 的文件详细列出来

1. 使用-ok命令 将/oldboy目录下文件类型为 f 的文件详细列出来

      2.3.3 -delete:将查找出的文件删除

用法举例


 1. 把/oldboy目录中的oldbaby.txt文件删除

      2.3.4 -prune:将查找出的文件做裁剪处理

用法举例


1.在/oldboy目录下,查找除/oldboy/02目录中以.txt文件结尾的文件

[root@hero oldboy]# find /oldboy/ -path '/oldboy/02' -prune -o -name "*.txt"

注:-prune用法非常严格,且本人尝试并不好用

1)-prune 必须和 -path,-o 一起使用
2)-prune -o 的顺序不 能调换
3)-name等必须放在-prune -o后面才能使用

      2.3.5 逻辑运算符

-a :与(默认情况查询条件之间都是“与”的关系)
-o :或
-not | !:非

用法举例


1. 查找目录/oldboy中以.txt或者以.pdf结尾的文件

 2. 查找目录/oldboy下不是以.txt结尾的文件

      2.3.6 xargs:可以将一个命令的输出作为参数发送给另一个命令

用法举例


1. 当前目录搜索文件,文件内容包含“oldboy”内容

2. 统计代码行数(grep -v '^$'过滤空白行 wc -l )

2.3 扩展:查找关键字出现的行数

Linux:查看文件内容(cat) 查找关键字(grep) 统计(wc -l)

#cat查找关键字出现的行数
语法:cat 文件 |grep 关键字 |wc -l
-----------------------------------------------------------------
举例:
[root@hero oldboy]# cat /oldboy/oldboy.txt |grep "oldboy" |wc -l
9
Linux系统中的wc(word count)命令的功能为统计中指定文件中的字节数、字数、行数、并将统计结果显示输出
-----------------------------------
#1.命令格式:
wc [选项]文件...
-----------------------------------
#2.命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350920.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux的find命令

find 查找命令 -name 查找某个文件,文件名为name 例如: find /etc/ -name passwd 查找/etc/目录下名为passwd的文件并输出 find /etc -name *.conf 查找/etc/目录下所有以.conf结尾的文件 -user name 查找某个文件所有人为use…

Linux 命令----find:查找指定的文件

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

Linux下find命令详解

find命令格式: find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】 find命令的参数: 1)path:要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 2&…

LinuxFinal

综合实验 tomcat下载安装 Apache Tomcat - Apache Tomcat 8 Software Downloads 进入上方链接下载tomcat,并上传至服务器。 mkdir /usr/local/tomcat8 # 创建tomcat文件夹 cd /usr/local/tomcat8 # 进入此目录,上传tomcat压缩包 tar -zxvf apache-tom…

Linux文件查找find

目录 前言 查找命令 命令演示 1.which:命令查找 2.locate命令 3.find命令(主要使用这个命令进行查找文件) 1)语法 2)find的用法介绍 按文件名查找 手动写入指定大小数据到文件内,介绍一下dd命令。…

Linux下的find指令

一、概述: 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于linux来说find是一条很重要的命令。linux下面的find指令用于在目录结构中搜索文件,并执行指定的操作。它提供了相当多的查找条件,功能很强大。…

linux万能查询命令——find命令

find命令用来寻找文件或目录,功能非常强大,可以在查找到的文件上去执行命令,准确查找,遍历整个目录下的所有文件,可以对查询到的文件进行指定的动作,即查看、删除、移动等操作。 目录 1、常用查找命令 2…

linux find命令

一、find命令语法格式: find [路径] [选项] [操作] 选项参数对照表: 三、常用选项 -name  查找 /etc 目录下以 conf 结尾的文件,文件名区分大小写,例如:find /etc -name *.conf -iname 查找当前目录下所有文件名…

Linux - find命令详解

一、作用 find是搜索匹配条件的文件。 二、语法 用法:find[PATH][option][-print] PATH:目录路径,也可以使用“/ 根目录” option参数:   -name filename #查找名为filename的文件   -perm #按执行权限来查找   -user username #按文…

Linux中find命令用法大全

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日期,大小…

Linux命令之find命令

一、命令简介 Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find 命令有非常…

Linux命令之查找文件find

概述 find 命令可以在目录层次结构中搜索符合指定条件的文件或目录,并且可以它们执行指定的操作。而搜索条件可以是文件权限、文件类型、日期、大小等。 语法 该命令的语法如下: # find 命令从指定的起始目录开始,递归地搜索其各个子目录&…

项目经理高效时间管理6大原则及技巧

1、 ( 10 2 ) * 5法则 项目经理以10分钟为一个周期,每个周期休息2分钟,这样1小时重复5次,就可以保障我们目标明确但精神和身体上的精力不会透支。 10分钟周期内,需要全心全意做一件事,进入全身心投入工作状态&#xf…

TDEngine3.0 环境安装、配置及使用经验总结

TDEngine3.0 环境安装、配置及使用经验总结 一、TDengine 介绍二、TDengine的下载三、TDengine Server安装及配置3.1 安装3.2 taos的参数配置3.3 启动3.4 taosAdapter 四、TDengine Client 安装4.1 linux客户端安装4.2 windows客户端安装 五、TDEngine3.x的使用总结 一、TDengi…

modelandview 跳转问题_ModelAndView 跳转的使用

路径: 学习springmvc ModelAndView的使用,之前一直仿别人ModelAndView的代码,都是好用的,自己建工程学了下,发现 new ModelAndView("jsp1/0724/myDialog")的时候跳转不过去 配置文件: /** * aut…

SpringMVC笔记--5处理响应数据ModelAndView

第5章 处理响应数据 5.1 SpringMVC 输出模型数据概述 对于MVC框架来说模式数据是最重要的,因为控制C是为了产生模型数据M,而视图V则是为了渲染模型数据。 如何将模型数据暴露给视图是Spring MVC框架的一项重要工作,Spring MVC提供了多种途…

浅入浅出 iptables 网络隔离原理

01 iptables简介 iptables ipfirewall(内核1.x时代) ipchains(内核2.x时代) iptables 网络协议栈 Link Layer 数据链路层的数据流向,根据mac寻址找到对应的网卡后向上进入网络层 Network Layer 网络层的数据流向&am…

ModelAndView 详解

当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。 因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法, 让你可以根据…

ModelAndView

ModelAndView 前提 首先梳理一下Spring Web MVC处理http请求的大致过程: 当http请求到来时,DispatcherServlet负责将请求进行分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都要经过它来统一分发。 在DispatchServle…

SpringMVC中的Model和ModelAndView详解

原文链接: 0.前言 1.Model是什么? model是”模型“的意思,是MVC架构中的”M“部分,是用来传输数据的。 2.ModelAndView是什么? 如果翻译过来就是”模型和视图“,可以理解成MVC架构中的”M“和”V“,其…