Linux下的find查找命令
Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容)、find(在磁盘上查找文件)、grep(使用正则表达式搜索文本),其中查找文件的有locate(只能对文件进行模糊匹配)和find(在不指定查找目录的情况下对整个系统进行遍历查找),find使用的更多一些。因此我跟人总结了一下find命令的用法。
每一种操作系统都有成千上万的文件组成,对于Linux操作系统来说更是不例外。我们都已经很熟悉了在Windows下查找文件了,但可能对于Linux下查找文件的功能并不是很熟悉。但是只要牢牢掌握find命令,那么查找文件将不再是问题。
find的使用格式:find pathname -options [-pringt -exec -ok.....]
其中pathname表示find命令所查找的目录路径。例如用.表示当前路径,/表示系统根目录
方括号里面的是查找完执行的action:
1.-print表示find命令将匹配的文件输出到标准输出,
2.-exec表示find命令对匹配的文件执行该参数给出的shell命令。相应的命令格式为‘command’ { } \;注意{}和\之间的空格。
例如:#find /tmp -atime +30 -exec rm -rf {} \; //删除查找到的超过30天没有访问过得文件
3.-ok和-exec的作用相同,只不过以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出一个提示,让用户来确定是否执行。
命令选项(-option)
1.-name 按照文件名查找文件。
2.-perm 按照文件权限来查找
例如:#find /tmp -prem 755 //查找在/tmp目录下权限是755的文件
#find /tmp -prem +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行了
#find /tmp -prem -222 //表示必须所有类别用户都满足写权限
3.-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
4.-user 按照文件的属主来查找文件。
5.-group 按照文件所属的组来查找文件。
6.-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改的时间距现在n天以前。find命令还有-atime,-ctime(这里atime,mtime,ctime分别对应的是“最近一次访问的时间”,“最近一次内容修改的时间”和“最近一次属性修改的时间”,这里atime的单位是天)
例如:#find /tmp -atime +5 //表示查找在五天内没有访问过得文件
#find /tmp -atime -5 //表示查找在五天内访问过得文件
7.-nogroup 查找无有效所属组的文件,即该文件所属组在/etc/group中不存在。
8.-nouser 查找无有效属组的文件,即该文件在/etc/paawd中不存在。
9.-newer file1 !file2 查找比file1新但是比file2旧的文件。
10.-type 查找某一类型的文件例如
b - 块设备文件
d -目录
c -字符设备文件
p - 管道文件
l - 符号链接文件
f - 普通文件
11. -size n:[c] 查找文件长度为n快的文件,有时带有c时表示文件长度以字节记
例如:#find /tmp -size 2M //查找在/tmp目录下等于2M的文件
#find /tmp -size +2M //查找在/tmp目录下大于2M的文件
#find /tmp -size -2M //查找在/tmp目录下小于2M的文件
12. -depth:查找文件时,首先查找当前目录中的文件,然后再其中子目录中查找。
-a and -o and -not的使用:
-a链接两个不同的条件(两个条件必须同时满足)
例如:#find /tmp -name "*.sh" -a -user root //查找文件名为*.sh并且用户是root的文件
-o链接两个不同的条件(两个条件满足其一即可)
例如:#find /tmp -name "*.sh" -a -user root
-not对条件取反的
例如:#find /tmp -not -user root //查找用户不是根目录下的文件
Linux下的find查找命令的更多相关文章
- Linux下的搜索查找命令的详解(find)
4.find Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项 ...
- Linux下强大的查找命令find 用法和常见用例
Linux系统下find是较为常用的指令,find命令在目录结构中搜索文件,并执行指定的操作,掌握它的形式与用法对我们很有用处. 因为Linux下面一切皆文件,经常需要搜索某些文件来编写,所以对于Li ...
- Linux下的文件查找命令——find
Linux下几个常见的文件查找命令: which 查看可执行文件的位置 whereis 寻找特定文件,查看文件的位置 locate 配合数据库查看文件位置 find ...
- linux下五种查找命令
我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...
- Linux下4个查找命令which、whereis、locate、find的总结
(1)which [-a] cmdname1 cmdname2 ...... 作用:locate a command,从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径 ...
- Linux下的搜索查找命令的详解(whereis)
2.whereis 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据 ...
- Linux下的搜索查找命令的详解(locate)
3.locate locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中 ...
- Linux下的搜索查找命令的详解(which)
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件 ...
- 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH
谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ...
随机推荐
- Centos7安装jekyll
1.首先需要安装相应的依赖包及所需要的工具 sudo yum install nodejs npm ruby ruby-devel rubygems git 2.修改gem源 国内 使用的淘宝的更新源 ...
- cdoj32-树上战争(Battle on the tree) 【记忆化搜索】
http://acm.uestc.edu.cn/#/problem/show/32 树上战争(Battle on the tree) Time Limit: 12000/4000MS (Java/Ot ...
- 小程序开发运营必看:微信小程序平台运营规范
一.原则及相关说明 微信最核心的价值,就是连接——提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. 微信团队一 ...
- eclipse+hbase开发环境部署
一.前言 1. 前提 因为hbase的运行模式是伪分布式,需要用到hdfs,所以在此之前,我已经完成了hadoop-eclipse的开发环境搭建,详细看另一篇文章:hadoop开发环境部署——通过ec ...
- Python监控日志程序-乾颐堂
一个简易的日志监控的脚本,功能如下:1.windows环境2.当匹配日志关键字时会发出声音,匹配的关键字不同,播放的声音不同3.能做到实时响应 注意:是在win环境下哦 直接上代码吧 1 2 3 4 ...
- 修改字段类型modify
alter table 表名 modify column 字段名 类型;
- 【转】Comprehensive learning path – Data Science in Python
Journey from a Python noob to a Kaggler on Python So, you want to become a data scientist or may be ...
- Spring.net方法的替换
.为什么有时候你再执行某个方法的时候比如某个操作 a.权限验证 b.任务执行 当我执行到这个方法的时候,我可以先验证权限,如果验证不通过则替换到另一个方法去执行 public class MyValu ...
- easyui 获取当前页签选中的名称
parent.parent.$("#tabs").tabs('getSelected').panel('options').title == "收藏夹管理"
- HBase表的memstore与集群memstore
一直有一个问题,今天调查了一下源码算是明白了. ===问题=== 通过java api(如下代码所示)在创建表的时候,可以通过setMemStoreFlushSize函数来指定memstore的大小, ...