[100]find&xargs命令
打算把基础命令常用选项做个总结.
find命令参数
- 命令格式
find . -type f -name '*.txt'
- 命令参数
find #查找文件
-type #指定类型
f 文件
d 目录
- mtime #按照文件的修改时间查找文件
- name #安装文件名称查找
! #取反(排除某个文件) find . -type f ! -name "*.txt"
-exec
find ...|args
find +exec/xargs的简单用途
- 移动1.md到/tmp下
方法1: exec方式
find . -type f -name '1.md' -exec mv {} /tmp/ \;
{} # 代表前面找出的文件
\; # 一些类unix需要转义
方法2: xargs(更简化点)
find . -type f -name '1.md'|xargs -i mv {} /tmp/
方法3:
mv `find . -type f -name '2.md'` /tmp/
find根据时间戳查找
find干掉超过4天的
mtime 4天内 4天外
方法1:
find . -mtime +4 -exec rm -rf {} \;
方法2:
find . -mtime +4|xargs rm -f
清理超过30天的邮件
mkdir -p /root/shell
cat /root/shell/spool_clean.sh
#!/bin/sh
find/var/spool/clientmqueue/-type f -mtime +30|xargs rm -f
- 添加定时任务
echo '*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1'>>/var/spool/cron/root
文件的(amc)atime,mtime,ctime区别
属性 | 解释 |
---|---|
文件的 Access time | atime 读取文件/执行文件 时更改的。如cat 1.log |
文件的 Modified time | mtime 写入文件时 随文件内容的更改而更改的。如echo 1 > alog |
文件的 Create time | ctime 写入文件/更改所有者/权限/链接 设置时随 Inode的内容更改而更改的。如ln -s if.sh if1.sh |
影响范围及区别 | atime >= ctime >= mtime |
[root@n1 test]# touch temp
[root@n1 test]# stat temp
File: ‘temp’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 1045213 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-03-02 09:06:10.943869915 +0800
Modify: 2018-03-02 09:06:10.943869915 +0800
Change: 2018-03-02 09:06:10.943869915 +0800
Birth: -
根据文件大小进行匹配
find . -type f -size 文件大小单元
文件大小单元:
b - 块(512字节)
c - 字节
w - 字(2字节)
k - 千字节
M - 兆字节
G - 吉字节
- 搜索大于10KB的文件
find . -type f -size +10k
- 搜索小于10KB的文件
find . -type f -size -10k
xargs
从标准输入(管道或stdin,输入输出重定向)获取数据,并将数据转换为命令行参数
- n 指定输出行数
-i/-I 使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,当-I与xargs结合使用,每一个参数命令都会被执行一次;(轮询)
find ... |args -i {}
$ cat test.txt
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
- 默认输出一行
$ cat test.txt | xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
- -n指定每行输出
$ cat test.txt | xargs -n3
a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z
[100]find&xargs命令的更多相关文章
- 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别(新版)
前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 "-exec" 尤其实用.而 "xargs" 命令,针对查询也有属于自己的见解.本文着重讲解 ...
- linux包之findutils之find和xargs命令
解释 [root@localhost ~]# rpm -qa|grep findfindutils-4.4.2-6.el6.x86_64 find 路径 测试 动作 三个步骤的处理过程查找一个或多个目 ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- xargs命令
xargs命令 常用工具命令 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令 ...
- linux下xargs命令用法详解 【转】
转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...
- linux下xargs命令用法详解
原文:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...
- 【转】linux中的cut/tr/join/split/xargs命令
1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...
- linux shell脚本学习xargs命令使用详解
作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处 ...
- 转 linux下xargs命令用法详解
xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...
随机推荐
- springMVC自定义方法属性解析器
使用场景例子: 用户登陆系统一般会往Session里放置一个VO对象,然后在controller里会来获取用户的userId等信息. 之前的写法是:@SessionAttributes配合@Model ...
- 【原创】kerberos无密码登录
通常在远程客户端上登录kerbros都需要密码,在学习hadoop的时候提到了ktutil这个工具,这里将使用方法贴出来. 用到的命令如下: 1.ktutil 2.add_entry -passwor ...
- Jenkins部署Web项目到远程tomcat(通过jenkins插件)
之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...
- 【TP3.2】TP3.2下实现ajax分页(原创+亲测可用)
一,写在最开始:ajax分页的原理,是利用了js的ajax执行请求,获取分页list和分页page [代码块],去替换页面显示数据的[代码块] 技术:js的ajax + TP3.2的fetch(&qu ...
- 【laravel5.*】添加ide_helper.php 助手
1.参照文档:https://github.com/barryvdh/laravel-ide-helper#automatic-phpdoc-generation-for-laravel-facade ...
- 利用Jquery和fullCalendar制作日程表
详情请参考以下代码 <!DOCTYPE html> <html> <head> <title>利用Jquery和fullCalendar制作日程表< ...
- ios中Pldatabase的用法(2)
@implementation AppGlobal static NSString* strHostName; static NSString* strVersion; static PLSqlite ...
- Linux-TCP之深入浅出send和recv
内容摘自:TCP之深入浅出send和recv.再次深入理解TCP网络编程中的send和recv 建议阅读时参考:Unix环境高级编程-TCP.UDP缓冲区 概念 先明确一个概念:每个TCP socke ...
- 事务的四个属性ACID
事务四大特征:原子性,一致性,隔离性和持久性. 1. 原子性(Atomicity) 一个原子事务要么完整执行,要么干脆不执行.这意味着,工作单元中的每项任务都必须正确执行.如果有任一任务执行失败,则整 ...
- linux shell 脚本攻略学习11--mkdir和touch命令详解
一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...