查找文件which locate find
(1)which:查找命令文件路径
which ls //命令的路径查找是根据PATH环境变量
whereis ls
echo $PATH //打印PATH环境变量
(2)locate:查找任意文件
locate查找文件是查询数据库:/var/lib/mlocate/mlocate.db
计划任务:每天自动更新数据库,/etc/cron.daily/mlocate.cron
手工更新数据库:updatedb
安装:yum provides locate //查找locate命令是哪个rpm包提供的
yum install mlocate-0.26-8.el7.x86_64 -y
locate ifcfg-eth0
(3)find:查找任意文件,牛逼工具
语法:find [options] [path...] [expression] [action]
1)根据文件名查找
find /etc -name "ifcfg-ens33" // etc目录下查找文件ifcfg-ens33
find /etc ! -name "ifcfg-ens33" //取反,etc目录下查找文件不是ifcfg-ens33的文件,
find /etc -iname "ifcfg-ens33" //-i:忽略大小写
find /etc -iname "ifcfg-ens*" //使用通配符,*任意字符
2)根据文件大写查找
find /etc/ -size +5M //etc目录下查找大于5M的文件
find /etc/ -size 5M //etc目录下查找等于5M的文件
find /etc/ -size -5M //etc目录下查找小于5M的文件
find /etc/ -size +5M -ls //etc目录下查找大于5M的文件,-ls是找到后的处理动作,不是ls命令
3)指定查找的目录深度
-maxdepth levels
-mindepth levels
find / -maxdepth 4 -a -name "ifcfg-*" //目录深度4级下查找ifcfg-开头的文件,-a表示与,
4)按时间查找(atime,ctime,mtime)
find /etc -mtime +5 //修改时间超过5天
find /etc -mtime -5 //修改时间等于5天
find /etc -mtime -5 //修改时间5天以内
5)按文件属主丶属组查找
find /home -user jack //属主是jack的文件
find /home -group hr //用户组是hr的文件
find /home -user jack -group hr
find /home -user jack -a -group hr
find /home -user jack -o -group hr
find /home -nouser //文件没有属主
find /home -nogroup //文件没有用户组
find /home -nouser -o nogroup
6)文件类型
find /dev -type f //普通文件
find /dev -type d //目录文件
find /dev -type l //链接
find /dev -type b //块设备
find /dev -type c //字符设备
find /dev -type s //套接字文件
find /dev -type p //管道文件
7)按文件权限
find . -perm 644 -ls //权限精确匹配
find . -perm -600 -ls //属主只要有读权限就行
find . -perm -222 -ls //ugo只要有w权限
find /usr/bin /usr/sbin -perm -4000 -ls //suid权限
find /usr/bin /usr/sbin -perm -2000 -ls //sgid权限
find /usr/bin /usr/sbin -perm -1000 -ls //sticky权限
-表示模糊匹配
8)找到后的动作:默认动作是-print
-print
-ls
-delete
-exec //后面跟自定义的shell命令
-ok //后面跟自定义的shell命令
find /etc -name "ifcfg*" -print //打印文件名
find /etc -name "ifcfg*" -ls //相当于ls -l
find /etc -name "ifcfg*" -exec cp -rf {} /tmp \;
find /etc -name "ifcfg*" -ok cp -rf {} /tmp \;
find /etc -name "ifcfg*" -exec rm -rf {} \;
find /etc -name "ifcfg*" -delte
find /etc -name "ifcfg*" | xargs rm -rf
9)find与xargs结合
find /etc -name "ifcfg*" | xargs -I {} cp -rf {} /var/tmp //复制文件
find /etc -name "ifcfg*" | xargs rm -rf //删除文件
10)find高级用法
mkdir dir1
touch dir1/file{1..10}
find dir1/ ! -name "file1" //取反
find dir1/ -name "file1" -o -name "file5" -ls //只能显示1个文件
find dir1/ \( -name "file1" -o -name "file5" \) -ls //同时显示两个文件
find dir1/ \( -name "file1" -o -name "file5" \) | xargs rm -rf
查找文件which locate find的更多相关文章
- Linux 利用 locate 和 find 查找文件
Linux 利用 locate 和 find 查找文件 命令 locate 用于快速查找文件.文件夹.此命令并没有在磁盘上查找所有文件,而是在预先建立的数据库里进行搜索.可以使用 updatedb 命 ...
- locate 最快的查找文件的命令 NB
我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...
- Linux下查找文件:which、whereis、locate、find 命令的区别
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which 查看可执行文件的位置,通过环境变量查whereis 查看文件的位置,通过数据库查,每 ...
- Linux下相关查找文件命令(find locate which whereis type)
以下内容摘自:http://blog.csdn.net/jessica1201/article/details/8139249 标注的内容为自己的补充: 我们经常需要在系统中查找一个文件,那么在lin ...
- Linux下which、whereis、locate、find 命令查找文件
转自:http://blog.csdn.net/gh320/article/details/17411743 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索 ...
- linux文件查找-find和locate
一.find 使用语法:find [查找目录] [查找规则] [查找完后执行的action] find是根据具体目录进行搜索 1.查找目录 如果不指定查找目录,默认在当前目录下进行查找 如果需要 ...
- Linux 查找文件命令 find whereis locate
Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...
- Linux上的文件查找工具之locate与find
前言 Linux上提供了两款工具用于查找文件,一款是locate,另一款是find. locate的特点是根据已生成的数据库查找,速度较快,但是查找的是快照数据,不准确. 因此在日常使用中,为了准确性 ...
- linux文件名称查找which,whereis,locate
1. 文件名称查找 使用find查询时.因为磁盘查询.所以速度较慢. 所以linux下查询更常使用which, whereis, locate来查询,因为是利用数据库查询.所以速度非常快. 2. wh ...
随机推荐
- 单例 ------ JAVA实现
单例:只能实例化一个对象,使用场景比如打印机. 最推荐的是采用饿汉式:双重校验锁用到了大量的语法,不能保证这些语法在所用场合一定没问题,所以不是很推荐:总之简单的才是最好的,就饿汉式!!! C++ 创 ...
- ExecuteNonQuery,ExecuteReader,ExecuteScalar 区别
ExecuteNonQuery方法 :执行非查询SQL操作,包括增insert.删delete.改update ExcuteReader方法 :执行查询,返回DataReader,通过DataRead ...
- 解决nginx在记录post数据时 中文字符转成16进制的问题【转载】
1. 问题描述 nginx 在获取post数据时候,如果是中文,则转换成16进制显示在日志文件中,如下图所示. Paste_Image.png 日志格式为: log_format postdata ...
- 【BZOJ4516】【SDOI2016】生成魔咒 [SAM]
生成魔咒 Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 魔咒串由许多魔咒字符组成,魔咒字符 ...
- 【洛谷 P4568】 [JLOI2011]飞行路线 (分层最短路)
题目链接 分层图最短路. 把每个点拆成\(k+1\)个点,表示总共有\(k+1\)层. 然后每层正常连边, 若\((u,v)\)有边,则把每一层的\(u\)和下一层的\(v\).每一层的\(v\)和下 ...
- 关于SQL注入的五大报错注入函数
~全部都以查user()为例子~ 1.floor()id = 1 and (select 1 from (select count(*),concat(version(),floor(rand(0) ...
- mybatis 插入语句name no find
1.可参考连接:https://www.cnblogs.com/thomas12112406/p/6217211.html 2.dao层的配置 void addUser(@Param("un ...
- fileinput 小计(显示历史上传图片)
今天又需要,要求在选中某条记录后显示历史上传图片 上传控件是fileinput.js 想法:界面有上传图片的控件,重新加载控件,并加入历史上传图片地址 实现代码: var filepathArray ...
- st2-045漏洞利用poc
use LWP::UserAgent; undef $/; ){print "Use:poc.pl http://target/index.action\n";exit;} my ...
- Linux进程的创建函数fork()及其fork内核实现解析
进程的创建之fork() Linux系统下,进程可以调用fork函数来创建新的进程.调用进程为父进程,被创建的进程为子进程. fork函数的接口定义如下: #include <unistd.h& ...