在使用find命令的- exec选项处理匹配到的文件时, f i nd命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在f i nd命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与f i nd命令一起使用。
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像- exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用- exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高
http://liujinpan75.iteye.com/blog/661151
分享到:
相关推荐
Linux文件查找命令`find`和`xargs`是Linux系统中非常重要的工具,它们帮助用户在文件系统中高效地定位和处理文件。本文将详细解释这两个命令的基本使用和相关选项。 `find`命令是一个功能强大的命令,用于在指定...
### Shell Find 和 Xargs 详述 #### 一、Find 命令详解 ##### 1. Find 命令格式 Find 是 Linux 和 Unix 系统中用于搜索文件的强大工具之一。它允许用户根据多种条件查找文件。其基本语法如下: ```bash find ...
- 在处理大量文件时,使用 `-print0` 和 `xargs -0` 可以避免 `find` 命令由于命令行过长而出错。 - 需要注意的是,`find` 命令的执行可能会很慢,特别是当搜索范围较大时。因此,在生产环境中使用时需要谨慎考虑...
find / -name "web.xml" -type f | xargs grep "10.71.110.89" ``` 这条命令会找到所有名为"web.xml"的文件,并检查它们是否包含"10.71.110.89"这个IP地址。 7. **执行操作** - `-exec command {} \;`:在找到...
### Linux 下xargs命令详解及xargs与管道的区别 #### 一、xargs命令简介 在Linux系统中,`xargs`是一个非常实用且强大的命令,它主要用于将标准输入(stdin)中的数据转换为命令行参数,从而可以方便地处理大量...
### Linux中的find与xargs命令详解 在Linux系统中,`find` 和 `xargs` 是两个非常重要的命令行工具,它们被广泛用于文件搜索、处理等任务中。本文将详细解析这两个命令的功能、用法及其应用场景。 #### 1. find ...
首先输入“find.-name ‘__pycache__’ -type d -exec rm -rf {} \”命令删除所有子目录; 然后输入“find.-name “*.pyc””命令删除.pyc文件即可。 删除当前目录下的所有__pycache__子目录 find . -name '__...
"find / -name walter ... -perm 764 -exec rm {} \; find . -perm 764 -ok rm {} \; find . -perm 764 | xargs rm -f find . -name '*a*' -prune 文件名包含a,目录名不包含a find . -size +1000c | xargs touch
find ./* -type d -mtime +5 -print0 | xargs -0 rm -rf ``` 这里使用`xargs`来安全地处理文件名中可能包含空格的情况,并避免因文件名过长导致的问题。 在示例脚本中,作者选择了使用循环和`rm -rf`命令,这是...
find ~ -size 300c -exec ls -l {} \; ``` 或者 ```bash find ~ -size 300c | xargs ls -l ``` 这两条命令都会列出家目录下所有大小大于300字节的文件,并显示详细的文件列表信息。 2. **删除7天前的日志...
### UNIX find命令的使用 #### 一、概述 在UNIX系统中,`find`命令是一个极其强大的工具,用于在文件系统中查找文件。通过结合不同的选项和操作符,`find`命令可以执行复杂的搜索任务,比如按名称、类型、大小、...
`xargs`命令可以接收`find`输出的结果,将它们作为参数传递给其他命令,提高效率。例如: ```bash find . -name '*.txt' -print0 | xargs -0 rm ``` ### 四、find命令参数 1. `-name`:按文件名查找。 2. `-perm`...
`find`命令结合`xargs`使用可以更高效地处理大量文件的查找与操作。在实际应用中,`find`命令的强大功能和灵活性使其成为Linux环境下文件管理和自动化任务处理的利器。通过合理配置选项,可以实现对文件系统的深度...
`find`命令通常与`xargs`命令结合使用,将找到的文件作为参数传递给其他命令。例如: ```bash find . -name "core" -print | xargs echo "" >/tmp/core.log ``` 这个命令会将所有名为`core`的文件的路径写入到`/tmp...
Find 命令可以与 `xargs` 命令结合,实现复杂的搜索和处理操作。 例如,查找当前目录下所有文件名以 `.txt` 结尾的文件,并将它们拷贝到 `$HOME/tmp/` 目录下:`find . -name "*.txt" | xargs cp {} $HOME/tmp/`。 ...
使用 `find` 的 `-exec` 或 `-ok` 选项可以方便地执行各种 shell 命令,比如批量重命名文件或删除文件。但是,在执行这些操作之前,最好先使用 `-print` 选项查看匹配的文件列表,以确保正确性。 例如,要删除当前...
find path option [-print] [-exec-ok command {} \;] ``` - **path**:指定搜索的起始路径。 - **option**:指定搜索条件。 - **-print**:默认情况下,`find` 命令会将找到的结果输出到标准输出。 - **-exec-ok ...
find [path] [option] [-print] [-exec-ok command {} \;] ``` - `[path]`:指定搜索的起始路径。 - `[option]`:指定搜索条件。 - `-print`:将找到的文件名打印到标准输出。 - `-exec-ok command {} \;`:执行...
- `find` 命令中 `-exec` 和 `-ok` 参数后跟的是要执行的命令,格式为 `'command' {} \;`。 - 其中 `{}` 表示由 `find` 命令找到的文件名,`\;` 表示命令的结束。 - 示例:`find . -name "*.txt" -exec rm {} \;`...