(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的更多相关文章

  1. Linux 利用 locate 和 find 查找文件

    Linux 利用 locate 和 find 查找文件 命令 locate 用于快速查找文件.文件夹.此命令并没有在磁盘上查找所有文件,而是在预先建立的数据库里进行搜索.可以使用 updatedb 命 ...

  2. locate 最快的查找文件的命令 NB

    我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...

  3. Linux下查找文件:which、whereis、locate、find 命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which       查看可执行文件的位置,通过环境变量查whereis    查看文件的位置,通过数据库查,每 ...

  4. Linux下相关查找文件命令(find locate which whereis type)

    以下内容摘自:http://blog.csdn.net/jessica1201/article/details/8139249 标注的内容为自己的补充: 我们经常需要在系统中查找一个文件,那么在lin ...

  5. Linux下which、whereis、locate、find 命令查找文件

     转自:http://blog.csdn.net/gh320/article/details/17411743 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索 ...

  6. linux文件查找-find和locate

    一.find 使用语法:find  [查找目录]  [查找规则]  [查找完后执行的action] find是根据具体目录进行搜索 1.查找目录 如果不指定查找目录,默认在当前目录下进行查找 如果需要 ...

  7. Linux 查找文件命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  8. Linux上的文件查找工具之locate与find

    前言 Linux上提供了两款工具用于查找文件,一款是locate,另一款是find. locate的特点是根据已生成的数据库查找,速度较快,但是查找的是快照数据,不准确. 因此在日常使用中,为了准确性 ...

  9. linux文件名称查找which,whereis,locate

    1. 文件名称查找 使用find查询时.因为磁盘查询.所以速度较慢. 所以linux下查询更常使用which, whereis, locate来查询,因为是利用数据库查询.所以速度非常快. 2. wh ...

随机推荐

  1. bzoj 1122 [POI2008]账本BBB 模拟贪心,单调队列

    [POI2008]账本BBB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 524  Solved: 251[Submit][Status][Disc ...

  2. 寻找最大连续子序列/Find the max contiguous subsequence

    寻找最大连续子序列 给定一个实数序列X1,X2,...Xn(不需要是正数),寻找一个(连续的)子序列Xi,Xi+1,...Xj,使得其数值之和在所有的连续子序列数值之和中为最大. 一般称这个子序列为最 ...

  3. 二叉树系列 - 二叉树里的最长路径 例 [LeetCode] Binary Tree Maximum Path Sum

    题目: Binary Tree Maximum Path Sum Given a binary tree, find the maximum path sum. The path may start ...

  4. css 常用苹方字体

    // 苹方-简 常规体 font-family: PingFangSC-Regular, sans-serif; // 苹方-简 极细体 font-family: PingFangSC-Ultrali ...

  5. 使用TSQL语句操作MySQL数据库

    使用TSQL语句创建数据库 以前用的是鼠标在界面上手动创建,这样创建会比较麻烦,而且还会经常出问题.在其它电脑上要用的话还需要重复操作.所以要使用程序代码操作,能通过代码的就不用手动操作. 在数据库界 ...

  6. 【洛谷 P1129】 [ZJOI2007]矩阵游戏 (二分图匹配)

    题目链接 看到题目肯定首先会想到搜索. 然鹅数据范围\(n<=200\)这么大(其实也不算太大),肯定是不行的. 如果\((i,j)\)是\(1\),从\(i\)向\(j\)连一条边,表示第\( ...

  7. java 连接数据库报错:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '

    1.解决方法: 报错信息为: Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server ti ...

  8. 什么是AMD规范

    AMD规范全称是Asynchronous Module Definition,即异步模块加载机制.从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制. ...

  9. delphi按钮文字换行

    delphi按钮有TButton和TBitButton,而TButton不支持换行,TBitButton支持 拖拽TBitButton按钮以后,按alt+F12进入找到TBitButton的capti ...

  10. Linux-进程间通信(五): 网络套接字

    不想说话,坑太深:持续学习网络编程中...