Linux教程

linux基础之find命令

本文主要是介绍linux基础之find命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 1、find命令
  • 2、语法格式
  • 3、参数

find命令

1、find命令

根据文件的名称或者属性查找文件。

2、语法格式

find 查找范围 参数

3、参数

一、通用参数:
	1. -name : 按照文件的名字查找文件,区分大小写 (* :通配符)
	# 案例1:查询etc目录下的hosts文件 : find /etc/ -name 'hosts'
	# 案例2:查询etc目录下名称中包含hosts的文件: find /etc/ -name '*hosts*'
	
	2. -iname : 按照文件的名字查找文件,忽略大小写 (* :通配符)
	# 案例3:忽略大小写查询etc目录下名称中包含hosts的文件:find /etc/ -iname '*hosts*'
	
	3. -size: 按文件的大小查询
		+ :大于
		- :小于
		没有符号: 等于
	# 案例4:查找当前目录下文件小于1M大小的文件: find ./ -size -1M
	
	4. -mtime : 查找最后修改时间查询(默认按天算)
		+数字 :n 天以前的(默认+,所以可以省略)
		-数字 :n 天以内的
		# 案例5:查找当前目录下文件最后修改时间在1天以前的所有文件:find ./ -mtime 1
		-atime: 按最后访问时间查询
		-ctime: 按最后修改属性时间查询
		
	5. -user : 按照用户的属主查询
	# 案例6:查找home目录下属主为bgx的文件:find /home/ -user bgx
	
	6. -group :按照用户的属组查询
	# 案例7:查找home目录下属组为hr的文件:find /home/ -group hr
	
	7. -type : 按照文件的类型查询
		文件类型:
			f : 普通文件
			d : 文件夹
			l : 链接文件
			s : 套接字文件
			p : 管道文件
			c : 字符文件
			b :磁盘文件
	# 案例8:按照文件类型查找当前目录下的文件夹:find ./ -type d
	
	8. -perm : 按照文件的权限查询(按数字权限)
	# 案例9:查找当前文件中权限为755的文件:find ./ -perm 755
	
	9. -inum : 按照index node号码查询
	# 案例10:查找inode编号为17610952的文件:find ./ -inum 17610952
	
二、配合使用参数:
	1. -a : 并且(可以省略,默认是-a)
	2. -o : 或者
	3. -maxdepth : 查询目录深度(必须放置于第一个参数)
    4. -exec :把find处理好的结果交给其他命令并继续处理。
# 案例11:查找etc目录下目录深度为3,名字包含ens开头的文件:find /etc/ -maxdepth 3 -iname 'ifcfg-ens*'
# 案例12:查询当前目录下目录深度为2或者文件名中以txt结尾的所有文件:find ./ -maxdepth 2 -o -name '*.txt'

# 案例:要求把/etc目录下,所有的普通文件打包压缩到/tmp目录:方法1:tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`

# 知识储备:
	1. dd : 生成文件(常用来造文件来测试): 
		dd if=/dev/zero of=100.txt bs=10M count=10
            if : 从什么地方读 
            of : 写入到什么文件
            bs : 每次写入多少大小
            count : 写入多少次

	2. |: 管道符,意思是把一个命令的结果交给后面一个命令处理。
	3. xarg : 把处理的文本变成以空格分割的一行
	4. `` :提前执行命令,然后将结果交给其他命令来处理

image

image

image

image

image

image

image

image

image

image

这篇关于linux基础之find命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!