首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux find 不递归

find 命令是 Linux 中用于在文件系统中搜索文件的强大工具。默认情况下,find 命令会递归地搜索指定目录下的所有子目录。如果你想要执行非递归搜索,即仅搜索指定目录而不进入其子目录,可以使用 -maxdepth 选项来限制搜索深度。

基础概念

  • 递归搜索:默认情况下,find 会遍历指定目录下的所有子目录。
  • 非递归搜索:通过设置 -maxdepth 选项,可以限制 find 命令的搜索深度。

相关优势

  • 提高效率:对于大型文件系统,递归搜索可能会非常慢。限制搜索深度可以提高命令的执行效率。
  • 精确控制:有时你可能只关心特定目录下的文件,而不需要查看更深层次的文件。

类型与应用场景

  • 类型find 命令支持多种类型的搜索条件,如文件名、大小、修改时间等。
  • 应用场景
    • 快速查找当前目录下的特定文件。
    • 在不干扰子目录的情况下,对当前目录进行批量操作。

示例代码

假设你想在 /home/user/documents 目录下查找所有 .txt 文件,但不想搜索子目录,可以使用以下命令:

代码语言:txt
复制
find /home/user/documents -maxdepth 1 -type f -name "*.txt"

这条命令的解释如下:

  • /home/user/documents:指定搜索的起始目录。
  • -maxdepth 1:限制搜索深度为1,即只搜索指定目录本身。
  • -type f:指定只查找文件类型。
  • -name "*.txt":指定文件名模式,这里查找所有以 .txt 结尾的文件。

遇到问题的原因及解决方法

如果你在使用 find 命令时遇到问题,比如没有得到预期的结果,可能的原因包括:

  • 路径错误:确保指定的目录路径是正确的。
  • 权限问题:检查是否有足够的权限访问指定目录及其文件。
  • 选项使用错误:确认 -maxdepth 和其他选项的使用是否正确。

解决方法:

  • 检查路径:使用 lspwd 命令确认路径无误。
  • 检查权限:使用 ls -ld /path/to/directory 查看目录权限,必要时使用 chmod 修改权限。
  • 重新检查命令:仔细检查 find 命令的语法和选项,确保它们符合预期。

通过以上步骤,你应该能够有效地使用 find 命令进行非递归搜索,并解决可能遇到的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux find exec

查找当前目录下的以.log结尾的文件或目录,并移动到test目录下 find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了...{} 花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 二. 使用示例 1. 查找当前目录下的文件,并对查找结果执行ls -l 命令 命令: find ....,删除没有提示) 命令: find -type f -mtime -1 -exec rm {} \; 输出: [root@localhost home]# ll total 0 -rw-r--r--....查找当前目录下文件名以.log结尾且24小时内更改过的文件,并进行安全删除操作(即删除前会进行询问) 命令: find -name "*.log" -type f -mtime -1 -ok rm

4.4K20
  • Linux 命令 | find

    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,分别表示文件的修改时间、访问时间和修改权限的时间。

    18520

    Linux之find命令

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。...格式可以自行指定; -prune:不寻找字符串作为寻找文件或目录的范本样式; -regex:指定字符串作为寻找文件或目录的范本样式; -size:查找符合指定的文件大小的文件;...查找系统中24小时以内被访问过的文件 > find / -atime -1 查找系统中24小时以内被修改过内容的文件 > find / -mtime -1 查找系统中48小时之前被修改过内容的文件 >...find / -mtime +1 查找系统中所有的.log结尾的文件 > find / -name *.log 查找系统中文件大于100M的文件 > find / -size +100M b —— 块(...查找系统中的空文件 > find / -empty -type f 原文链接:https://rumenz.com/rumenbiji/linux-find.html 微信公众号:入门小站

    3.9K00

    Linux之find命令

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。...格式可以自行指定; -prune:不寻找字符串作为寻找文件或目录的范本样式; -regex:指定字符串作为寻找文件或目录的范本样式; -size:查找符合指定的文件大小的文件;...查找系统中24小时以内被访问过的文件 > find / -atime -1 查找系统中24小时以内被修改过内容的文件 > find / -mtime -1 查找系统中48小时之前被修改过内容的文件...> find / -mtime +1 查找系统中所有的.log结尾的文件 > find / -name *.log 查找系统中文件大于100M的文件 > find / -size +100M b...查找系统中的空文件 > find / -empty -type f 原文链接:https://rumenz.com/rumenbiji/linux-find.html

    3.6K10

    Linux find的用法_find的用法归纳

    如果有不理解的部分,则看后面的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 !

    3.5K20

    Linux之find exec

    {}花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 查找当前目录下所有.txt文件并打印出详细的文件信息 > find ....查找当前目录下内容修改时间是30天以前的.log文件并删除,删除前给出提示 > find ....find命令首先匹配所有文件名为passwd*的文件,然后执行grep命令看看在这些文件中是否存在一个root用户 查找当前目录下所有的.log文件并移动到指定目录 > find ..../rumenz \; 原文链接:https://rumenz.com/rumenbiji/linux-find-exec.html 微信公众号:入门小站

    3.9K00

    Linux之find exec

    {}花括号代表前面find查找出来的文件名。 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的。...如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。 查找当前目录下所有.txt文件并打印出详细的文件信息 > find ....-type f -name "*.txt" -exec ls -l {} \; 查找当前目录下内容修改时间是30天以前的.log文件并删除 > find ....查找当前目录下内容修改时间是30天以前的.log文件并删除,删除前给出提示 > find ....find命令首先匹配所有文件名为passwd*的文件,然后执行grep命令看看在这些文件中是否存在一个root用户 查找当前目录下所有的.log文件并移动到指定目录 > find .

    4K20

    Linux find命令使用

    最近在工作中学习了不少Linux方面的命令,比如vim的使用命令、find命令、rpm打包spec配置文件等等。 鸟哥私房才基础版给了我不少帮助,在这里感谢鸟哥。     ...上网找了一下Linux下删除目录下所有.svn的方法,方法如下: Linux下删除这些目录是很简单的,主要是使用了find工具,命令如下 find ....-type d -iname ".svn" -exec rm -rf {} \;      感觉Linux下的subersion客户端速度蛮快的,5.8G的目录花10多分钟就能下载到本地,但是使用Windows...-print find命令将匹配的文件输出到标准输出。 -exec find命令对匹配的文件执行该参数所给出的s h e l l命令。...可以在终端下使用man find来查询find命令的相关参数。

    4K30

    Linux之find命令

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。...格式可以自行指定; -prune:不寻找字符串作为寻找文件或目录的范本样式; -regex:指定字符串作为寻找文件或目录的范本样式; -size:查找符合指定的文件大小的文件;...查找系统中24小时以内被访问过的文件 > find / -atime -1 查找系统中24小时以内被修改过内容的文件 > find / -mtime -1 查找系统中48小时之前被修改过内容的文件 >...find / -mtime +1 查找系统中所有的.log结尾的文件 > find / -name *.log 查找系统中文件大于100M的文件 > find / -size +100M b —— 块(...查找系统中的空文件 > find / -empty -type f 原文链接:https://rumenz.com/rumenbiji/linux-find.html

    1.3K30
    领券