欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

find

程序员文章站 2022-07-12 14:34:59
...
1.which
	[[email protected] ~]# which cat
		/usr/bin/cat

2.whereis
	[[email protected] ~]# whereis cat
		cat: /usr/bin/cat 
	
4.locate
	locate lei
	-r 支持正则表达式
		/var/spool/mail/lei
   		维护 updatedb #重新构建索引
   
5.find
	  -atime N 
      -gid N 
      -group 名称
 	  -mtime N -name 匹配模式 -newer 文件
      -nouser 
      -nogroup 
      -regex PATTERN
      -readable -writable -executable
      -wholename PATTERN -size N
      -user NAME 
      -context 文本
	
	排除/etc下的sane.d和init.d目录的.sh文件
	find /etc \( -path '/etc/sane.d' -o -path '/etc/init.d' \) -ass -prune -o -name "*.sh"
	语法:逻辑
	  ! 1 -a ! 2 不是1和2 =  ! (1 -o 2)
	 find -name "*.txt"	  支持通配符匹配
	 find /root -regex ".*\.\(txt\|sh\)$"  支持普通的正则表达式
	 find / -user root -name "*.sh" 用户名为root的.sh的文件

		  
	 	find / -type p -ls  #文件类型
		find / \( -user lei -a -group lei \) -ls  #用户

	[[email protected] ~]# find / -size 102M  #文件大小
		/usr/lib/locale/locale-archive

	find / -size 1M  -o -size 2M
	
	[[email protected] tmp]# stat 123.txt 
		  文件:"123.txt"
		  大小:0         	块:0          IO 块:4096   普通空文件
		设备:802h/2050d	Inode:23041330    硬链接:1
		权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
		环境:unconfined_u:object_r:user_tmp_t:s0
		最近访问:2018-05-14 23:01:48.892432813 +0800
		最近更改:2018-05-14 23:01:48.892432813 +0800
		最近改动:2018-05-14 23:01:48.892432813 +0800
		创建时间:-
		
		 find /tmp -mtime +2 -a -mtime -5  #2天以前5天以内
		 find /tmp -mtime 3  #正好第3天[3,4]
		 find /tmp -mtime +3 #3天以前--[3+1,-x]
		 find /tmp -mtime -3 #3天以内 0-3
	 
按权限	
	[[email protected] tmp]# find /tmp -perm -g=w | tail -2  #-包含子集
	/tmp/5.txt
	/tmp/.esd-0/socket
	[[email protected] tmp]# ll 5.txt 
	-rw-rw-rw-. 1 root root 0 5月  14 16:00 5.txt

精确匹配 
	[[email protected] tmp]# find /tmp -perm 700 -ls  
			12598414    0 drwx------   2 root     root            6 5月 13 23:14 /tmp/tracker-extract-files.0
/ 任何一类ugo对象的权限中匹配以为即可 {或}
	 find -perm /650 -ls
		33713613    8 -rw-------   1 root     root         6400 3月 25 16:59 ./.viminfo

- 每一类对象必须同时拥有指定权限 {且}
 	find -perm -650 -ls  --0表示不参与匹配,必须包含65权限	}

	找到并复制命名.bak
		find -name "*.sh" -exec cp {} /root/{}.bak \;
	找到shell目录权限为644的改为755
		find /shell -type -f -perm 644 -name "*.sh" -exec chmod 755 {} \;

xargs 传递参数
	 echo test{1..5} | xargs touch
相关标签: find