`

Linux中find常见用法

 
阅读更多
原文地址:http://tutorials.hostucan.cn/article-linux-find



find命令主要是用于文件查找, 非常有用, 但对于初学者, 会发现它有点怪异. 为啥呢? 因为用的少, 用多了, 习惯了, 也就不怪异了. 让我们先从一个简单例子开始.
$ find / -name test
./backup/ modules/field/modules/test
$
“查找根目录下名称为’test’的文件”, 这条命令会让系统查找所有文件, 包括挂载的文件设备. 这可能需要花费一段时间, 尤其是查找网络共享硬盘. 不过, 我们可以通过参数-mount告诉, 系统忽略挂载设备:
$ find / -mount -name test
find命令格式如下:
find [path] [options] [tests] [actions]
[path]

路径; 应该不难理解. 这里可以使用绝对路径, 也快成使用相对路径.
[options]

参数; 比较常用的参数用:
-depth: 先查找子目录再查看当前目录 -follow: 跟踪查找连接文件 -maxdepths N: 子目录递归最大深度 -mount(or -xdev): 忽略挂载文件
[tests]

条件匹配;
-atime -N/N/+N: 最后一次访问文件的时间在 N天内/N天/N天前 -mtime -N/N/+N: 最后一次修改文件的时间在 N天内/N天/N天前 -name pattern: 与pattern相匹配的文件(包括目录) -newer f1 !f2: 比文件f1新的文件, 比文件f2旧的文件 -type b/d/c/p/l/f: 文件类型为: 块设备/目录/字符设备/管道/链接/文件 -user username: 文件的所有者是username
我们可以通过以下操作符, 将匹配条件 连起来:
-not (!): 方向匹配 -and (-a): 而且 -or (-o): 或者
我们还可以通过括号将一些匹配符号合并. 例如
\(-newer -o -name ‘*test’ \)
现在举一个稍微有点复杂的例子, 查找当天被访问过或修改过的文件, 文件名包含’python’, 而起文件所有者是’anthony’:
# find / \( -atime -1 -or -mtime -1 \) -and -name '*python*' -and -user 'anthony'
/home/anthony/svn_code/subversion-1.7.2/subversion/bindings/swig/python
/home/anthony/svn_code/subversion-1.7.2/subversion/bindings/ctypes-python
/home/anthony/python
/home/anthony/python/Python-3.2.2/build/temp.linux-x86_64-3.2/home/anthony/python
/home/anthony/python/Python-3.2.2/Tools/unicode/python-mappings
/home/anthony/.local/lib/python3.2
#
[actions]

操作;
-exec command: 执行命令, 具体介绍见后文. -ok command: 和-exec一样, 除了命令执行需要用户许可. -print: 打印文件名 -ls: 列出文件详细信息
现在举例说明-exec command
anthony@z:~$ find -mtime -1 -type f -exec ls -l {} \;
-rw-r--r-- 1 anthony anthony 0 Apr 5 12:04 ./search/search.txt
-rw------- 1 anthony anthony 22997 Apr 5 12:04 ./.viminfo
-rw------- 1 anthony anthony 125 Apr 5 14:25 ./.lesshst
anthony@z:~$
简单地说, -exec或-ok, 将查询到的文件作为参数传递给后面的命令执行, 而参数的位置用{}标识, 即命令中, “{}”替换成find查找出来的文件名, 最后”\;”表示结束符.
分享到:
评论

相关推荐

    Linux中find常见用法示例.docx

    "Linux中find常见用法示例" find 命令是 Linux 系统中一个非常强大的文件搜索工具,它可以根据不同的参数和选项来查找和处理文件下面将详细介绍 find 命令的常见用法示例: 1. 基本语法:find path -option [ -...

    Linux中find常见用法.doc

    下面我们将详细讨论`find`命令的一些常见用法。 1. **基本结构:** `find`命令的基本格式是: ```bash find path -option [ -print ] [ -exec -ok command {} \; ] ``` 其中,`path`是你想要搜索的起始路径,`...

    Linux中find常见用法示例

    ·find path -option [ -print ] [ -exec -ok command ] {} ;  find命令的参数;  pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。  -print: find命令将匹配的...

    Linux中 find查找命令用法详解

    以下是一些常见的`find`命令用法示例: 1. 查找文件: ```bash find ./ -type f # 查找当前目录及其子目录下的所有文件 ``` 2. 查找目录: ```bash find ./ -type d # 查找当前目录及其子目录下的所有目录 ``` 3....

    linux下find命令

    常见用法示例 1. 查找名为 `filename` 的文件 ``` find . -name filename ``` 2. 按执行权限来查找文件 ``` find . -perm 755 ``` 3. 按文件属主来查找文件 ``` find . -user username ``` 4. 按组来查找文件 ``` ...

    Linux文本查找命令find的用法详解

    在Linux系统中,`find`命令是一个非常实用的工具,用于在文件系统中搜索指定的文件或目录。它提供了丰富的参数,可以根据文件的名称、类型、大小、时间戳等多种属性进行筛选。下面我们将详细讲解`find`命令的用法。 ...

    linux中find命令的使用示例

    常见用法示例 1. 查找文件 使用 `-name` 选项可以根据文件名称查找文件,例如:`find . -name "filename"` 2. 按执行权限查找 使用 `-perm` 选项可以根据文件的执行权限查找文件,例如:`find . -perm 755` 3. 按...

    find 命令的一些常见用法及示例

    linux常用命令大全 这些只是 find 命令的几个常见用法示例。通过灵活使用 -name、-size、-type 等参数,你可以根据自己的需要构建更复杂的文件查找命令。

    linux下使用find命令根据系统时间查找文件用法.docx

    Linux 下使用 find 命令根据系统时间查找文件用法 Linux 下的 find 命令是一个功能强大且灵活的工具,用于查找文件和目录。其中一个重要的应用场景是根据系统时间查找文件。系统时间是指文件的最后修改时间、最后...

    Linux基础学习之文件查找find的常见用法

    以下是对`find`命令常见用法的详细说明: 1. **根据文件名查找**: 使用`-name`选项可以指定文件名或通配符来查找文件。例如,`find . -name "11.png"`会在当前目录及其子目录下查找名为“11.png”的文件。`find ....

    linux-find-命令的详细说明.zip

    在Linux操作系统中,`find`命令是一个非常强大的工具,用于在文件系统中搜索符合特定条件的文件和目录。它允许用户根据文件名、大小、时间戳等属性来定位文件。本详细说明将深入探讨`find`命令的使用方法、选项以及...

    linux全部命令用法.rar

    "Linux全部命令用法.rar"这个压缩包文件很可能包含了Linux系统中所有常用及不常用的命令的详细用法、语法和解释。下面将对一些重要的、常见的Linux命令进行详细说明。 1. **ls**:用于列出目录中的文件和子目录。...

    MongoDB的Linux安装、基本操作,企业级常见用法

    ### MongoDB在Linux下的安装与应用 #### 一、MongoDB简介及优势 MongoDB是一款开源的NoSQL数据库系统,以其高性能、高可扩展性、易用性和灵活性著称。它支持文档模型,允许开发者轻松地存储和管理各种类型的数据。...

    Linux终端命令用法精选.doc

    - `find`和`locate`:用于在文件系统中查找特定的文件。 - `ln`:用于创建硬链接,`ln -s`则用于创建符号链接。 #### 磁盘与设备管理 1. **磁盘使用情况与分区** - `df -T -h`:查看磁盘空间使用情况,包括分区...

    嵌入式linux常见命令

    1. **tar命令**:`tar`是用于处理档案文件的工具,常见的用法如`tar jxfv`、`tar zxfv`和`tar zxfv`。这里的`j`代表使用`bzip2`压缩,`z`代表使用`gzip`压缩,`x`表示解压,`f`表示指定档案文件,`v`表示在操作过程...

    linux查找文件命令find.doc

    Linux 操作系统中查找文件命令 find 是一个非常有用的命令,它可以帮助用户快速查找文件。 Linux 下的文件表达格式非常复杂,不像 Windows、DOS 下都是统一的 AAAAAAA.BBB 格式那样方便查找。在 Linux 中,需要使用...

Global site tag (gtag.js) - Google Analytics