`

xargs find -exec,linux 命

阅读更多

而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。

来看看xargs命令是如何同find命令一起使用的,并给出一些例子。

下面的例子查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件

#find . -type f -print | xargs file
./.kde/Autostart/Autorun.desktop: UTF-8 Unicode English text
./.kde/Autostart/.directory: ISO-8859 text
......

在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:

$ find / -name "core" -print | xargs echo "" >/tmp/core.log

上面这个执行太慢,我改成在当前目录下查找

#find . -name "file*" -print | xargs echo "" > /temp/core.log
# cat /temp/core.log
./file6

在当前目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限:

# ls -l
drwxrwxrwx 2 sam adm 4096 10月 30 20:14 file6
-rwxrwxrwx 2 sam adm 0 10月 31 01:01 http3.conf
-rwxrwxrwx 2 sam adm 0 10月 31 01:01 httpd.conf

# find . -perm -7 -print | xargs chmod o-w
# ls -l
drwxrwxr-x 2 sam adm 4096 10月 30 20:14 file6
-rwxrwxr-x 2 sam adm 0 10月 31 01:01 http3.conf
-rwxrwxr-x 2 sam adm 0 10月 31 01:01 httpd.conf

用g r e p命令在所有的普通文件中搜索hostname这个词:

# find . -type f -print | xargs grep "hostname"
./httpd1.conf:# different IP addresses or hostnames and have them handled by the
./httpd1.conf:# VirtualHost: If you want to maintain multiple domains/hostnames
on your

用g r e p命令在当前目录下的所有普通文件中搜索hostnames这个词:

# find . -name * -type f -print | xargs grep "hostnames"
./httpd1.conf:# different IP addresses or hostnames and have them handled by the
./httpd1.conf:# VirtualHost: If you want to maintain multiple domains/hostnames
on your

注意,在上面的例子中, 用来取消find命令中的*在s h e l l中的特殊含义。
删除数量比较多的文件
ls | xargs -n 20 rm -fr
ls当然是输出所有的文件名(用空格分割)
xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数
也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了

分享到:
评论

相关推荐

    Linux文件查找命令find,xargs详述

    文章主要对Linux文件查找命令find和xargs进行详细描述,感性趣的朋友可以参考下。

    Linux常用命令_MbyW.xls

    "find / -name walter find /home -amin -10 十分钟内访问过的文件 find /home -atime -10 十天内访问过的文件 find /home -cmin -10 十分钟内修改过的文件 find /home -ctime +10 十天内被改过、新增的文件 find /...

    linux find命令之xargs简单概述

    find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。 在有些系统中,使用-exec选项会...

    linux shell find从入门到精通

    Linux Shell Find 从入门到精通 Find 命令是 Linux 中最强大的命令之一,用于搜索和处理文件。在本篇文章中,我们将从基础知识开始,深入浅出地介绍 Find 命令的使用方法和高级技巧。 一、通用查找 Find 命令的...

    Linux中find命令的用法入门

    Linux系统下的Find 命令具有很强大的搜索功能,可以遍历整个文件系统。所以 find 命令很耗资源,有时候甚至会耗费很长时间,因此建议把它放在后台执行。 Find 命令格式如下所示: find pathname -options [-print -...

    Linux 删除特殊字符文件名或目录的方法

    find ./ -size 0 -exec rm {} \; 删除当前目录下文件大小为零的文件(子目录不删除) find ./ -maxdepth 1 -empty -type f -print -delete #-maxdepth 指定目录层级 总结 以上所述是小编给大家介绍的Linux 删除

    dotfiles:Linux应用程序的配置

    点文件 linux应用程序的配置文件 先决条件 管理 stow --target " ${HOME} " --stow user ...find " ${HOME} /.config " -xtype l -exec rm {} + 检查shell脚本 find . -name \* .sh | xargs shellcheck

    线性规划的matlab代码-software_engineering:这是与深度学习相关的软件工程的仓库

    线性规划的matlab代码 software_engineering This is the repo ...in/xargs/find -exec 1.1.5 监测系统:w/bmon/iostat/iotop 1.1.6 misc:ln/export/实时设置变量/source/chmod/chown/#!/sshpass/

    linux日常运维练习题

    -name "*.txt" | xargs chmod 777`,或使用 `find` 命令和 `exec` 命令,例如 `find . -name "*.txt" -exec chmod 777 {} \;`。 27. 有一个脚本运行时间可能超过 2 天,如何做才能使其不间断的运行,贰仟还可以谁...

    Linux指令3-文件搜索(history,find,whereis,which,man)

    2.find:查找文件的命令。经常用。 -type:查找文件的类型 d: 目录 c: 字型装置文件 b: 区块装置文件 p: 具名贮列 f: 一般文件 l: 符号连结 s: socket -atime n : 在过去n天内被读取过的文件(类似还有很多,用到再说...

    Linux下正确快速删除海量文件的方法分享

    前言 注意本文说的“海量”并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。...find /path/to/directory -type f -exec rm {} \; 第二种: ls -1 /path/to/directory | xargs -I{} rm

    学号-姓名-实验5-文件系统基础2_1430862337.docx

    find /usr/bin –size +1000K -exec ls -l {} \; 2> /dev/null (3)对/etc/mail 目录下的所有文件使用 file 命令。 使用 find 命令和 file 命令在/etc/mail 目录下查找所有文件,并显示文件类型。 find /etc/...

    linux.chm文档

    find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 locate \*.ps 寻找以 '.ps' 结尾的文件 -...

    Linux下正确删除海量文件的姿势

    这里说的“海量”并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。  近在优化服务器时发现...  find /path/to/directory -type f -exec rm {} ;  第二种:  ls -1 /path/to/directory | xargs

    Linux Shell 文本处理工具解析.doc

    find 命令是 Linux 中最常用的文件查找命令。它可以根据文件名、大小、权限、时间等属性来查找文件。find 命令的基本语法是:find [路径] [选项] [参数]。 find 命令的常用选项包括: * -name:根据文件名查找 * -...

    UNIX shell 编程指南

    find 和 exec xargs 保证shell脚本执行唯一性 用一条命令处理分别改变文件和文件夹的权限 unix时间戳与系统时间相互转换 awk的学习 保护自己编写的shell程序 农行全国集中版代发工资shell程序 Shell程序设计的流程...

    Linux shell 编程

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 ...

    CentOS7.2.1511 gcc4.8.5 通过编译的 tfs2.2.16

    [root@2f60c4bcddfa tfs_release-2.2.16]# find -name Makefile | xargs sed -i 's/-Werror//' 问题 : In file included from session_util.cpp:1:0: session_util.h:30:43: 错误:‘int32_t’不是一个类型名 ...

    LINUX与UNIX SHELL编程指南

    第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间...

Global site tag (gtag.js) - Google Analytics