[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是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...
随机推荐
- python之模块datetime 常见操作
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块datetime #http://blog.sina.com.cn/s/blog_6c37 ...
- SSM框架中,配置数据库连接的问题
MySQL数据库版本是8.0.11. 要用驱动:com.mysql.cj.jdbc.Driver 最主要的是数据库的连接url. 搞了半天才把问题搞明白: 数据库url后面要加上参数: jdbc:my ...
- ELK + kafka 日志方案
概述 本文介绍使用ELK(elasticsearch.logstash.kibana) + kafka来搭建一个日志系统.主要演示使用spring aop进行日志收集,然后通过kafka将日志发送给l ...
- webservice(草稿)
1. 概述 WebService是一种跨编程语言和跨操作系统平台的远程调用技术. Webservice是被定义用来使不同应用之间通过网络传输数据的一种标准,此标准和具体的语言无关,至于哪种语言提供接 ...
- mysql--SQL编程(关于mysql中的日期,关于重叠) 学习笔记2.2
1.日期中的重叠问题建表sessions: CREATE TABLE `sessions` ( `id` ) NOT NULL AUTO_INCREMENT, `app` ) NOT NULL, `u ...
- Spring AOP之Introduction(@DeclareParents)简介
Spring的文档上对Introduction这个概念和相关的注解@DeclareParents作了如下介绍: Introductions (known as inter-type declarati ...
- Ubuntu14.04安装CMake3.5.1(转)
1.下载cmake-3.5.1.tar.gz:https://cmake.org/download/ 2.把 cmake-3.5.1.tar.gz放到任意临时目录(因为Cmake的安装路径默认在:/u ...
- git学习笔记(二)—— 创建版本库&&版本管理
一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty G ...
- kubelet源码分析(version: git tag 1.7.6)
一.概述 kubelet源码入口:cmd/kubelet/kubelet.go main() cmd/kubelet/app 包中的Run函数: 查看先参数,kubelet.KubeletDeps t ...
- ASP.NET 5 RC 2:UrlRouting 设置(不包含MVC6的UrlRouting设置)
0.Program.cs using System.IO; using Microsoft.AspNetCore.Hosting; namespace AspNetCoreUrlRoutingDemo ...
