linux find 实例

使用选项:
find [路径] <表达式> [操作]

1、name选项,按名称查找
查找当前目录下的manage.py 文件:find . -name ‘manage.py’

2、atime/ctime/mtime选项,根据时间(24小时为单位)查找 
注:a表示access,c表示create,m表示modify
查找24小时之内创建的文件: find . -ctime -1
查找24小时之前创建的文件: find . -ctime 1
注:atime和mtime用法一致

3、amin/cmin/mmin选项,根据时间查找
查找10分钟之内创建的文件: find . -cmin -10
查找10分钟之前创建的文件: find . -cmin 10
注:amin和mmin用法一致

4、anewer/cnewer/mnewer,查找比某一文件新的文件
查找在hello.py之后访问过的文件:find . -anewer hello.py

5、user
查找属于某一用户的文件:find . -user the5fire

6、type
查找所有文件:find . -type f
查找所有目录包含demo的目录:find . -type d -name ‘*demo*’

7、exec,据说是很强大的参数
查找’setup.py’文件,然后打开: find . -name ‘setup.py’ -exec vim {} \;
另外一个最常用的,强制删除项目下面的所有.svn文件目录,find . -name ‘.svn’ -exec rm -rf {} \;

8、empty
显示所有的空白文件,并显示详细:find . -empty -ls #加ls完全画蛇添足,只是为了说明这个参数。

9、size
显示大小为10k的文件:find . -size 10k
显示所有大于10k的文件:find . -size +10k
显示所有小于10k的文件:find .-size -10k

10、or、and、not, 或、与、非查询
查找大于10k或者名称含有demo的文件:find . -size +10k -o -name ‘*demo*’
查找大于10k且小于100k的文件:find . -size +10k -a -size -100k
查找大于10k并且名称不含有demo的文件:find . -size +10k ! -name ‘*demo*’

11、perm,根据文件权限查找
注:如查找权限为600的文件:find . -perm 600,如果权限前面加“-”号,表示满足一位匹配即可,
如:find . -perm 007会匹配权限为007、077、777的文件

12、regex,用正则表达式查找
如: find . -regex ‘.*/[0-9]\w.*’(匹配以数字开头的文件)

13、-maxdepth,限制目录深度查找
查找一级目录下的所有py文件:find . -name ‘*.py’ -maxdepth 1

输入find -help之后还有很多,就不一一列了,这些应该能满足日常需求了。欢迎补充^_^

时间: 2024-10-19 02:58:54

linux find 实例的相关文章

linux iptables 实例1

柘扑图: shell脚本: 说明:内网可以正常上网,只能通过端口访问DMZ里的服务器 firewall服务器和DMZ里的器不能上网,但是可以指定访问外网某个IP 外网可以通过访问DNAT映射访问内网web和FTP服务器 指定某个IP进行管理iptables,不允许外网进行管理 服务器不能主动上外网 [[email protected] ~]# cat /opt/firewall.sh #!/bin/bash /sbin/modprobe nf_conntrack_ftp /sbin/modpro

Linux多线程实例练习 - pthread_cancel()

Linux多线程实例练习 - pthread_cancel 1.代码 xx_pthread_cancel.c #include <pthread.h> #include <stdio.h> #include <unistd.h> #define debug_Msg(fmt, arg...) do{ printf("%s %d : ", __FILE__, __LINE__); printf(fmt, ##arg); }while(0) #define

shell linux基本命令实例

1. 在当前目录下,查找20分钟内,被访问过的文件, 并将文件的详情显示出来: find ./ -name '*.log' -mmin -20 -exec ls -l {} \; 注释:其中{}将会被文件名替换,而;冒号用于表示命令结束.而;由于用于ls命令,而非find命令,所以需要escaped by \或者用单引号包起来. 2014年6月23日19:02:25 2.关于如何查看隐藏文件: ls -a 2014年6月24日09:39:02 3.grep正则表达式: 何为转义:将特殊符号当普通

linux编程实例--简单多进程服务器

主要利用fork事先创建若干个进程,并发处理多个客户端的连接,返回当前系统时间.具体代码如下: server.c # include <sys/types.h> # include <sys/socket.h> # include <netinet/in.h> # include <time.h> # include <string.h> # include <stdio.h> # include <signal.h> #

精简linux内核实例及相关扩展

一个完整的linux系统所需最小条件: /boot grub initrd.gz vmlinuz(kernel) ... /sysroot init linux常用目录 linux常用命令 ... 创建精简内核实例: 1.磁盘分区并挂载 #fdisk /dev/sdb /dev/sdb1 /dev/sdb2 #partprobe /dev/sdb #mke2fs -j /dev/sdb1 #mke2fs -j /dev/sdb2 #mkdir /mnt/{boot,sysroot} #mount

结合linux功能实例理解软中断、tastlet以及工作队列

本文基于Linux2.6.32内核版本. 软中断.tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的"下半部"(bottom half)演变而来.下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者. 介绍这三种下半部实现之前,有必要说一下上半部与下半部的区别. 上半部指的是中断处理程序,下半部则指的是一些虽然与中断有相关性但是可以延后执行的任务.举个例子:在网络传输中,网卡接收到数据包这个事件不一定需要马

使用busybox创建精简linux内核实例

busybox 一个二进制程序,模拟实现众多程序. /bin/busybox 查看本机硬件设备信息: #cat /proc/cpuinfo #cat /proc/meminfo #lsusb 显示usb接口信息. #lspci 显示pci总线上的所有设备. #hal-device 显示所有硬件的详细信息. hardware abstract layer 硬件抽象层. 编译busybox: #tar xf busybox.tar.bz2 #cd busybox #make menuconfig B

Linux汇编实例讲解(一)

我们使用的平台是Linux系统,具体为CentOS-64位版.下面是第一个汇编程序的源码: # 目的:退出Linux内核并返回一个简单的状态码 # # 输入:无 # # 输出:控制台上没有输出,可以用echo $?来查看状态码 # # 变量: # %eax 保存系统调用号 # %ebx 保存返回状态 # .section .data .section .text .globl _start _start: movl $1, %eax #这是用于退出程序的Linux内核命令号(系统调用) movl

Linux crond实例

linux系统的定时任务: 1:linux系统自身定期执行的任务工作:系统周期性执行的任务工作,如轮询系统日志,备份系统数据,清理系统缓存等. [[email protected] ~]# ll /var/log/messages* -rw-------. 1 root root 958906 Sep 20 08:30 /var/log/messages 2:用户执行的任务工作:某个用户或系统管理员定期要做的任务工作,例如:每天晚上0点备份站点数据及数据库数据. [[email protecte

linux 策略路由实例解析

1.前言 公司的服务器为了避免单点故障采用了双ISP接入.即联通和电信都接入.联通的线路为100M,作为首选,电信的线路为30M,当联通线路出现故障的时候,先切换到电信线路救急. 但是因为电信的线路闲着就是浪费,结合业务的需求下,在一台主服务器中同时配置了电信的公网ip和一个私网ip,这个私网ip映射的是联通的公网ip. 那么问题就出现了,路由怎么配置,当有数据需要传输的时候,他会选择哪个线路出去,如果你配上两个网关的话会出现问题吗?很显然linux没有那么智能.这个时候策略路由就闪耀登场了.