Linux下find命令详解

news2024/11/15 14:00:49

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.coloradmin.cn/o/1431290.html

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

相关文章

浙政钉访接口:k8s+slb容器日志报错(:Temporary failure in name resolution。)

在此我只能说兄弟,浙政钉的扫码接口和用户详情返回这两个接口是不需要白名单的, 我们文明人先确定一件事就是,你代码本地能调用到浙政钉返回。ecs服务器curl浙政钉也通的: 这时候和你说要开通白名单的,请放开你的道德…

2016年苏州大学837复试机试C/C++

2016年苏州大学复试机试 第一题 题目 公鸡5元一只,母鸡3元一只,幼鸡1元3只。若100元钱买了100只鸡,问其中公鸡、母鸡、幼鸡各多少只? 博主注:此题经典百元买百鸡问题,出自:公元5世纪末&#…

Unity 通过配置文件生成代码

文章目录 示例1:基于ScriptableObject的配置生成类示例2:预制体路径列表生成加载代码示例3:动画剪辑生成动画控制器片段示例4:Excel配置表生成序列化类示例5:UI元素及其事件绑定生成代码 在Unity编辑器模式下&#xff…

java并发执行批量插入

java并发执行批量插入 1、mybatis-plus批量插入 long start System.currentTimeMillis();int num 5000; //一次批量插入的数量int j 0;for (int i 0;i<20;i){List<User> userList new ArrayList<>();while (true){j;User user new User();user.setUserP…

美国纳斯达克大屏怎么投放:投放完成需要多长时间-大舍传媒Dashe Media

陕西大舍广告传媒有限公司&#xff08;Shaanxi Dashe Advertising Media Co., Ltd&#xff09;&#xff0c;简称大舍传媒&#xff08;Dashe Media&#xff09;&#xff0c;是纳斯达克在中国区的总代理&#xff08;China General Agent&#xff09;。与纳斯达克合作已经有八年的…

echartstool tips多曲线显示数据处理,保留小数位自定义tooltips样式

