文件查找
# 查找命令所在位置
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/