xargs

linux crontab 定时任务 解压文件 流程 详解

别说谁变了你拦得住时间么 提交于 2020-02-27 00:15:26
注:此环境基于centOS7 第一步:查看crontab是否开启 service crond status 确保处于启动状态 第二步:创建tar包备份文件夹 mkdir /root/aa/backuptar 第三步:编写shell脚本 vim /root/aa/dealtar.sh 内容为: #!/bin/sh cd /root/aa find /root/aa -maxdepth 1 -type f -name "*.tar"|xargs -i sh -c 'tar vxf {} && mv {} /root/aa/backuptar && rm -rf {}' && echo $(date) success! >> /root/aa/tar.log 保存即可 脚本内容解释: find 要查找的文件目录 -maxdepth 1 就是只查找/root/aa当前目录的,如果aa下还有文件夹,则忽略,如果值为2的话,就往下查两级(假如/root/aa/bb,aa目录下和bb目录下符合要求的都会查出来)-type f 代表类型是文件 -name "*.tar" 代表名称以点tar结尾 | 竖线为管道符 xargs(xargs命令是给其他命令传递参数的一个过滤器) -i(默认替换字符为{}) sh -c 批量执行命令(把字符串当成命令执行)tar vxf {}

xargs标准输出作为参数 给命令 echo file{1..10}| xargs touch

此生再无相见时 提交于 2020-02-26 00:11:42
xargs标准输出作为参数 给命令 echo file{1..10}| xargs touch file1 ...file10 作为文件名 被xargs 一个一个传给 touch echo {1..10} |xargs -n 2 echo 配置 1 2 之后就换行 [07:29:04 root@localhost /]$echo {1..10} | xargs -n 2 echo 1 2 3 4 5 6 7 8 9 10 [07:30:11 root@localhost /]$echo {1..10} | xargs -n 1 echo --加 "-n" 制定几个数值作为参数 这里执行 一个数字为 参数 1 2 3 4 5 6 7 8 9 10 [07:30:29 root@localhost /]$ [07:38:38 root@localhost /]$ll /home total 4 drwx------. 3 test test 78 Feb 17 01:05 test drwx------. 3 zhong1 zhong1 78 Feb 17 07:35 zhong1 drwx------. 3 zhong10 zhong10 78 Feb 17 07:35 zhong10 drwx------. 3 zhong2 zhong2 78 Feb 17 07:35

文本处理工具find查找与xargs传递uniq去重与sort排序

谁说胖子不能爱 提交于 2020-02-26 00:03:40
find命令 Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 参数说明 : find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。 expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。 -type 按照文件类型去查找 b:块设备文件; c:字符设备文件; d:目录文件; p: 命名管道; f: 普通文件; l: 符号链接文件; -exec 相当于shell执行命令比如rm,mkdir,touch,等 -mtime 修改时间之前的文件,比如3天之前的,一般用于日志清理进行匹配 -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件 -atime n : 在过去n天内被读取过的文件 -cmin n :

[转帖]xargs 命令教程

谁都会走 提交于 2020-02-21 08:10:58
xargs 命令教程 https://blog.csdn.net/Ki8Qzvka6Gz4n450m/article/details/103900639 xargs是 Unix 系统的一个很有用的命令,但是常常被忽视,很多人不了解它的用法。 本文介绍如何使用这个命令。 一、标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数。 $ cat /etc/passwd | grep root 上面的代码使用了管道命令(|)。管道命令的作用,是将左侧命令(cat /etc/passwd)的标准输出转换为标准输入,提供给右侧命令(grep root)作为参数。 因为grep命令可以接受标准输入作为参数,所以上面的代码等同于下面的代码。 $ grep root /etc/passwd 但是,大多数命令都不接受标准输入作为参数,只能直接在命令行输入参数,这导致无法用管道命令传递参数。举例来说,echo命令就不接受管道传参。 $ echo "hello world" | echo 上面的代码不会有输出。因为管道右侧的echo不接受管道传来的标准输入作为参数。 二、xargs 命令的作用 xargs命令的作用,是将标准输入转为命令行参数。 $ echo "hello world" | xargs echo hello world

Linux 搜索命令

六月ゝ 毕业季﹏ 提交于 2020-02-16 13:14:37
Linux 常用的搜索命令: 1.find:在目录或结构中查找文件 格式: find [dir] [expression] 例如:find / -name "y2k * " -print 2.grep: 差找文件内容 格式:grep [option] pattern file 例如:a. grep test * 在当前目录中查找 含有字符串 test 文件的行 b. #find dir -name "file-patten" | xargs grep "patten" 在某个文件夹内的特定类型的文件中查找特定字符串 #find /usr/src/linux "*.[ch]" | xargs grep "include" 在/usr/src/linux文件夹内的所有.c和.h文件中查找字符串include 另:xargs: 在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样