位置 options>tooltips>formatter tooltip: {trigger: "axis",axisPointer: {type: "cross",label: {backgroundColor: "#6a7985",},},formatter:(params)>{console.log(params)let str params.forEach((element,index) > {if(ind…

详解SkyWalking前端监控的性能指标

SkyWalking 从8.2.0版本开始支持对前端浏览器端的性能进行监控&#xff0c;不仅可以像以前一样监控浏览器发送给后端服务的与请求&#xff0c;还能看到前端的渲染速度、错误日志等信息——这些信息是获取最终用户体验的最有效指标。实现的方式是引入skywalking-client-js库&…

Jenkins(三):自动化部署SpringBoot项目

前言 在软件开发过程中&#xff0c;自动化部署已经成为不可或缺的一环。Jenkins是一个广泛使用的开源自动化部署工具&#xff0c;它提供了强大的功能和灵活的配置选项&#xff0c;可以帮助开发团队实现高效的持续集成和持续部署。本文将详细介绍如何使用Jenkins自动化部署Spri…

2024/2/3学习记录

微信小程序 小程序中组件的分类 视图容器 view 普通视图区域&#xff0c;类似于 div 常用来实现页面的布局效果。 scroll-view 可滚动的视图区域&#xff0c;常用来实现滚动列表效果 swiper 和 swiper-item 常用 swiper 组件的常用属性 轮播图容器组件和轮播图item组件 基…

京东微前端框架MicroApp简介

一、MicroApp 1.1 MicroApp简介 MicroApp是由京东前端团队推出的一款微前端框架,它从组件化的思维,基于类WebComponent进行微前端的渲染,旨在降低上手难度、提升工作效率。MicroApp无关技术栈,也不和业务绑定,可以用于任何前端框架。 官网链接:https://micro-zoe.gith…

DAY11之有效的括号、删除字符串中的所有相邻重复项和逆波兰表达式求值

有效的括号 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 由于栈结构的特殊性&#xff0c;非常适合做对称匹配类的题目。 首先要弄清楚&#xff0c;字符串里的括号不匹配有几种情况。 一些同学&#xff0c;在面试中看到这种题目上来就开始写代码&#xff0c;然后…

WPF布局面板

StackPanel StackPanel 是一种常用的布局控件,可以支持水平或垂直排列,但不会换行。当子元素添加到 StackPanel 中时,它们将按照添加的顺序依次排列。默认情况下,StackPanel 的排列方向是垂直的,即子元素将从上到下依次排列。可以使用 Orientation 属性更改排列方向。可以…

幻兽帕鲁服务器自动重启备份-python

幻兽帕鲁服务器自动重启备份-python 1. 前置知识点2. 目录结构3. 代码内容4. 原理解释5. 额外备注 基于python编写的服务器全自动管理工具&#xff0c;能够实现自动定时备份存档&#xff0c;以及在检测到服务器崩溃之后自动重新启动&#xff0c;并且整合了对于frp端口转发工具的…

web 技术栈有哪些?

前端技术栈&#xff1a; HTML&#xff08;超文本标记语言&#xff09;&#xff1a; 用于创建网页结构的标记语言&#xff0c;定义页面的内容和结构。 CSS&#xff08;层叠样式表&#xff09;&#xff1a; 用于设计和排版网页的样式表语言&#xff0c;负责页面的外观和样式。 …

蓝桥杯嵌入式第七届真题(完成) STM32G431

蓝桥杯嵌入式第七届真题(完成) STM32G431 题目 相关文件 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**********************…

NuxtJs安装Sass后出现ERROR:Cannot find module ‘webpack/lib/RuleSet‘

最近了解NuxtJs时&#xff0c;发现问题比较多&#xff0c;对于初学者来说是件比较头痛的事。这次是安装sass预处理器&#xff0c;通过命令安装后&#xff0c;出现了ERROR&#xff1a;Cannot find module webpack/lib/RuleSet 错误&#xff0c;于是根据之前经验&#xff0c;对版…

软件测试Bug系列之4个基本步骤(一)

目录 1.发现bug 2.提交bug 3.跟踪bug 4.总结bug 只要你一个测试人员 &#xff0c;就肯定离不开提交bug&#xff0c;跟踪bug的工作 。对于大多数的功能测试人员来说 &#xff0c;占比最多的工作就是和bug打交道 。可以说它是我们最重要的一块业绩 。所以&#xff0c;有必要静…

Python 连接 mysql 详解(mysql-connector-python)

文章目录 1 概述1.1 第三方库&#xff1a;mysql-connector-python1.2 可视化工具&#xff1a;navicat1.3 创建测试数据库 2 连接 mysql 数据库2.1 创建一个连接2.2 捕获连接异常2.3 从配置文件中获取连接信息 3 执行 sql 语句3.1 插入、更新、删除3.2 查询 1 概述 1.1 第三方库…

MySQL 小技巧:使用 xtrabackup 2.4 实现 完全备份及还原

演示&#xff1a;使用 xtrabackup 2.4 实现 完全备份及还原 本案例基于 CentOS 7 的 Mariadb5.5 实现&#xff0c;也支持 MySQL5.5 和 MySQL5.7 1) 安装 xtrabackup 包 // 先安装 Mariadb5.5 和 xtrabackup 包 [rootcentos7 ~] yum install mariadb-server -y [rootcentos7 ~]…

备份RK35XX 设备的ubuntu根文件系统的方法

简介 我们使用 RK35XX 提供的SDK包制作了一个完整的 ubuntu 镜像,烧录到设备中,会在设备中安装很多我们需要的软件,运行的一些自己写的脚本和业务程序,当我们有很多台设备时,不可能每台都一个个去安装,此时我们就需要一个工具来备份当前设备的根文件系统,然后再放到 SD…