1.Motivation ---- 搜索查找是管理文件系统常用的操作,虽然动作逻辑本质上是匹配,很简单,但搜索也有很多种花样,可以用来加速搜索,快速提取想要的内容 最简单的搜索:你想递归遍历从当前目录下所有子目录以及子目录下的文件...-type b #从当前目录开始向下递归搜索块设备 find . -type c #从当前目录开始向下递归搜索字符设备 find ....-atime 7 #搜索正好7天前访问过的文件 find . -atime +7 #搜索7天以前访问过的文件 find . -ctime 7 #搜索正好7天前改变的文件 find ....-mtime 7 #搜索正好7天前修改的文件 find . -amin 7 #搜索正好7分钟前访问过的文件 find ....-perm 644 find . -user neo 搜索并对结果执行相关命令: find .
前言 作者以前就遇到过Linux整个系统文件权限都被设置为777。并且系统没有权限备份,当时服务器也不是云主机,所以没有快照备份。 遇到这种情况怎么办?下面分享下作者个人恢复方法。...万能的百度搜索 通过百度搜索,搜索到一个权限备份与恢复工具: getfacl:备份Linux文件或者目录权限 setfacl:恢复Linux文件或者目录权限 问题 虽然有 getfacl 与 setfacl...解决问题 注意 如果Linux整个系统文件权限都被设置为777,请不要重启系统,因为很多同学认为万能的重启能解决98%的问题。重启后权限就能恢复。但这次请不要重启系统,如果重启系统,系统直接损坏。...解决思路 虽然损坏的服务器没有权限备份,但是可以找一台与这台损坏的服务器系统版本一样的机器进行整个系统权限备份。在把备份文件拷贝到损坏的服务器上进行权限恢复。...具体操作 注意:这里所有操作,需要使用 root 用户来执行 1、找一个系统版本一样的服务器上操作权限备份 # 备份整个系统权限 $ getfacl -R / > /data/system-all-permissions.facl
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。...语法 find path -option [ -print ] [ -exec -ok command ] {} \; 参数说明 : find 根据下列规则判断 path...-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件...-name "*.c" 将当前目录及其子目录中的所有文件列出: # find . -type f 将当前目录及其子目录下所有最近 20 天内更新过的文件列出: # find ....-type f -perm 644 -exec ls -l {} \; 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径: # find / -type f -size 0 -exec ls
查找当前目录下的以.log结尾的文件或目录,并移动到test目录下 find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了...一. exec参数说明: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。...{} 花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 二. 使用示例 1. 查找当前目录下的文件,并对查找结果执行ls -l 命令 命令: find .
find 命令在linux中是很常用到的一个查找命令,它的功能非常地强大。... / -atime -2 # 查找在系统中最后48小时访问的文件 find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件 find... / -mtime -1 # 查找在系统中最后24小时里修改过的文件 find / -empty # 查找在系统中为空的文件或者文件夹 find... / -group cat # 查找在系统中属于 groupcat的文件 find / -nouser # 查找在系统中属于作废用户的文件 find...参考推荐: Linux下which、whereis、locate、find 区别 Linux中find常见用法示例 Linux xargs命令(推荐)
Linux 命令 find 命令解析 Linux 命令 find 是一种查找文件和目录的工具,可以通过文件类型、日期、大小等属性来查找符合要求的文件。...find 的一般形式如下: find [path] [option] [action] 其中,参数 path 表示要查找的目录,option 表示查找的选项,action 表示对查找到的文件要执行的操作...为方便读者理解,林一写个具体的 demo: find /data/logs -name "access.log*" -type f -mtime -7 -exec cp {} /backup/ ; 解析...Linux 命令 find 命令注意事项 find 命令搜索文件或目录是从给定的路径开始向下递归,找到所有符合条件的文件或目录: -exec选项后面的命令必须以;结尾表示命令结束; -prune选项表示不进入指定的目录查找文件...,可提高查找效率; -regex选项可以使用正则表达式查找文件; find 命令的属性条件可以使用-mtime、-atime和-ctime,分别表示文件的修改时间、访问时间和修改权限的时间。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。...查找系统中24小时以内被访问过的文件 > find / -atime -1 查找系统中24小时以内被修改过内容的文件 > find / -mtime -1 查找系统中48小时之前被修改过内容的文件 >...find / -mtime +1 查找系统中所有的.log结尾的文件 > find / -name *.log 查找系统中文件大于100M的文件 > find / -size +100M b —— 块(...100M -size -500M 查找系统中文件大于500M的文件,并删除 > find / -type f -size +500M -delete 或 > find / -type f -size +...查找系统中的空文件 > find / -empty -type f 原文链接:https://rumenz.com/rumenbiji/linux-find.html 微信公众号:入门小站
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。...查找系统中24小时以内被访问过的文件 > find / -atime -1 查找系统中24小时以内被修改过内容的文件 > find / -mtime -1 查找系统中48小时之前被修改过内容的文件...> find / -mtime +1 查找系统中所有的.log结尾的文件 > find / -name *.log 查找系统中文件大于100M的文件 > find / -size +100M b...+100M -size -500M 查找系统中文件大于500M的文件,并删除 > find / -type f -size +500M -delete 或 > find / -type f -size...查找系统中的空文件 > find / -empty -type f 原文链接:https://rumenz.com/rumenbiji/linux-find.html
linux 中find 常用示例解析 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression] 其实[-H] [-L] [...find ....例如:find / -mtime -5 -print 在系统根目录下查找更改时间再5日内的文件 find /var/adrm -mtime +3 -print.../ -name ”nginx“ -depth -print 他将首先匹配所有的文件,然后再进入子目录查找 -mount 在查找文件时不跨越文件系统mount点 ...-name ”tst“ -mount -print 从当前目录中开始查找位于本文件系统上的tst文件,不跨越文件系统 -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件
exec解释 -exec参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。...{}花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 查找当前目录下所有.txt文件并打印出详细的文件信息 > find ..../rumenz \; 原文链接:https://rumenz.com/rumenbiji/linux-find-exec.html
find 命令在Linux系统中用于在文件系统中搜索符合特定条件的文件和目录。...以下是find命令的详细文档和一些示例: 命令语法 find 命令的基本语法如下: find [path] [expression] 其中,path 参数指定要搜索的目录或文件路径。...例如:find /var/log -user root 示例 以下是一些使用 find 命令的示例: 搜索指定目录下所有 .txt 文件: find /home/user/documents -name...7 天内修改过的文件: find /home/user -mtime -7 搜索指定目录下所有属于 user 用户的文件: find /home -user user 以上仅是 find 命令的一些常见示例...可以查看相关的Linux文档以获取更详细的信息和示例。
exec的问题 参数太长 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。...但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。...进程过多 在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高; 而使用...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。...原文链接:https://rumenz.com/rumenbiji/linux-find-xargs.html
如果有不理解的部分,则看后面的find运行机制详解对于理论的说明,也建议在看完这些基本示例后阅读一遍理论说明,它是本人翻译自find的man文档并加上了个人的理解。...另外,在该理论说明结束后,还有find深入用法示例和分析。 (1). 最基础的打印操作 find命令默认接的命令是-print,它默认以\n将找到的文件分隔。...例如,搜索”/”下的所有”Find.pm”结尾的文件: ls --hide proc / | xargs -i -P 0 find /{} -type f -name "*Find.pm" 可以使用time...File-Find/lib/File/Find.pm /usr/share/perl5/vendor_perl/Pod/Find.pm /usr/share/perl5/File/Find.pm 0.04user...排除的方法是,加上一个-path选项并取反,-path的参数和find的搜索路径参数必须一致。 $ find /tmp/test !
exec的问题 参数太长 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。...但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。...这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。...进程过多 在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高; 而使用...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。
例如用.来表示当前目录,用/来表示系统根目录。 -print: find命令将匹配的文件输出到标准输出。 -exec: find命令对匹配的文件执行该参数所给出的shell命令。...-mount:在查找文件时不跨越文件系统mount点。 -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。...4、使用exec或ok来执行shell命令 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 在有些操作系统中只允许-exec选项执行诸如l s或ls...rm { } \; 5、为了查找系统中所有属于root组的文件; $find ....n 7、为了查找当前文件系统中的所有目录并排序; $ find . -type d | sort 8、为了查找系统中所有的rmt磁带设备; $ find /dev/rmt -print
exec的问题 参数太长 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。...但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。...进程过多 在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高; 而使用...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。...原文链接:https://rumenz.com/rumenbiji/linux-find-xargs.html 微信公众号:入门小站
exec的问题 参数太长 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。...但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。...进程过多 在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用...另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。...原文链接:https://rumenz.com/rumenbiji/linux-find-xargs.html
exec解释 -exec参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。...{}花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...在有些操作系统中只允许-exec选项执行诸如ls或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 查找当前目录下所有.txt文件并打印出详细的文件信息 > find ..../rumenz \; 原文链接:https://rumenz.com/rumenbiji/linux-find-exec.html 微信公众号:入门小站
print0”参数类似,但会把结果保存成指定的列表文件; -fprintf:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件; -fstype:只寻找该文件系统类型下的文件或目录; -gid:查找符合指定之群组识别码的文件或目录; -group:查找符合指定之群组名称的文件或目录; -help或——help...查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算; -user:查找符和指定的拥有者名称的文件或目录; -version或——version:显示版本信息; -xdev:将范围局限在先行的文件系统中....txt和.pdf结尾的文件 find . \( -name "*.txt" -o -name "*.pdf" \) 或 find ....-type f 时间戳 UNIX/Linux文件系统每个文件都有三种时间戳: 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
领取专属 10元无门槛券
手把手带您无忧上云