shell常用命令(2)

非 Y 不嫁゛ 提交于 2020-02-15 02:21:33
shell常用命令(2) tr命令 translate的缩写,意思是转化转变的意思 选项说明: -c, -C, –complement 用集合1中的字符串替换,要求字符集为ASCII。 -d, –delete 删除集合1中的字符而不是转换 -s, –squeeze-repeats 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。 -t, –truncate-set1 先删除第一字符集较第二字符集多出的字符 xargs命令 xargs命令是给其他命令传递参数的一个过滤器。xargs用作替换工具,读取输入数据重新格式化后输出。 xargs命令常见用法 Usage: xargs [OPTION]… COMMAND INITIAL-ARGS -n:多行输出 -d:delim, --delimiter=delim 自定义输入条目分隔符 来源: CSDN 作者: 安然。。 链接: https://blog.csdn.net/weixin_44791884/article/details/104309885

find命令与xargs

白昼怎懂夜的黑 提交于 2020-02-10 08:24:59
一:find查找文件,xargs把find查找到的结果当做输入进行下一步的具体操作 #另外find可以可exec结合执行命令,但是exec是要等find命令执行完成之后才对find执行完成的结果进行 操作,然而很不幸的是当文件太多的时候会出现文件队列过长的提示,这是应为linux有个临时内存地址只保存128K的数据,我们有个服务器目录中有数万的文件,要对其进行分类,使用exec就不行,因此就到了xargs大显身手的时候了: 1.1:常用参数: 1.1.1:-0,当sdtin含有特殊字元时候,将其当成一般字符,例如: [root@saltminion ~]# echo "%" | xargs -0 echo > 1 [root@saltminion ~]# cat 1 % 1.1.2:-a file 从文件中读入作为sdtin # xargs -a /etc/passwd echo > 1 # cat 1 1.1.3:-e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止 [root@saltminion ~]# cat 1.txt find a test file! [root@saltminion ~]# cat 1.txt | xargs -E "test" echo find a 1.1.4:-p

06: linux中find查找命令总结

谁说我不能喝 提交于 2020-02-08 05:04:53
1、在当前目录下查找以txt结尾的文件   find . -name "*.txt" 2、在当前目录下查找所有以字母开头的文件   find . -name "[a-z]*" 3、在/etc目录下查找以host开头的文件   find /etc -name "host*" 4、在当前目录下查找权限为755的文件   find . -perm 755 -type f 5、在/var 下找更改时间在5天以内的文件   find /var -mtime -5 6、在/var下查找更改时间在三天前的文件   find /var -mtime +3 7、在/etc下查找文件类型为d(目录)   find /etc -type d 8、在当前目录下查找文件大于1M的文件 (1M是1000000个字节)   find . -size +1000000c 9、xargs: 将find查找到的内容作为后面命令的参数   1)找出当前目录下权限为755的文件并把权限改为 777     find . -perm 755 | xargs chmod 777   2)找出文件并查看详细信息     find . -type f |xargs ls -l 来源: https://www.cnblogs.com/xiaonq/p/8479130.html

文件查找 locate 和 find

安稳与你 提交于 2020-02-08 03:28:20
locate locate命令依赖于一个数据库文件,系统默认每天会检索一次系统中的所有文件,然后将检索到的文件记录到数据库中; 在执行查找时,可直接到数据库中查找记录,所以locate比find反馈更为迅速; 在使用locate命令查找之前一般需要手动执行updatedb命令更新数据库; locate的定时任务定义在 /etc/cron.daily/mlocate 文件中。 数据库文件为 /var/lib/mlocate/mlocate.db 手动更新数据库的命令为 updatedb locate查找速度快,并且是模糊查找。 常用选项: -i, --ignore-case: Ignore case distinctions when matching patterns. 忽略大小写。 --regex: Interpret all PATTERNs as extended regexps. 支持扩展正则。 find 语法: find + 查找路径(默认为当前目录) + 查找条件 + 处理动作(默认为输出到标准输出) 1、根据文件名查找 -name [pattern] -iname [pattern]: Like -name, but the match is case insensitive. 2、根据文件类型查找 -type 支持的文件类型: f: regular file