Linux命令之find命令
一、命令简介
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find 命令有非常大的灵活性,可以向其指定丰富的搜索条件(如文件权限、属主、属组、文件类型、日期和大小等)来定位系统中的文件和目录。此外,find 还支持对搜索到的结果进行多种类型的命令操作。
二、使用示例
1、查找指定文件
使用-name参数查找指定文件
[root@test1 apache-tomcat-9.0.44]# find . -name startup.sh
./bin/startup.sh
2、查找指定后缀文件
使用正则表达式通配符查找匹配的文件
[root@test1 apache-tomcat-9.0.44]# find . -name *.sh
./bin/catalina.sh
./bin/ciphers.sh
./bin/configtest.sh
./bin/daemon.sh
./bin/digest.sh
./bin/makebase.sh
./bin/setclasspath.sh
./bin/shutdown.sh
./bin/startup.sh
./bin/tool-wrapper.sh
./bin/version.sh
3、查找指定类型的文件
使用-type支持指定类型的文件
[root@test1 apache-tomcat-9.0.44]# find ./webapps/ -type d
./webapps/
./webapps/qiuhun
./webapps/qiuhun/renxi
4、查找最近修改过的文件
查找最近2天内有更新的文件
[root@test1 apache-tomcat-9.0.44]# find ./logs -mtime -2
./logs
./logs/catalina.out
./logs/catalina.2021-03-31.log
./logs/localhost.2021-03-31.log
./logs/manager.2021-03-31.log
./logs/host-manager.2021-03-31.log
./logs/localhost_access_log.2021-03-31.txt
5、查找指定目录深度下的文件
查找/var/log目录下最小深度为2的log文件
[root@test1 apache-tomcat-9.0.44]# find /var/log/ -mindepth 2 -name *.log
/var/log/audit/audit.log
/var/log/gdm/:0-greeter.log
/var/log/gdm/:0.log
/var/log/tuned/tuned.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
/var/log/anaconda/ifcfg.log
/var/log/anaconda/ks-script-oDrhPT.log
/var/log/anaconda/ks-script-ohL_89.log
/var/log/anaconda/journal.log
/var/log/vmware/rc.local.log
6、根据inode删除文件
首先通过ls -li查找inode
[root@test1 apache-tomcat-9.0.44]# ll -i
然后通过find -inum inode号 -delete指定文件,此方法对于删除上传到服务器后文件名乱码的文件非常有用
[root@test1 apache-tomcat-9.0.44]# find -inum 2663645 -delete
7、清除查找到的超过指定时间的日志文件
清除查找到的文件,删除前确认
[root@test1 apache-tomcat-9.0.44]# find ./logs/ -mtime +5 -ok rm {} ;
< rm … ./logs/catalina.2021-03-26.log > ? y
< rm … ./logs/localhost.2021-03-26.log > ? y
< rm … ./logs/manager.2021-03-26.log > ? y
< rm … ./logs/host-manager.2021-03-26.log > ? y
< rm … ./logs/localhost_access_log.2021-03-26.txt > ? y
8、查找当前目录下具有指定权限的文件并获取完整路径
使用perm参数查找指定权限的文件
[root@test1 apache-tomcat-9.0.44]# find /home/wuhs/apache-tomcat-9.0.44/bin -type f -perm 750 -exec ls -l {} \;
-rwxr-x— 1 wuhs wuhs 25294 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/catalina.sh
-rwxr-x— 1 wuhs wuhs 1997 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/ciphers.sh
-rwxr-x— 1 wuhs wuhs 1922 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/configtest.sh
-rwxr-x— 1 wuhs wuhs 9100 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/daemon.sh
-rwxr-x— 1 wuhs wuhs 1965 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/digest.sh
-rwxr-x— 1 wuhs wuhs 3382 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/makebase.sh
-rwxr-x— 1 wuhs wuhs 3708 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/setclasspath.sh
-rwxr-x— 1 wuhs wuhs 1902 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/shutdown.sh
-rwxr-x— 1 wuhs wuhs 1904 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/startup.sh
-rwxr-x— 1 wuhs wuhs 5540 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/tool-wrapper.sh
-rwxr-x— 1 wuhs wuhs 1908 Mar 5 05:52 /home/wuhs/apache-tomcat-9.0.44/bin/version.sh
9、查找指定用户的文件
查找webapps目录下属主为wuhs用户的文件
[root@test1 apache-tomcat-9.0.44]# find ./webapps/ -user wuhs -type f -print
./webapps/qiuhun/说明.txt
./webapps/qiuhun/qiuhun.html
./webapps/qiuhun/renxi.mp3
./webapps/qiuhun/qiuhun.html.bak
./webapps/qiuhun/WebForm1.aspx.cs
./webapps/qiuhun/WebForm1.aspx
./webapps/qiuhun/WebForm1.aspx.designer.cs
./webapps/qiuhun/renxi/jscex-async.min.js
./webapps/qiuhun/renxi/jscex-jit.js
./webapps/qiuhun/renxi/jscex-builderbase.min.js
./webapps/qiuhun/renxi/jscex.min.js
./webapps/qiuhun/renxi/default.css
./webapps/qiuhun/renxi/love.js
./webapps/qiuhun/renxi/functions.js
./webapps/qiuhun/renxi/jscex-parser.js
./webapps/qiuhun/renxi/jscex-async-powerpack.min.js
./webapps/qiuhun/renxi/jquery.min.js
./webapps/qiuhun/index.html
10、查找指定大小的文件
查找超过1M的文件
[root@test1 apache-tomcat-9.0.44]# find . -size +1M -type f
./lib/catalina.jar
./lib/ecj-4.18.jar
./webapps/qiuhun/renxi.mp3
三、使用语法及参数说明
1、使用语法
usage:find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path…] [expression]
用法:find [路径] [表达式选项] [行动]
2、常用表达式选项参数说明
选项 | 参数说明 |
---|---|
-mount, -xdev | 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 |
-amin n | 在过去 n 分钟内被读取过 |
-anewer file | 比文件 file 更晚被读取过的文件 |
-atime n | 在过去n天内被读取过的文件 |
-cmin n | 在过去 n 分钟内被修改过 |
-cnewer file | 比文件 file 更新的文件 |
-ctime n | 在过去n天内被修改过的文件 |
-empty | 空的文件-gid n or -group name |
-ipath p, -path p | 路径名称符合 p 的文件,ipath 会忽略大小写 |
-name name, -iname name | 文件名称符合 name 的文件。iname 会忽略大小写 |
-size n | 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。 |
-type b/d/c/p/l/f | 查是块设备、目录、字符设备、管道、符号链接、普通文件 |
-perm | 按执行权限来查找 |
-user username | 按文件属主来查找 |
-group groupname | 按组来查找 |
-depth | 指定查找目录深度 |
-follow | 如果遇到符号链接文件,就跟踪链接所指的文件 |
-prune | 忽略某个目录 |
-maxdepth | 指定查找目录最大深度 |
-mindepth | 指定查找目录最小深度 |
-version | 查看版本 |
-help | 获取帮助 |
3、常用行动参数说明
参数 | 参数说明 |
---|---|
-delete | 删除查找到的文件 |
-exec command | 对查找到的文件执行command命令 |
-ok command | 执行命令前需要进行确认 |
-printf | 格式化输出 |
4、多条件组合参数
参数 | 参数说明 |
---|---|
-o | 是或者的意思 |
-a | 是而且的意思 |
-not | 是相反的意思 |
Linux命令之find命令相关推荐
- Linux 运维常用命令 find、awk、sed、grep、vi、ps、lsof、rpm
先用一个脚本,模拟创建 14 个测试文件: #!/bin/bash for ((i=1;i<=10;i++)); do if [ $i -lt 3 ] thentouch /home/mysql ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶颈. ...
- linux查询重复数据库,Linux如何使用locate命令查找数据搜索数据库
通常在Linux查找数据库我们都使用find,那么除了find命令我们还可以用locate命令,可以在搜寻数据库时快速找到档案,具体怎么使用呢?下面小编就给大家详细介绍下locate命令的用法. Li ...
- linux 命令删除命令,Linux 命令之删除命令
在Linux下删除文件用rm命令,具体用法如下: rm [选项] 文件 选项说明: -f -force 忽略不存在的文件,强制删除,无任何提示 -i --interactive 进行交互式地删除 -r ...
- Linux下视频截取命令
比如你有一个视频,然后你对其中某一段感兴趣,你想把他截取下来,并且不希望画面变差,(当然你也不想花钱买视频编辑软件),可以在Linux下使用如下命令: ffmpeg -ss 00:00:05 -t 0 ...
- Linux常用20条命令
Linux常用20条命令 假装这里有个标题 1.cd 2.ls 3.grep 4.find 5.cp 6.mv 7.rm 8.ps 9.kill 10.kill all 11.file 12.tar ...
- VMware里的linux系统里的命令行里会有bee的声音,要如何关掉
VMware里的linux系统里的命令行里会有bee的声音,要如何关掉 取消bell报警声的方法:登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的# ...
- 执行远程linux命令,linux shell 远程执行命令
经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...
- 小猿圈Linux学习-Linux种搜索的命令
做Linux工程师的每天都不能少的工作就是搜索文件,这是他们的日常活动,很繁琐很枯燥,所以我们就需要知道一些搜索的命令,这些命令更高效更快捷,今天小猿圈就给大家分享4个可以搜索的Linux命令.. 方 ...
- linux文本处理常用命令
linux文本处理常用命令 linux文本处理命令:grep.sed.printf.awk 1.grep grep的作用是按行查找字符,输出包含字符的行. #从文件查询 grep 'hello' fi ...
最新文章
- Center OS 5.5 下安装 和 配置 Tomcat 7
- boost智能指针之shared_ptr,scoped_ptr,intrusive_ptr,weak_ptr源码简析
- Scikit-Learn 与 TensorFlow 机器学习实用指南学习笔记 4 —— 数据探索与可视化、发现规律
- 几何梯度分析神经网络中不可信预测性
- 04_ClickHouse表引擎概述、MergeTree系列引擎、Log系列引擎、集成引擎、特定功能的引擎(学习笔记)
- IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0 实际解决方案
- 五、线程管理————GCD
- (十)nodejs循序渐进-高性能游戏服务器框架pomelo之介绍和安装篇
- [转帖]jQuery框架学习第八天:ASP.NET jQuery实施方案
- Ubuntu下定时重启程序
- 大华监控摄像机接入到小程序、公众号、网站视频直播配置流程
- 网页设计中常用的20个Web安全字体
- 去年我国软件业收入4.3万亿元 同比增长16.6%
- 六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)
- Day20(lambda、stream、微服务、大数据、nginx)
- linux系统下多终端管理工具,terminator
- IDAE Keystore was tampered with报错解决
- 沙漠下新雨,树木爆翠绿,没有放弃与更新,就不成其智慧。我们不必时刻刷新微博和朋友圈,比起这些,刷新自我更加重要。我们并不需要生活在别处,不需要流于表面,我们需要时常更新生命。
- ms-sql数据类型和access数据类型大全
- Android百度地图(四):百度地图运动轨迹纠偏、去噪、绑路之百度鹰眼