大家好,我是你的好朋友 白眉大叔, 上次我们介绍了,linux 系统的文件属性, 是一个基础入门的内容 ,作为新手必须掌握, 不懂的可以去看看, 今天我们来看看 linux find 命令查找文件的功能。
首先linux find -name 模糊查询文件。
大体可以分为6类
1 find 从哪里找 按照什么方式查找 具体类型
(1) linux find 按照 文件类型查找 : -type
[root@baimeidashu /tmp]#find /etc/ -type f
后边的f 类型可以是:
(2)linux find 按照 文件名称 查找 : -name
[root@baimeidashu /tmp]#find /etc/ -name "passwd"
(3) linux find 按照目录深度等级来查找
find /etc -maxdepth 1 -type d
(4) linux find 按照 inode 号码查找
find /etc -inum xxx
(5) linux find 按照文件的大小查找:
find /etc -size +10M
案例: 查找 大于2M 并小于20M
find ./ -size +2M -size -20M
默认是并且
find ./ -size +2M -a -size -20M
案例: 查找 大于10M 或者 大于20M的
find ./ -size +10M -o -size 20M
(6) find 按照时间查找文件
find /etc -mtime +7 (7天时间)
+7 7天前
-7 7天内
mtime 0 表示 24小时内, -1 表示 24- 48小时内
2企业一般常用的find 语句:
find / -name "test.sh"
find /data/ -type f
find /data/ -type f -mtime +3
3将查找到的文件 交给其他命令的3中方式
常用的命令有 cp , rm , mv
方法1: xargs
案例: 查找名字为1.txt 的文件,并且拷贝到/opt 目录
find ./ -name all.txt | xargs -i cp {} /opt
方法2: exec
find ./ -name 1.log -exec cp {} /opt / \;
[root@baimeidashu /opt]#find ./ -name 1.txt -exec cp {} /tmp/ \;
方法3: `` 反引号 和 $()
cp `find ./ -name 1.txt ` /tmp/
[root@baimeidashu /opt]#\cp `find ./ -name 1.txt` /tmp
find命令排除目录 : https://www.cnblogs.com/wztshine/p/16317790.html