2017-03-28 14:58:17 D_leo 阅读数 860
Linux下find命令具有强大的查找功能,它可以完成各种情况的查找工作,所以find命令有很多选项。

【命令功能】
     用于在文件数中查找文件,并做出相应的处理(可能访问磁盘)
【命令格式】
     find pathname -options [-print -exec -ok ......]
【命令参数】
     pathname : find 命令所查找的目录路径
     -print:find命令将匹配的文件输出到标准输出
     -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应的命令形式为: 命令 { } \;
     -ok   :和-exec相同,只不过以更安全的方式执行给出的shell
【命令选项】
     -name :按照文件名查找文件
     -perm :按照文件的权限查找文件
      -user :按照文件属主来查找文件

 -group :按照文件所属组来查找文件

 -mtime -n +n :按照文件的更改时间来查找文件,-n表示更改时间距现在n天以内,+n表示更改时间距现在n天以外。(find命令的-atime和-ctime和-mtime选项相同)

     -nogroup :查找无有效的所属组文件
     -nouser :查找无有效的属主 文件

     -type :查找某一类型的文件 b d c p l f

     -size n【c】:查找文件长度为n块的文件,带有c时,表示长度以字节计

     -depth :查找文件时,首先查找当前目录中的文件,然后再其他子目录中查找

     -fstype:查找位于某⼀一类型⽂文件系统中的⽂文件,这些⽂文件系统类 型通常可以在配置⽂文件/etc/fstab中找到,该配置⽂文件中包含了 本系统中有关⽂文件系统的信息。
     -mount:在查找⽂文件时不跨越⽂文件系统mount点。
     -follow:如果find命令遇到符号链接⽂文件,就跟踪⾄至链接所指向的⽂文件。
     -cpio:对匹配的⽂文件使⽤用cpio命令,将这些⽂文件备份到磁带设备中。


find命令的使用实例:
  • 使用find命令查找属主为root且大小为4686c的文件,删除它
          指令:find -uesr root -szie -4687c -size +4685c -ok rm { } \;
          或者 : find -user root -szie 4686c -ok rm { } \;
  • 查找当前所有目录并排序
           指令 :find -type d | sort
  • 查找所有目录中以"prefs"结尾的目录
            指令 : find ./ -type d -name "*prefs"
  • 查找5分钟内被访问过的目录
            指令 : find -type d -mmin +5



2018-11-12 11:29:13 wait_for_eva 阅读数 820

find

  • name

find dir -name filename

指定路径,查找指定文件名

find dir -iname filename

不区分大小写

  • size

find dir -size +2018:大于

find dir -size 2048:等于

find dir -size -2048:小于

  • time

find dir -amin -5:访问时间,access

find dir -cmin -5:变化时间,change

find dir -mmin -5:修改内容,modify

-5向前推移,单位min

  • and

find dir -size -2048 -a -size +1024

-aand,表示条件并列

-oor,表示满足其中一个即可

  • exec

find dir -name filename -exec ls {} \;

对查找结果进行指定操作,分号记得转义

  • type

find dir -name filename -a -type f

符号 描述
f file
d directory
l link

通过文件类型进行指定过滤。

  • user

find dir -user godme

find dir -group godme

组别过滤

find dir -iname XXXXX

节点过滤

2011-12-22 17:26:41 iteye_16401 阅读数 55

 

find ./ -name *.sh

find ./ -iname *.log

 

find ./ -filetype d

find ./ -filetype f

 

find ./ -g group

find ./ -u user

 

find ./ -name *.log -exec chmod 777 {}  \;

2020-02-16 11:02:53 xtlhxl 阅读数 2282

命令介绍

命令:find 在指定路径遍历查找文件

