文件查找

文件查找

# 查找命令所在位置
which ls

# 根据文件属性查找文件(find)
	
	共用参数:
		-a : 并且
		-o : 或者
		[root@python test]# find ./ -size -30M -o -size +50M
        ./
        ./txt
        ./txt2


	1、按照文件名称查找
	[root@python ~]# find /root/ -name "txt*" -a -size +40M
    /root/txt2
    /root/a/b/c/txt2
    [root@python ~]# find /root/ -name "txt*"  -size +40M
    /root/txt2
    /root/a/b/c/txt2

	2、按照文件的创建时间来查找
	
	+7day	: 7天以前创建
	-7day	:7天以内创建
	7day	:正好7天
	
	-ctime : 按照创建时间查询
	-mtime : 按照修改时间查询
	-atime : 按照访问的时间查询
	
	# 3天以内创建
	[root@python ~]# find /root/ -ctime -3
	# 3天以前创建
	[root@python ~]# find /root/ -ctime +3
	
	3、按照文件属性查找
		[root@python ~]# find /root/ -size +10M -user test
        /root/txt
        [root@python ~]# find /root/ -size +10M -group test
        /root/txt

	4、按照文件的大小查找
		find [查询的路径] -size [大小]
		find /root/ -size +50M : 查询大于50M的文件
		find /root/ -size 20M : 查询等于20M的文件
		find /root/ -size -60M : 查询小于60M的文件
		
	5、设置查询最高的目录层级(目录层级参数必须放在第一位)
		[root@python ~]# find /root/  -maxdepth 3 -a  -size +40M
        /root/txt2
        [root@python ~]# find /root/  -maxdepth 6 -a  -size +40M
        /root/txt2
        /root/a/b/c/txt2
        
	6、按照文件类型来查询
		# 按照目录查询
		[root@python ~]# find /root/ -type d
		# 按照普通文件来查询
		[root@python ~]# find /root/ -type f
		# 查看设备文件
		[root@python dev]# find /dev/ -type c

	7、按照权限来查询
	[root@python test]# ll
    总用量 122880
    -r--r-----. 1 test user1 20971520 6月  16 17:33 txt
    -rw-r--r--. 1 root root  41943040 6月  16 17:33 txt1
    -rwxr-xr-x. 1 root root  62914560 6月  16 17:33 txt2
    [root@python test]# find ./  -perm 440
    ./txt
    [root@python test]# find ./  -perm 644
    ./txt1
    ./txt2

rw-r--r--
6   4  4
所属用户  所属用户组  其他用户

[root@python ~]# useradd user1
[root@python ~]# useradd user2
[root@python ~]# useradd user3

r(4)	: 只读
w(2)	:只写
x(1)	:执行

chmod : 修改文件权限
	chmod 755 [文件路径]
chown : 修改所属用户及用户组
	chown 用户.用户组 [文件路径]

	8、处理查询结果
		# 直接跟命令
		[root@python test]# find ./  -perm 755 -ls
        202362858    0 drwxr-xr-x   2 root     root           41 6月 16 17:59 ./
        134514204 61440 -rwxr-xr-x   1 root     root     62914560 6月 16 17:33 ./txt2
		
		# exec(推荐)
		# {}:代表前面查询出来的内容
		find ./ -size +50M -exec cp {} /opt/ \;
		
		# 使用管道
		# xargs是将前面命令执行的结果先用一个{}来保存,然后用{}取出来处理
		find ./ -size +50M | xargs -I {} cp {} /mnt/
		
上一篇:maven项目springmvc导包失败-JsonProcessingException


下一篇:SAP BRF+ debugger工作原理