linux(9)find命令详解「建议收藏」

linux(9)find命令详解「建议收藏」find命令格式:findpath-option[-print][-exec-okcommand]{}\;find命令的参数:path:要查找的目录路径。~表示$HO

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

find命令格式:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

 

find命令的参数:

  • path:要查找的目录路径。

    • ~ 表示$HOME目录
    • . 表示当前目录
    • / 表示根目录
  • options :表示查找方式

    • -name filename #查找名为filename的文件
    • -perm #按执行权限来查找
    • -user username #按文件属主来查找
    • -group groupname #按组来查找
    • -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    • -atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
    • -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    • -nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
    • -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
    • -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
    • -size n[c] #查长度为n块[或n字节]的文件
    • -mount #查文件时不跨越文件系统mount点
    • -follow #如果遇到符号链接文件,就跟踪链接所指的文件
    • -prune #忽略某个目录
  • print:表示将结果输出到标准输出。

  • exec:对匹配的文件执行该参数所给出的shell命令。 形式为command {} ;,注意{}与;之间有空格

  • ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行

  • |xargs 与exec作用相同 ,起承接作用。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等

  • options :表示查找方式
     

案例

 

按名字查找(-name)

 

在当前目录及子目录中,查找大写字母开头的txt文件

find . -name '[A-Z]*.txt' -print 

 

在/etc及其子目录中,查找host开头的文件

find /etc -name 'host*' -print

 

在$HOME目录及其子目录中,查找所有文件

find ~ -name '*' -print

 

在当前目录及子目录中,查找不是out开头的txt文件

find . -name 'out*' -prune -o -name "*.txt" -print 

 

按目录查找(-path)

 

在当前目录除aa之外的子目录内搜索 txt文件

find . -path "./aa -prune -o -name "*.txt" -print"

 

按权限查找(-perm)

 

在当前目录及子目录中,查找属主具有读写执行,其他具有读执行权限的文件

find . -perm 755 -print

 

查找用户有写权限或者组用户有写权限的文件或目录(3种写法)

find ./ -perm /220
find ./ -perm /u+w,g+w
find ./ -perm /u=w,g=w

 

按类型查找(-type)

 

在当前目录及子目录下,查找符号链接文件

find . -type l -print

类型

  • d:文件夹
  • f:文件
  • l:符号链接
  • b:块设备
  • c:字符设备
  • p:管道
     

按属主及属组

 

查找属主是www的文件

find / -user www -type f -print

 

查找属组 mysql 的文件

find / -group mysql -type f -print

 

按时间查找

 

查找2天内被更改过的文件

find . -mtime -2 -type f -print 

 

查找2天前被更改过的文件

find . -mtime +2 -type f -print 

 

查找一天内被访问的文件

find . -atime -1 -type f -print

 

查找一天前被访问的文件

find . -atime +1 -type f -print

 

查找一天内状态被改变的文件

find . -ctime -1 -type f -print  

 

查找一天前状态被改变的文件

find . -ctime +1 -type f -print  

 

查找10分钟以前状态被改变的文件

find . -cmin +10 -type f -print 

 

按大小查找

 

查找超过1M的文件

find / -size +1M -type f -print 

 

查找等于6字节的文件

find . -size 6c -print  

 

查找小于32k的文件

find . -size -32k -print 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166234.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django request.get_RequestParam

    django request.get_RequestParamDjango在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。在这个

    2022年7月31日
    6
  • java jvm 参数 -Xms -Xmx -Xmn -Xss 调优

    堆大小设置JVM中最大堆大小有三方面限制: 1.相关操作系统的数据模型(32-bt还是64-bit)限制;2.系统的可用虚拟内存限制;3.系统的可用物理内存限制.在32位系统下,一般限制在1.5G~2G;64为操作系统对内存无特定限制.  机器配置:128G内存  32核CPU典型设置: java-Xmx72g -Xms72-Xmn4g-Xss256m  -Xmx…

    2022年4月6日
    79
  • linux系统软件安装和卸载的常见方法_ubuntu如何卸载软件

    linux系统软件安装和卸载的常见方法_ubuntu如何卸载软件文章来源笔者学习Linux记录的《linux笔记》笔者所用版本为Ubuntu———————————————————————————————————————————1.在线安装1.1apt-get(1)sudoapt-getinstall软件名称在线下载安装(2)sudoapt-getr…

    2025年10月15日
    5
  • 基于SpringBoot使用AOP技术实现操作日志管理[通俗易懂]

    基于SpringBoot使用AOP技术实现操作日志管理[通俗易懂]操作日志对于程序员或管理员而言,可以快速定位到系统中相关的操作,而对于操作日志的管理的实现不能对正常业务实现进行影响,否则即不满足单一原则,也会导致后续代码维护困难,因此我们考虑使用AOP切面技术来实现对日志管理的实现。文章大致内容:1、基本概念2、基本应用3、日志管理实战对这几部分理解了,会对AOP的应用应该很轻松。一、基本概念项目描述Aspect(切面)…

    2022年6月5日
    56
  • java基础——java.util.ConcurrentModificationException

    在编写代码的时候,有时候会遇到List里有符合条件的的对象,就移除改对象! 但是这中操作如:使用了 List 的remove,会导致一些很严重的问题!

    2022年2月25日
    44
  • Java拖拽排序工具类「建议收藏」

    Java拖拽排序工具类「建议收藏」packagecom.ciih.jwt.util.sort;importjava.lang.reflect.Field;importjava.util.Collections;importjava.util.List;/***拖拽排序工具:此工具将传入的list重新排序后返回,使用者只需要将list重新存入数据库即可完成排序.*<>*拖拽排序必然牵扯到两个元素,被拖拽的元素和被挤压的元素.排序方式就存在两种,一种是两个元素进行交换位置,一种是一个元素拖到.

    2022年6月29日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号