用法:find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path…] [expression find 路径 选项 表达式

命令选项

[root@fp-21 ~]# find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

-name	# 根据文件名中查找
-iname	# 根据文件名(不区分大小写)查找
-perm	# 根据文件权限查找
-prune	# 排除某些查找目录
-user	# 根据文件属主查找
-group	# 很具文件属组查找
-exec	# 对找到的文件执行特定的操作
-mtime	# 根据文件更改时间(天数)查找
	-num	# num 天以内修改的文件
	+num	# num 天以外修改的文件
	num		# 正好 num 天修改的文件
-mmin	# 根据文件更改时间(分钟)查找
	-num	# num 分钟以内修改的文件
	+num	# num 分钟以外修改的文件
-size	# 根据文件大小查找
	-num	# 小于 num 字节的文件
	+num	# 大于 num 字节的文件
-type	# 根据文件类型查找
	f	# 文件
	d	# 目录
	l	# 链接文件
	p	# 管道文件
	c	# 字符设备文件
	b	# 块设备文件

命令实例

# 根据文件名中查找
[root@fp-21 ~]# find /opt/ -name "aaa"
/opt/test/aaa

# 根据文件名(不区分大小写)查找
[root@fp-21 ~]# find /opt/ -iname "aaa"
/opt/test/aaa
/opt/test/AAA

# 根据文件权限查找
[root@fp-21 ~]# find /opt/ -perm 666 
/opt/test/aaa
[root@fp-21 ~]# ll /opt/test/aaa
-rw-rw-rw-. 1 root root 0 Feb 16 02:53 /opt/test/aaa

# 根据文件属主查找
[root@fp-21 ~]# find /opt/ -user tom
/opt/test/aaa
[root@fp-21 ~]# ll /opt/test/aaa 
-rw-rw-rw-. 1 tom tom 0 Feb 16 02:53 /opt/test/aaa

# 对找到的文件执行特定的操作(查找/var/log目录下,更改时间7天以上的文件,并删除)
[root@fp-21 ~]# find /var/log/ -mtime +7 | wc -l
29
[root@fp-21 ~]# find /var/log/ -mtime +7 -exec rm -rf {} \;
[root@fp-21 ~]# find /var/log/ -mtime +7 | wc -l
0

# 根据文件更改时间(分钟)查找
[root@fp-21 ~]# echo "hello world" > /opt/test/aaa
[root@fp-21 ~]# find /opt/ -mmin -1 
/opt/test/aaa

# 根据文件大小查找
[root@fp-21 ~]# ll /opt/test/aaa 
-rw-rw-rw-. 1 tom tom 12 Feb 16 21:00 /opt/test/aaa
[root@fp-21 ~]# find /opt/test/ -size -13 
/opt/test/
/opt/test/aaa
/opt/test/AAA

[root@fp-21 ~]# for i in `seq 100000`; do echo $i >> /opt/test/AAA ; done
[root@fp-21 ~]# find /opt/test/ -size +1M 
/opt/test/AAA

# 根据文件类型查找
[root@fp-21 ~]# find /opt/test/ -type f
/opt/test/aaa
/opt/test/AAA

link 查看 Linux 基础命令

只有注入思想的博客才是好的博客

2017-08-28 20:23:54 pigcircle_1988 阅读数 196

linuxfind命令详解

查找文件
find ./ -type f

查找目录
find ./ -type d

查找名字为test的文件或目录
find ./ -name test

查找名字符合正则表达式的文件,注意前面的‘.*(查找到的文件带有目录)
find ./ -regex .*so.*\.gz

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,没有选项-print时文件列表前一行不会显示目录名称)
find ./ -type d -print
-exec ls {} \;

查找目录并列出目录下的文件(为找到的每一个目录单独执行ls命令,执行命令前需要确认)
find ./ -type d -ok ls {} \;

查找目录并列出目录下的文件(将找到的目录添加到ls命令后一次执行,参数过长时会分多次执行)
find ./ -type d -exec ls {} +

查找文件名匹配*.c的文件
find ./ -name \*.c

打印test文件名后,打印test文件的内容
find ./ -name test -print -exec cat {} \;

不打印test文件名,只打印test文件的内容
find ./ -name test -exec cat {} \;

查找文件更新日时在距现在时刻二天以内的文件
find ./
-mtime -2

查找文件更新日时在距现在时刻二天以上的文件
find ./
-mtime +2

查找文件更新日时在距现在时刻一天以上二天以内的文件
find ./
-mtime 2

查找文件更新日时在距现在时刻二分以内的文件
find ./ -mmin -2

查找文件更新日时在距现在时刻二分以上的文件
find ./ -mmin +2

查找文件更新日时在距现在时刻一分以上二分以内的文件
find ./ -mmin 2

查找文件更新时间比文件abc的内容更新时间新的文件
find ./ -newer abc

查找文件访问时间比文件abc的内容更新时间新的文件
find ./ -anewer abc

查找空文件或空目录
find ./ -empty

查找空文件并删除
find ./ -empty -type f -print -delete

查找权限为644的文件或目录(需完全符合)
find ./ -perm 664

查找用户/组权限为读写,其他用户权限为读(其他权限不限)的文件或目录
find ./ -perm -664

查找用户有写权限或者组用户有写权限的文件或目录
find ./ -perm /220
find ./ -perm /u+w,g+w
find ./ -perm /u=w,g=w

查找所有者权限有读权限的目录或文件
find ./ -perm -u=r

查找用户组权限有读权限的目录或文件
find ./ -perm -g=r

查找其它用户权限有读权限的目录或文件
find ./ -perm -o=r

查找所有者为lzj的文件或目录
find ./ -user lzj

查找组名为gname的文件或目录
find ./ -group gname

查找文件的用户ID不存在的文件
find ./ -nouser

查找文件的组ID不存在的文件
find ./ -nogroup

查找有执行权限但没有可读权限的文件
find ./ -executable \! -readable

查找文件size小于10个字节的文件或目录
find ./
-size -10c

查找文件size等于10个字节的文件或目录
find ./
-size 10c

查找文件size大于10个字节的文件或目录
find ./
-size +10c

查找文件size小于10k的文件或目录
find ./
-size -10k

查找文件size小于10M的文件或目录
find ./
-size -10M

查找文件size小于10G的文件或目录
find ./
-size -10G

 

 

Linux常用命令find等

阅读数 215

Linux中find命令详解

阅读数 2350

没有更多推荐了,返回首页