Linux基础:find命令总结
本文只总结一些常用的用法,更详细的说明见
man find
和info find
。
find命令
find命令常用来查找文件或目录,可以根据给定的路径和表达式查找所需的文件或目录。该工具是由findutils
包提供的。
原理
find是从左向右的顺序处理多个expression,因此expression
的前后顺序不同会造成不同的搜索性能差距。
find的搜索机制是根据expression
返回的true/false
决定的,每搜索一次都会判断一次,只有评估的最终结果为true
才算是找到,并切入到下一个搜索点。
语法格式
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
- 默认path为当前路径,若服务器负载较高,尽量不要在高峰期使用find命令
- 默认actions是
-print
expression
expression分为三种:options、test、action。对于多个表达式,find是从左向右处理的,所以表达式的前后顺序不同会造成不同的搜索性能差距。
test
find解析完语法之后,开始搜索文件,在搜索过程中,检测到的文件都会被test expression
进行测试,符合条件的将被保留下来。
参数 | 说明 |
---|---|
-name | 按名称查找 |
-size | 按大小查找 |
-user | 按文件属主查找 |
-type | 按类型查找 |
-mtime | 按照文件的更改时间查找 |
-atime | 按照文件的访问时间查找 |
-perm | 按照文件权限查找 |
-regex | 按照正则表达查找 |
大多数情况下,
-name
足以解决许多问题,碰到复杂的情况,可以使用正则-regex
。
需要注意的是-regex
不是匹配文件名,而是匹配完整的文件名(包括路径)。
action
actions部分一般都是执行某些命令,或实现某些功能。
参数 | 说明 |
---|---|
-delete | 删除文件 |
-exec command ; | -exec 参数后面跟的是 command命令,它的终止是以“;”为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠 |
-ok command ; | 类似于-exec,但在执行命令前会交互式进行询问,如果不同意,则不执行命令并返回false,如果同意,则执行命令,但执行的命令是从/dev/null读取输入的 |
简单实例
使用-name
参数查看/etc
目录下面所有的.conf
结尾的配置文件:
find /etc -name '*.conf'
使用-size参数查看/etc
目录下面大于2M的文件:
find /etc -size +2M
搜索当前目录下七天内被访问过的所有文件:
find . -type f -atime -7
找出/var/log
下不是以.log
结尾的文件:
find /var/log/ -type f ! -name '*.log'
找出/opt/logs
下包含ab2019-05
并以.log
结尾的文件:
find /opt/logs/ -regex '.*ab.*2019-05.*.log'
查看当前目录所有文件的属性:
find . -type f -exec ls -l { } \;
找到/opt/logs
下7天以前的日志文件并删除它们:
# 方法一
find /opt/logs -name '*.log' -mtime +7 -exec rm -rf {} \;
# 方法二
find /opt/logs -name '*.log' -mtime +7 -delete
# 方法三
find /opt/logs -name '*.log' -mtime +7 -ok rm -rf {} \;
在生产环境人工执行命令时,尽量使用
-ok
方式删除文件。
Linux基础:find命令总结的更多相关文章
- Linux学习笔记(9)linux网络管理与配置之一——Linux基础网络命令与学习大纲(0)
大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS客户端 4.配置名称解析顺序 5.配置路由与默认网关 6.双网卡绑定 [1] ping [2]net ...
- Linux基础入门级命令文档
Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [root@node01 ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么 ...
- Linux基础-常用命令
常用的压缩命令 一.tar 1.压缩:tar zcvf [压缩包名].tar.gz [待压缩的文件名 ... ] 2.解压缩:tar zxvf [压缩包名].tar.gz -C [指定的解压目录] 3 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----命令执行顺序控制与管道
介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终 ...
- Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
1.创建用户和用户组 1)用户和用户组 /etc/passwd 保存系统用户的基本信息 /etc/group 保存用户组信息 用户名:x:UID:GID 2)基本命令 useradd 增加用户 gro ...
- Linux基础常用命令
Linux 下命令有很多,并且很多命令用法又有不同的选项,这里介绍一些常用的最基本的Linux命令的用法,希望给大家留下便利之处. 1.cd 切换目录.例如 cd /home 可切换到home目录, ...
- Linux基础之命令练习Day7-nginx,nfs
一. Nginx Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗 ...
- Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make
一. 硬盘分区.格式化及文件系统的管理 1. 在Linux系统中,一切皆文件.每个设备都被当作一个文件来对待. 常见的存储设备在Linux系统中的文件名如下表所示: 2. 对硬盘进行分区有以下优点: ...
- Linux基础之命令练习Day3-文件管理:cat,tar,gzip,vim,ln
一. 文件合并 cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [ ...
- Linux基础之命令练习Day1-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more,less,echo
开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 使用命令退出虚拟终端2上登录的用户 使用快捷键切 ...
随机推荐
- [转]十五天精通WCF——终结篇 那些你需要注意的坑
终于一路走来,到了本系列的最后一篇了,这一篇也没什么好说的,整体知识框架已经在前面的系列文章中讲完了,wcf的配置众多,如果 不加一些指定配置,你可能会遇到一些灾难性的后果,快来一睹为快吧. 一: 第 ...
- 查看OS 各项参数
查看CPU 在linux下 cat /proc/cpuinfo 可以得到CPU信息. 要注意的是CPU型号有不同的种类比如AMD Intel.可能在这个文件中显示的信息也不同.但终归是存在这个文件中的 ...
- CSUOJ 1329 一行盒子(数组模拟链表)
题目:id=1329">http://acm.csu.edu.cn/OnlineJudge/problem.php? id=1329 题意: watermark/2/text/aHR0 ...
- 【转】shell中的内建命令, 函数和外部命令
原文:http://www.cnblogs.com/xkfz007/archive/2011/10/13/2209571.html linux命令有内部命令和外部命令之分.内部命令实际上是shell程 ...
- 在Ubuntu 14.04 上安装 FTP 服务
1. sudo apt-get update 2. sudo apt-get install vsftpd 3. adduser sammy Assign a password when prompt ...
- @PropertySource&@ImportResource&@Bean
@**PropertySource**:加载指定的配置文件: ```java /** * 将配置文件中配置的每一个属性的值,映射到这个组件中 * @ConfigurationProperties:告诉 ...
- java调用c++ dll出现中文乱码
近期的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作. 在调用中假设路径中包括有中文字符就会出现故障.程序执行就会中止. 以下用一个小样例,来说明记 ...
- Choose the best route HDU杭电2680【dijkstra算法 || SPFA】
http://acm.hdu.edu.cn/showproblem.php?pid=2680 Problem Description One day , Kiki wants to visit one ...
- [NOIP 2016] 蚯蚓
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4721 [算法] 首先,我们可以维护一个堆,堆中存放蚯蚓的长度,由于除当前蚯蚓其他的蚯 ...
- 欧拉函数&&欧拉定理
定义和简单性质 欧拉函数在OI中是个非常重要的东西,不知道的话会吃大亏的. 欧拉函数用希腊字母φ表示,φ(N)表示N的欧拉函数. 对φ(N)的值,我们可以通俗地理解为小于N且与N互质的数的个数(包含1 ...