find命令

2018-2-27日整理完成

1,结合-exec的用法

查当前目录下的所有普通文件,并在 -exec 选项中使用ls -l命令将它们列出
# find . -type f -exec ls -l {} \;
-rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic
-rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README

在 /logs 目录中查找更改时间在5日以前的文件并删除它们:
$ find /logs -type f -mtime +5 -exec rm -f {} \;

查询当天修改过的文件
$ find . -mtime -1 -type f -exec ls -l {} \;

2,结合awk的用法:查询并交给awk去处理
 who | awk ’{print $1"\t"$2}’
cnscn pts/0

 df -k | awk ‘{print $1}’ | grep -v ’none’ | sed s"/\/dev\///g"
文件系统
sda2
sda1

3,多级查找

在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名

A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut -d’:' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print

4,查找文件后删除

find / -name filename -exec rm -rf {} \;

5,查找磁盘中大于3M的文件显示出来:
find . -size +3000k -exec ls -ld {} ;

6,将find出来的东西拷到另一个地方
find /etc/ -type f -size -1M -exec cp {} /tmp \; (注意:单位M必须是大写的)

如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir

7,查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name "*php"` | ls -l –full-time $A 2>/dev/null | grep "2004-11-30 16:36:37"

Linux-all, Linux | No Comments »

注意:之所以find . -name filename |rm -rf不通过,是因为rm命令不接受从标准输入传过来的指令
所以:只能是find . -name filename |xargs rm -rf

8,按名字查找

在当前目录及子目录中,查找大写字母开头的txt文件

[root@localhost ~]# find . -name '[A-Z]*.txt' -print (-print 是打印的意思,可省略,默认就具有 -print 的功能)

在/etc及其子目录中,查找host开头的文件
[root@localhost ~]# find /etc -name 'host*' -print

/etc/hosts
/etc/hosts.allow
/etc/host.conf
/etc/hosts.deny

在$HOME目录及其子目录中,查找所有文件
[root@localhost ~]# find ~ -name '*'

在当前目录及子目录中,查找不是out开头的txt文件
[root@localhost .code]# find . -name "out*" -prune -o -name "*.txt"

在当前目录及子目录中,查找属主具有读写执行,其他具有读执行权限的文件
[root@localhost ~]# find . -perm 755 -print

9,按类型查找
在当前目录及子目录下,查找符号链接文件 (-print可以省略)
find . -type l 
find . -type f -user chen

10,按属主及属组
查找属主是www的文件
 find / -type f -user www

查找属组mysql的文件
[root@localhost .code]# find / -type f -group mysql

11、按时间查找
查找2天内被更改过的文件

find . -type f -mtime -2

查找2天前被更改过的文件
 find . -type f -mtime +2

查找一天内被访问的文件
 find .  -type f -atime -1

查找一天前被访问的文件
 find . -atime +1 -type f

查找一天内状态被改变的文件
 find . -ctime -1 -type f

查找一天前状态被改变的文件
 find . -ctime +1 -type f

查找10分钟以前状态被改变的文件
 find . -cmin +10 -type f

查找比aa.txt新的文件
 find . -newer "aa.txt" -type f

查找比aa.txt旧的文件
 find . ! -newer "aa.txt" -type f

查找比aa.txt新,比bb.txt旧的文件
 find . -newer 'aa.txt' ! -newer 'bb.txt' -type f

查询大于1M的文件
 find / -size +1M -type f

查找等于6字节的文件
 find . -size 6c

查找小于32k的文件
 find . -size -32k

执行命令
查找del.txt并删除,删除前提示确认
 find . -name 'del.txt'  -exec rm -f {} \;

查找aa.txt 并备份为aa.txt.bak
 find . -name 'aa.txt' -exec cp {} {}.bak \;

查找aa.txt 归档压缩为aa.txt.tar.gz 并删除aa.txt
find . -name "aa.txt" -type f -exec tar -zcvf {}.tar.gz {} \; -exec rm -rf {} \; > /dev/null

find命令总结的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

随机推荐

  1. CodeForces - 551C 二分+贪心

    题意:有n个箱子形成的堆,现在有m个学生,每个学生每一秒可以有两种操作: 1: 向右移动一格 2: 移除当前位置的一个箱子 求移除所有箱子需要的最短时间.注意:所有学生可以同时行动. 思路:二分时间, ...

  2. 试着简单易懂记录synchronized this object Class的区别,模拟ConcurrentHashMap

    修饰静态方法默认获取当前class的锁,同步方法没有释放的锁,不影响class其他非同步方法的调用,也不影响不同锁的同步方法,更不影响使用class的其他属性. package thread.base ...

  3. 记Windows10下安装Docker的步骤

    本文主要是记录吾八哥本人在Windows10下安装Docker的过程,当然这些步骤也是在网上搜索查阅资料得知而来的!具体步骤如下: 一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭 ...

  4. [HNOI2014]道路堵塞

    题目描述 A国有N座城市,依次标为1到N.同时,在这N座城市间有M条单向道路,每条道路的长度是一个正整数.现在,A国交通部指定了一条从城市1到城市N的路径,并且保证这条路径的长度是所有从城市1到城市N ...

  5. LinkedHashMap概述

    1. LinkedHashMap概述: LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap. LinkedH ...

  6. Python基础学习参考(五):字符串和编码

     一.字符串 前面已经介绍过字符串,通过单引号或者双引号表示的一种数据类型.下面就再来进一步的细说一下字符串.字符串是不可变的,当你定义好以后就不能改变它了,可以进一步的说,字符串是一种特殊的元组,元 ...

  7. word自动备份,word误删内容恢复

    有个问题时长困扰着我,就是一次不小心把word里面的一部分内容误删了之后,又手残点击ctrl+s给保存了,要是立即ctrl+z还能撤销,可要是关闭了word才想起来撤销就来不及啦,现在终于找到解决的办 ...

  8. Android线上Bug热修复分析

    针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现.重复的实现会有造轮子之嫌,但分析解决方案在技术上的探索和衍变,这轮子还是值得去推动的 关于Hot Fix技术 Hot F ...

  9. R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...

  10. 如何获取Linux-gate.so.1动态库

    前面"Linux应用程序Helloworld入门"已经提到在Linux下每个可执行文件都依赖于几个最为基本的动态库,其中一个就是linux-gate.so.1. 从上面ldd给出的 ...