首页 > 系统相关 >(转)shell命令:find查找命令

(转)shell命令:find查找命令

时间:2022-12-10 18:45:14浏览次数:36  
标签:文件 shell 列出 命令 查找 txt type find

原文:https://blog.csdn.net/xuejianbest/article/details/84988196?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-84988196-blog-6537551.pc_relevant_3mothn_strategy_and_data_recovery&spm=1001.2101.3001.4242.3&utm_relevant_index=7

一般用法:

find 目录 参数 #按要求列出指定目录及其子目录下的所有文件和目录,指定目录要在参数之前
1
限定查找文件类型:

find . -type d #只列出目录
find . -type f #只列出文件
1
2
限定查找目录的深度,仅查找当前目录而不查找子目录深度用1:

find . -maxdepth 1 #只查找当前目录
find . -mindepth 2 #只查找子目录
1
2
根据文件名(或目录名)查找:

find . -name "*.txt" #查找所有名称为*.txt的文件或目录
find . -iname "*.pdf" #忽略大小写查找所有名称为*.txt的文件或目录
find . \( -name "*.txt" -o -name "*.pdf" \) #OR条件,匹配多个条件中的一个。注意括号用法,注意空格:\( 和 \)。
1
2
3
根据路径名和文件名(或目录名)查找:

find /root -path "/root/t/*.txt"
find /root -ipath "/Root/t/*.txt" #忽略大小写
1
2
基于正则表达式的路径名和文件名(或目录名)查找:

find /root -regex "/Root/t/.*scala"
find /root -iregex "/Root/t/.*s$" #忽略大小写
1
2
否定参数!:

find . ! -name "*.txt" #查找所有名称不为*.txt的文件或目录
1
根据文件时间来查找(最后访问时间-atime,最后修改时间-mtime,文件元数据(例如权限或所有权)最后变化时间-ctime),+表示大于,-表示小于,单位为天:

find . -type f -atime -7 #列出最近7天访问过的文件
find . -type f -atime 7 #列出恰好7天前访问过的文件
find . -type f -atime +7 #列出访问时间超过7天的文件
#以下是基于分钟的参数-amin,-mmin,-cmin
find . -type f -amin +3 #列出访问时间超过3分钟的文件
1
2
3
4
5
时间比较参数-newer:

find . type f -newer this.txt #列出比this.txt更新的(更长的修改时间)所有文件
1
基于文件大小查找-size:

find . -type f -size +2k #列出大于2KB的文件
find . -type f -size -2M #列出小于2MB的文件
find . -type f -size 2G #列出2GB的文件
find . -type f -size +2c #列出大于2B的文件
##若计数值是1的时候不准确(如1k),所以转换单位(比如转为1024c)
1
2
3
4
5
-delete选项,删除查找到的所有文件:

find . -type f -name "*.txt" -delete #删除所有txt文件
1
-exec选项,利用find的结果执行其他命令:

find . -type f -name "*.txt" -exec cat {} \; > /root/all.txt #将所有txt文件合并到all.txt里,注意输出文件最好不要是被查找到的文件之一
find . -type f -name "*.txt" -exec ls -hl {} \; #用ls列出所有查到的文件的信息
1
2
列出当前目录下所有文件(和目录),不包括abc目录下的(和abc目录本身):

find . \( -name "abc" -prune \) -o \( -print \)
————————————————
版权声明:本文为CSDN博主「xuejianbest」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuejianbest/article/details/84988196

标签:文件,shell,列出,命令,查找,txt,type,find
From: https://www.cnblogs.com/liujiacai/p/16972066.html

相关文章

  • xshell批量登录交换机执行命令
    参考:​​https://www.jianshu.com/p/3aada3708970​​​​https://blog.csdn.net/qq_42427912/article/details/112909860?spm=1001.2101.3001.6650.1&utm_medium=distribut......
  • Linux命令行下删除文件内容
    我们介绍的例子会修改原始文件,所以如果大家在平时使用或者练习的时候,最好先做好备份。我们大家都知道,在vim中删除文件中的某几行很简单,只需要按下dd键即可。那么,在不主......
  • JVM监控命令大全
    1、jdb(TheJavaDebuger) jdb 用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sunstudio里面所带的dbx非常相似,但......
  • Linux命令之vmstat
    一、使用说明vmstat可以对操作系统的内存信息、进程状态、CPU活动、磁盘等信息进行监控,不足之处是无法对某个进程进行深入分析。二、用法及参数说明-a:显示活跃和非......
  • Linux监控命令之top
    一、命令说明top命令能够实时监控系统的运行状态,并且可以按照CPU、内存和执行时间进行排序,同时top命令还可以通过交互式命令进行设定显示,通过top命令可以查看即时活跃......
  • Linux监控命令之iostat
    一、使用说明iostat是对系统的磁盘I/O操作进行监控,它的输出主要显示磁盘读写操作的统计信息,同时给出CPU的使用情况。同vmstat一样,iostat不能对某个进程进行深入分析,......
  • Linux监控命令之sar
    一、使用说明sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使......
  • Linux监控命令之lsof
    一、命令说明lsof命令的原始功能是列出打开的文件的进程,但LINUX下,所有的设备都是以文件的行式存在的,所以,lsof的功能很强大。二、参数说明-a:列出打开文件存在的进......
  • powershell简介
    powershell简介PowerShell是一种跨平台的任务自动化解决方案,由命令行shell、脚本语言和配置管理框架组成。PowerShell可以在Windows、Linux和macOS上运行。注释......
  • ifdown和ifup命令
    ifdown命令ifdown命令用于禁用指定的网络接口。该命令会去读取/etc/sysconfig/network-scripts/目录下的相关网络接口的配置文件,并根据配置文件的内容来关闭该网络接口。......