文件查找:
locate:
非实时,模糊匹配,查找是根据全系统文件数据库进行的;
# updatedb, 手动生成文件数据库
速度快
find:
实时
精确
支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢;
find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
处理运作:默认为显示
匹配标准:
-name 'FILENAME':对文件名作精确匹配
文件名通配:
*:任意长度的任意字符
?
[]
-iname 'FILENAME': 文件名匹配时不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME: 根据属主查找
-group GROUPNAME: 根据属组查找
-uid UID: 根据UID查找
-gid GID: 根据GID查找
-nouser:查找没有属主的文件
-nogroup: 查找没有属组的文件
-type
f: 普通文件
d
c
b
l
p
s
-size [+|-]
#k
#M
#G
/tmp目录,不是目录,并且还不能套接字类型的文件
/tmp/test目录下,属主不是user1,也不是user2的文件;
-mtime 修改时间
-ctime
-atime 访问时间
[+|-]#
-mmin
-cmin
-amin
[+|-]#
解释-atime 5 表示距离此刻刚好五天的
-atime +5 表示距离此刻大于五天都没访问过的
-atime -5 表示距离此刻五天之内有访问过的
-perm MODE:精确匹配
/MODE: 任意一位匹配即满足条件
-MODE: 文件权限能完全包含此MODE时才符合条件
-644
644: rw-r--r--
755: rwxr-xr-x
750: rwxr-x---
find ./ -perl -001
运作:
-print: 显示
-ls:类似ls -l的形式显示每一个文件的详细
-ok COMMAND {} \; 每一次操作都需要用户确认
-exec COMMAND {} \;
运作例子:{}表示匹配到的内容
[root@data-1-3 scripts]# find . -amin -30 -exec chmod u-w {} \;
[root@data-1-3 scripts]# ll
total 20
-rwxr-xr-x 1 root root 280 Jan 7 11:55 1.sh
-r--r--r-- 1 root root 0 Jan 8 08:03 a
-rwxr-xr-x 1 root root 168 Jan 7 11:13 jiou_sum.sh
-rwxr-xr-x 1 root root 261 Jan 8 03:30 sum.sh
-rwxr-xr-x 1 root root 222 Jan 7 17:42 user01.sh
-rwxr-xr-x 1 root root 489 Jan 7 18:24 user.sh
[root@data-1-3 scripts]# find . -amin -30 -ok chmod u+w {} \;
< chmod ... . > ? y
< chmod ... ./a > ? y
[root@data-1-3 scripts]# ll
total 20
-rwxr-xr-x 1 root root 280 Jan 7 11:55 1.sh
-rw-r--r-- 1 root root 0 Jan 8 08:03 a
-rwxr-xr-x 1 root root 168 Jan 7 11:13 jiou_sum.sh
-rwxr-xr-x 1 root root 261 Jan 8 03:30 sum.sh
-rwxr-xr-x 1 root root 222 Jan 7 17:42 user01.sh
-rwxr-xr-x 1 root root 489 Jan 7 18:24 user.sh
改文件名:
[root@data-1-3 scripts]# find -perm 644
./a
[root@data-1-3 scripts]# find -perm 644 -exec mv {} {}.new \;
[root@data-1-3 scripts]# ll
total 20
-rwxr-xr-x 1 root root 280 Jan 7 11:55 1.sh
-rw-r--r-- 1 root root 0 Jan 8 08:03 a.new
-rwxr-xr-x 1 root root 168 Jan 7 11:13 jiou_sum.sh
-rwxr-xr-x 1 root root 261 Jan 8 03:30 sum.sh
-rwxr-xr-x 1 root root 222 Jan 7 17:42 user01.sh
-rwxr-xr-x 1 root root 489 Jan 7 18:24 user.sh
再一个例子:将大于1M的文件找出并追加到/tmp/etc.largesfile
[root@data-1-3 scripts]# find /etc/ -size +1M
/etc/pki/tls/certs/ca-bundle.trust.crt
/etc/selinux/targeted/policy/policy.24
/etc/selinux/targeted/modules/active/policy.kern
[root@data-1-3 scripts]# find /etc/ -size +1M |xargs >> /tmp/etc.largesfile
[root@data-1-3 scripts]# cat /tmp/etc.largesfile
/etc/pki/tls/certs/ca-bundle.trust.crt /etc/selinux/targeted/policy/policy.24 /etc/selinux/targeted/modules/active/policy.kern
[root@data-1-3 scripts]# find /etc/ -size +1M -exec echo {} >> /tmp/etc.largesfile \; [root@data-1-3 scripts]# cat /tmp/etc.largesfile
/etc/pki/tls/certs/ca-bundle.trust.crt /etc/selinux/targeted/policy/policy.24 /etc/selinux/targeted/modules/active/policy.kern
/etc/pki/tls/certs/ca-bundle.trust.crt
/etc/selinux/targeted/policy/policy.24
/etc/selinux/targeted/modules/active/policy.kern
##############################################################
[root@data-1-3 scripts]# stat a
File: `a'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 131939 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-08 08:03:12.990058301 +0800
Modify: 2017-01-08 08:03:07.122074618 +0800
Change: 2017-01-08 08:03:12.990058301 +0800
[root@data-1-3 scripts]# find -amin -5 -ls
143757 4 drwxr-xr-x 2 root root 4096 Jan 8 08:03 .
131939 0 -rw-r--r-- 1 root root 0 Jan 8 08:03 ./a
[root@data-1-3 scripts]# find -atime -5 -ls
143757 4 drwxr-xr-x 2 root root 4096 Jan 8 08:03 .
131939 0 -rw-r--r-- 1 root root 0 Jan 8 08:03 ./a
140442 4 -rwxr-xr-x 1 root root 168 Jan 7 11:13 ./jiou_sum.sh
140514 4 -rwxr-xr-x 1 root root 222 Jan 7 17:42 ./user01.sh
140515 4 -rwxr-xr-x 1 root root 261 Jan 8 03:30 ./sum.sh
140448 4 -rwxr-xr-x 1 root root 280 Jan 7 11:55 ./1.sh
140513 4 -rwxr-xr-x 1 root root 489 Jan 7 18:24 ./user.sh
- linux文件查找工具——locate,find
一文件查找介绍 文件的查找就是在文件系统上查找符合条件的文件. 文件查找的方式:locate, find非实时查找也就是基于数据库查找的locate,效率特别高. 实时查找:find 二locate ...
- Linux文件查找命令find用法整理(locate/find)
Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...
- linux 文件查找,which,whereis,locate,find
linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...
- Linux操作系统的文件查找工具locate和find命令常用参数介绍
Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具 locate命 ...
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- linux文件查找find命令
linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find [option ...
- Linux文件查找命令find,xargs详述【转】
转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...
- 【Linux相识相知】文件查找(locate/find)
在用linux操作系统的时候,当我们忘记之前某个文件存储的位置,但是知道其文件名或者模糊的知道其文件名,我们都可以通过文件查找工具来查找,linux提供两种常用的查找工具,locate和find,在日 ...
- Linux文件查找find和locate
目 录 第1章 locate文件查找 1 1.1 概述 1 1.2 locate文件查找的特性 1 第2章 文件查找概述 1 第3章 1 3.1 文件名查找 1 3 ...
随机推荐
- linux 文件属性与权限
内容源于: 鸟哥的linux私房菜 链接如下: Linux 的文件权限与目录配置 Linux 磁盘与文件系统管理 Linux 文件与目录管理 目录 Linux文件属性 [文件属性解析(SUID/SGI ...
- C#中如何让ListView控件点击选中整行
将Listview控件的FullRowSelect属性置为True,当然Listview的View属性应该是Details. 2017年6月25日17:15:55
- 江湖问题研究-- intent传递有没有限制大小,是多少?
出门一步,便是江湖.江湖上有很多流言. 比方这条: intent传递是有限制大小的,详细在40KB左右. 当然也有传言说是1M左右. 数百头母驴为何半夜慘叫? 小卖部安全套为何屡遭黑手? 女生宿舍内裤 ...
- 完美删除vector的内容与释放内存
问题:stl中的vector容器常常造成删除假象,这对于c++程序员来说是极其讨厌的,<effective stl>大师已经将之列为第17条,使用交换技巧来修整过剩容量.内存空洞这个名词是 ...
- C++11 并发指南四(<future> 详解一 std::promise 介绍)(转)
前面两讲<C++11 并发指南二(std::thread 详解)>,<C++11 并发指南三(std::mutex 详解)>分别介绍了 std::thread 和 std::m ...
- 关于finfo_file函数获取文件mime值验证出错的问题
今天在做图片上传 验证图片mime值时 突然发现 个别特殊情况下finfo_file 获取的MIME值不能直接使用, 依照官方的写法是 $finfo=finfo_open(FILEINFO_MIME ...
- Amazon SNS移动推送更新——新增百度云推送和Windows平台支持
Amazon SNS(Simple Notification Service)是一种基于云平台的消息通知和推送服务. SNS提供简单的 Web 服务接口和基于浏览器的管理控制台让用户可以简易设置.执行 ...
- 一起talk GDB吧(第二回:GDB单步调试)
各位看官们,大家好.我们在上一回中说简单地介绍了GDB.这一回中,我们介绍GDB的调试功能:单步 调试. 闲话休提,言归正转. 让我们一起talk GDB吧! 看官们,我们先说一下什么是单步调试.大家 ...
- jmeter后置处理器之正則表達式提取器
新浪围脖>@o蜗牛快跑o 使用这个组件时,注意使用带分组的正則表達式 使用正则分组方便提取干净数据.以免再次处理数据字符串 正則表達式在线工具推荐:点击打开链接 正則表達式语法參考:点击打 ...
- 2016年最值得新手程序猿阅读的书:《增长project师指南》
这本书的来源于根据我在<Repractise简单介绍篇:Web开发的七天里>中所说的 Web 开发的七个步骤而展开的电子书.当然它也是一个 APP.它一本关于怎样成为增长project师的 ...