Linux下find命令详解

find     #查找文件

#按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件
格式:
    find    查找路径   查找条件   具体条件(按文件名或时间大小等)   操作
注意:
    find命令默认的操作是print输出
    find是检索文件的,grep是过滤文件中字符串

示例:
    • 按照文件名搜索
        ○ -name: 按照文件名搜索
        ○  -iname: 按照文件名搜索,不区分文件名大小写
        ○ -inum: 按照inode 号搜索
        ○ 没有那个文件或目录: find命令在执行时,在内存中自己产生的临时文件,执行完既消失

[root@node1 ~]# find /etc/ -name "passwd"     #查找文件名为passwd的文件
/etc/pam.d/passwd
/etc/passwd

[root@node1 ~]# find /etc/ -name "hosts"
/etc/hosts

[root@node1 ~]# find /etc/ -name "a*"         #以a开头的文件名
/etc/ca-trust/source/anchors
/etc/libvirt/nwfilter/allow-arp.xml
/etc/libvirt/nwfilter/allow-dhcp.xml
/etc/libvirt/nwfilter/allow-incoming-ipv4.xml
/etc/libvirt/nwfilter/allow-ipv4.xml
/etc/libvirt/nwfilter/allow-dhcp-server.xml
/etc/libvirt/qemu/networks/autostart
/etc/at.allow

一、find的通配符

 • "*":任意字符任意个数
 • "?":任意字符1个内容

示例:

[root@node1 ~]# find /etc/ -iname "B*"         #查找忽略B的大小写
/etc/binfmt.d
/etc/selinux/targeted/booleans.subs_dist
/etc/ld.so.conf.d/binutils-x86_64.conf
/etc/libibverbs.d/bnxt_re.driver
/etc/logrotate.d/btmp
/etc/bluetooth

[root@node1 ~]# find /etc/ -iname "?b*"      #查找第二个字母为b的文件
/etc/selinux/targeted/contexts/dbus_contexts
/etc/ld.so.conf.d/jbig2dec-x86_64.conf
/etc/ld.so.conf.d/ebtables-x86_64.conf
/etc/asciidoc/dblatex

[root@node1 ~]# find / -name "*.cfg"         #查找以 .cfg 结尾的文件
/boot/grub2/grub.cfg
/etc/grub2.cfg
/etc/libblockdev/conf.d/10-lvm-dbus.cfg
/etc/libblockdev/conf.d/00-default.cfg
/etc/vdpau_wrapper.cfg

二、按照文件大小搜索  

