• 查找文件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
    
  • 相关阅读:
    MYSQL学习笔记
    javascript30--day01--Drum kit
    jQuery--dataTable 前端分页与后端分页 及遇到的问题
    hexo博客
    js—数组那些事儿
    累死青蛙系列——青蛙跳台阶问题
    js—求数组中的最大最小值
    前端html,css考点
    doxygen 使用 教程 不含安装仅设置
    fatal error LNK1169: one or more multiply defined symbols found 终极解决方案
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9030513.html
Copyright © 2020-2023  润新知