• -size [+ -大小: 按照指定大小搜索文件,“+”的意思是搜索比指定大小还要大的文件,“”的意思是搜索比指定大小还要小的文件

示例:

[root@node1 ~]# find / -size +100M       #找大于100M的文件
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/proc/kcore

[root@node1 ~]# find / -size -100M      #查找小于100M的文件
[root@node1 ~]# find / -size 100M      #查找等于100M的文件

三、按照修改时间搜索

    • -atime [+|-]时间: 按照文件访问时间搜索
    • -mtirne [+|-]时间:按照文件数据修改时间搜索
    • -ctime [+|-]时间: 按照文件状态修改时间搜索
    • -newer file: 把file修改时间更新的文件列出来
注意:时间范围问题
        ○ -5:代表 5 天内修改的文件
        ○ 5: 代表前 5~6 天那一天修改的文件
        ○ +5: 代表 6 天前修改的文件

 四、按照所有者和所属组搜索

    • -uid 用户ID: 按照用户 ID 查找所有者是指定 ID 的文件
    •  -gid 组ID: 按照用户组 ID 查找所组是指定 ID 的文件
    •  -user 用户名: 按照用户名查找所有者是指定用户的文件
    • -group 组名: 按照组名查找所属组是指定用户组的文件。

示例:

[root@node1 ~]# find / -user root      #查找归属于管理员的文件
/proc/1899/task/2038/net/fib_trie
/proc/1899/task/2038/net/if_inet6
/proc/1899/task/2038/net/mcfilter
/proc/1899/task/2038/net/rt_cache
/proc/1899/task/2038/net/sockstat
/proc/1899/task/2038/net/udplite6
/proc/1899/task/2038/net/connector
/proc/1899/task/2038/net/dev_mcast
/proc/1899/task/2038/net/dev_snmp6

五、按照权限搜索

    • -perm 权限模式:查找文件权限刚好等于“权限模式”的文件,常用
    • -perm -权限模式: 查找文件权限全部包含“权限模式”的文件
    • -perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件。
    • 如果要在整个系统中搜索权限中包括SUID权限的所有文件,只需使用-4000即可:

示例:

[root@node1 ~]# find / -perm 400       #查找只读权限
[root@node1 ~]# find / -perm 777       #查找完整权限的文件

六、按文件类型寻找

-type d: 查找目录 
-type f: 查找普通文件 

-type l: 查找软链接文件 

示例:

[root@node1 ~]# find / -type d      #在根目录下查找目录

七、按照逻辑运算符

-a: and 逻辑与 
-o: or 逻辑或 
-not: not 逻辑非 
优先级:与>或>非

示例:

[root@node1 ~]# find / -size +10k -a -size -50k             #查看大于10k且小于50k的文件
[root@node1 ~]# find /etc/ -name "e*" -o -name "f*"      #查找以e或f开头的文件
/etc/ld.so.conf.d/evolution-data-server-x86_64.conf
/etc/ld.so.conf.d/epiphany-x86_64.conf
/etc/ld.so.conf.d/freerdp-x86_64.conf
/etc/ld.so.conf.d/ebtables-x86_64.conf
/etc/ld.so.conf.d/esc-x86_64.conf
/etc/libibverbs.d/efa.driver
 
[root@node1 ~]# find /etc/ -name "d*" -user root       #默认为and,不写默认为and
/etc/dnsmasq.conf
/etc/fwupd/remotes.d/dell-esrt.conf
/etc/fwupd/daemon.conf
/etc/gnome-vfs-2.0/modules/default-modules.conf
/etc/libvirt/qemu/networks/autostart/default.xml
/etc/libvirt/qemu/networks/default.xml

八、-exec……{}\;

[root@node1 ~]# find ~ -user root -exec cp -a {} /media \;
#找到家目录下归属于root账户的文件将

 ~ -user root      #拷贝到/media目录下
#{ }代表拷贝源文件   \; 代表结束

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB绘制电磁场

MATLAB绘制电磁场举例: clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g; m12 for k1:m for j1:m if k1 V(j,k)1; elseif((j1)|(jm)|(km)) V(j,k)0; else …

PKG系统安装包及IPSW固件:MacOS 11-14 Sonoma 正式版

MacOS 14 Sonoma,为提高生产力和创造力带来了全新的功能,有了更多使用小部件和令人惊叹的新屏幕保护程序进行个性化设置的方法,对Safari浏览器和视频会议进行了重大更新,以及优化的游戏体验——Mac体验比以往任何时候都更好。 mac…

贝叶斯的缺点

贝叶斯方法是一种统计学习方法,通过利用贝叶斯定理来计算给定先验概率的情况下,后验概率的条件概率。虽然贝叶斯方法在许多领域中应用广泛且有效,但也存在一些缺点。以下是一些贝叶斯方法的缺点的例子: 1、先验概率的选择 贝叶斯方…

第二十四天| 77. 组合

Leetcode 77. 组合 题目链接:77 组合 题干:给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。 思考:回溯法。把回溯法的搜索过程抽象为树形结构。 每次从集合中选取元素&#xff0…

vio参数文件内相机imu参数的修改

imu标定工具 https://github.com/mintar/imu_utils网络上有各种IMU校准工具和校准教程,曾经花费了巨大精力跟着各种教程去跑校准。 然而,标定使用的数据都是在静止状态下录制的,我们在使用vio或者imu-cam联合标定的时候,imu确是处…

计算机视觉实战项目4(单目测距与测速+摔倒检测+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A_路径规划+行人车辆计数+动物识别等)

基于YOLOv5的无人机视频检测与计数系统 摘要: 无人机技术的快速发展和广泛应用给社会带来了巨大的便利,但也带来了一系列的安全隐患。为了实现对无人机的有效管理和监控,本文提出了一种基于YOLOv5的无人机视频检测与计数系统。该系统通过使用…

AJAX-认识URL

定义 概念:URL就是统一资源定位符,简称网址,用于访问网络上的资源 组成 协议 http协议:超文本传输协议,规定浏览器和服务器之间传输数据的格式;规定了浏览器发送及服务器返回内容的格式 协议范围&#xf…

flask基于Python的期货交易模拟系统的django-afl61-vue

期货交易模拟系统是一个便于用户在线查看期货投资、取消投资、风险控制、账户资金、持仓资金等,管理员进行管理的平台。因此本文主要论述了系统开发的过程和实现的功能,结合Web技术来实现的期货交易模拟系统。本系统以软件工程理论为开发基础&#xff0c…

UE4 C++ 静态加载类和资源

静态加载类和资源:指在编译时加载,并且只能在构造函数中编写代码 .h //增加所需组件的头文件 #include "Components/SceneComponent.h" //场景组件 #include "Components/StaticMeshComponent.h" //静态网格体组件 #include &qu…

SpringBoot实战2

目录 1.如何返回两个类型的数据?User和Booth 2.如何使用MyBatis遍历一个数组进行查询? 3.前端要的数据太多太杂,我们拼接多个List,前端找数据困难,浪费时间。因此我们进行三表联表查询。 1.首先创建一个vo包&#x…

yo!这里是c++IO流相关介绍

目录 前言 C语言的输入输出 CIO流基本介绍 流的概念 IO流类库 iostream fstream stringstream 后记 前言 学过C语言的输入输出相关知识点的童鞋应该多多少少会觉得有些许麻烦,反正我就是这么觉得的,scanf、printf等函数不仅数量众多&#xff0c…

20240202在WIN10下使用whisper.cpp

20240202在WIN10下使用whisper.cpp 2024/2/2 14:15 【结论:在Windows10下,确认large模式识别7分钟中文视频,需要83.7284 seconds,需要大概1.5分钟!效率太差!】 83.7284/4200.1993533333333333333333333333…

使用 Go 发送微信群消息

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! 背景 最近的某个副业需要我写一个脚本(脚本内容就不说了),需要通知群成员,尽快地…

云原生业务全流程DevOps配置预研与实践

背景 我在一个二线城市(山东济南),相对与北上广深杭这些IT业发达的城市来说,济南IT业对于业内新技术的接受度是有点慢的,国内很多一线大厂早先几年前就开始实践使用的技术,我们这边也是近两年才开始慢慢兴…

如何计算模型的复杂度(参数量,FLOPs)

参考 如何计算神经网络模型的复杂度 深度学习卷积、全连接层、深度可分离层参数量和FLOPs计算公式 概念 Params:模型的参数量。(空间复杂度)FLOPs:FLoating point Operations,前向推理的计算量。(时间复…

C++函数分文件编写之VScode版

VScode实现函数的分文件编写 1.下载插件创建项目2.分文件编写内容3.修改主函数文件名 我在分享内容时经常用的软件是VScode,相信有些内存敏感或需要VScode便利性的小伙伴也是更愿意使用VScode。那么接下来我们就盘一盘怎样使用VScode实现分文件编写。 1.下载插件创建…

2024 Flutter 重大更新,Dart 宏(Macros)编程开始支持,JSON 序列化有救

说起宏编程可能大家并不陌生,但是这对于 Flutter 和 Dart 开发者来说它一直是一个「遗憾」,这个「遗憾」体现在编辑过程的代码修改支持上,其中最典型的莫过于 Dart 的 JSON 序列化。 举个例子,目前 Dart 语言的 JSON 序列化高度依…

来看看Tomcat和Web应用的目录结构

在前面两篇大致了解了Tomcat的架构和运行流程,以及Tomcat应用中的web.xml。 聊一聊Tomcat的架构和运行流程,尽量通俗易懂一点-CSDN博客 来吧,好好理解一下Tomcat下的web.xml-CSDN博客 那接下来,再看看Tomcat的目录,…

vue-3d-model

vue-3d-model - npm GitHub - hujiulong/vue-3d-model: 📷 vue.js 3D model viewer component 通过该插件降低Threejs的使用难度 vue项目加载三维模型,我把模型放在了服务器的tomcat里面,需要对tomcat的fbx项目文件夹设置跨域,如…

踩坑STM32CubeMX生成Makefile工程无法使用printf(“%f“)

过去一年偶有接触STM32开发时都是使用STM32CubeMX生成Makefile的工程,具体开发环境见配置Clion用于STM32开发(Makefile),但没想到今天在使用printf打印输出浮点数时无法正常输出,不仅printf无法使用,其他涉…