linux命令:find文件查找工具
find命令简介:
实时、精确、支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢;
1.命令格式:
locate filename 直接跟需要查找的文件 eg locate passwd 系统文件数据库中所有
包含passwd的文件。
find 查找路径 查找标准 查找到以后的处理动作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
处理动作:默认为显示到屏幕上
eg:find /etc -name passwd 表示在etc目录下查找名字为passwd的文件
2.命令功能:
locate:(查找命令)
非实时,模糊匹配,查找是根据全系统文件数据库进行的;
# updatedb, 手动生成文件数据库
速度快
find:
实时
精确
支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢;
3.命令参数:
-name 'FILENAME':对文件名作精确匹配
文件名通配:
*:任意长度的任意字符
?
[]
-iname 'FILENAME': 文件名匹配时不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME: 根据属主查找
-group GROUPNAME: 根据属组查找
-uid UID: 根据UID查找
-gid GID: 根据GID查找
-nouser:查找没有属主的文件
-nogroup: 查找没有属组的文件
-type find /tmp -type d 查找/tmp下的目录文件包括/tmp本身
f: 普通文件
d:目录文件
c:字符设备文件
b:块设备文件
l:链接文件
p:管道设备文件
s:套接字设备文件
-size [+|-] +10k表示大于10k的文件 -10k表示小于10k的文件
find /tmp -size 10k 表示查找/tmp下的大小为10k的文件
默认没指定单位的话,为字节b
1k 所有小于1k的都会被匹配到,1M 所有小于1M都会被匹配到
#k k=kb #表示数字 k为小写
#M M=Mb #表示数字 M大写
#G G=Gb #表示数字 G大写
组合条件: 如果查找时没有指定组合关系,默认为与关系
find /tmp -nouser -a -type d -ls
find /tmp -not -type d 查找非目录的文件
-a:与
-o:或
-not:非
eg: 查找/tmp目录下,不是目录,并且还不能为套接字类型的文件;
find /tmp -not -type d -a -not -type s
eg: 查找/tmp/test目录下,属主不是user1,也不是user2的文件;
find /tmp -not -user user1 -a -not -user user2
*相当于 find /tmp -not \( -user user1 -o -user user2 \)
* 谨记:()左右需要空格符隔开
按时间天数计算:
-mtime 修改时间
-ctime 改变时间
-atime 访问时间
[+|-]# #表示数字 +5表示超过5天 -5表示在五天内
按分钟数计算:
-mmin
-cmin
-amin
[+|-]# #表示数字 +5表示超过5分钟 -5表示5分钟内
-perm MODE:精确匹配 -perm 644 表示精确匹配,必须是644权限
/MODE: 任意一位匹配即满足条件 -perm /644表示只要有一位符合就可以
-MODE: 文件权限能完全包含此MODE时才符合条件
-644
644: rw-r--r--
755: rwxr-xr-x
750: rwxr-x---
find ./ -perm /022 表示组或者其他人有写权限 0表示不做匹配.
find ./ -perm -001 查找其他用户有执行权限的文件
动作:
-print: 显示(-print也是属于默认动作,即不指定动作默认就是显示)
-ls:类似ls -l的形式显示每一个文件的详细
-ok COMMAND {} \; 每一次操作都需要用户确认 {}表示引用前面所找到的文件
-exec COMMAND {} \;每一次操作不需要用户确认 {}表示引用前面所找到的文件
find ./ -type d -ok chmod +x {} \; 表示找到目录文件并赋予执行权限
find ./ -perm -020 -ok mv {} {}.new \; 找到当前目录下属组具有写权限的文件,并 修改其文件名为 原文件.new 。
4.命令实例:
1、查找/var目录下属主为root并且属组为mail的所有文件;
find /var -user root -a -group mail
[root@xuelinux test]# find /var -user root -a -group mail
/var/spool/mail
2、查找/usr目录下不属于root,bin,或student的文件;
find /usr -not -user root -a -not -user bin -a -not -user student
或者 find /usr -not \( -user root -o -user bin -o -user student \) 括号左右必须有空格
[root@xuelinux usr]# find /usr -not \( -user root -o -user bin -o -user student \)
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@xuelinux usr]# find /usr -not -user root -a -not -user bin -a -not -user student
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;
find /etc -mtime -7 -a -not \( -user root -o -user student \)
或者 find /etc -mtime -7 -a -not -user root -a -not -user student
4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主
属组均修改为root;
find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;
5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;
find /etc -size +1M >> /tmp/etc.largefiles
[root@xuelinux ~]# find /etc -size +1M >> /tmp/etc.largefiles
[root@xuelinux ~]# cat /tmp/etc.largefiles
/etc/selinux/targeted/modules/active/policy.kern
/etc/selinux/targeted/policy/policy.24
6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;
find /etc -not -perm /222 -ls
[root@xuelinux ~]# find /etc -not -perm /222 -ls
493 4 -r--r----- 1 root root 4002 3月 2 2012 /etc/sudoers
2279 4 ---------- 1 root root 2541 10月 22 23:10 /etc/shadow
960 4 -r--r--r-- 1 root root 460 8月 17 2013 /etc/dbus-1/system.d/cups.conf
523 172 -r--r--r-- 1 root root 172980 10月 10 08:25 /etc/pki/ca-trust/extracted/java/cacerts
519 308 -r--r--r-- 1 root root 314336 10月 10 08:24 /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
521 184 -r--r--r-- 1 root root 185220 10月 10 08:25 /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
520 228 -r--r--r-- 1 root root 232342 10月 10 08:24 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
522 184 -r--r--r-- 1 root root 185023 10月 10 08:25 /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
51 4 ---------- 1 root root 2415 10月 22 23:10 /etc/shadow-
43 4 ---------- 1 root root 829 10月 22 23:10 /etc/gshadow-
1091 4 -r-xr-xr-x 1 root root 2134 11月 24 2013 /etc/rc.d/init.d/lvm2-lvmetad
1092 4 -r-xr-xr-x 1 root root 2665 11月 24 2013 /etc/rc.d/init.d/lvm2-monitor
1090 4 -r-xr-xr-x 1 root root 1340 11月 24 2013 /etc/rc.d/init.d/blk-availability
129 4 ---------- 1 root root 841 10月 22 23:10 /etc/gshadow
1149 4 -r--r--r-- 1 root root 324 11月 22 2013 /etc/ld.so.conf.d/kernel-2.6.32-431.el6.i686.conf
962 4 -r--r--r-- 1 root root 146 8月 17 2013 /etc/pam.d/cups
本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1865216 ,如需转载请自行联系原作者
linux命令:find文件查找工具相关推荐
- linux c 文件查找字符串,Linux基础之文件查找工具:locate、find
引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们 ...
- Linux命令之文件查找:find 命令详解
一.说明 find 命令是一个很常用的命令,用于在指定路径下查找文件,相似的命令还有 which.whereis.locate 等. 扩展: 1. which 命令只会查找环境变量中的文件位置,例如: ...
- Linux文件查找工具之find “大宝剑”--转载
原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...
- Linux文件查找工具之find “大宝剑”
一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这 ...
- Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc
Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc O.简要 1.Linux系统中查找文件比较常用的命令就是which,whereis,find,最常用的 ...
- linux系统下文件查找
在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查 ...
- linux基于文本的配置工具,Linux基本配置和管理 3 ---- Linux命令行文本处理工具
1 文件浏览(简单回顾) 1 cat 查看文件的内容 2 more 以翻页的形式查看,但是只能向下翻页 3 less 以翻页的形式查看,但是能够支持向上和向下翻页 4 head 默认是查看前10行,但 ...
- 超实用的8个Linux命令行性能监测工具
本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在. 对每个系统/网络管理员来说,每天监测Linux系统性能 ...
- windows查看linux文件工具,「实用工具」介绍几款Windows系统与Linux服务器传递文件的工具...
本文主要介绍几款用于和linux服务器传递文件的工具 WinSCP WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议.它的主要功能就是在本地与远程计算机间 ...
- 在 Linux 命令行中查找 IP 地址介绍
几年前,ifconfig 是 Linux 中最受欢迎的查询本机 IP 地址的方法.但是现如今 ifconfig 命令已经被启用了.在某些 Linux 发行版上已经不用了.那么,除此以外还有什么别的方式 ...
最新文章
- Tomcat 启动耗时严重
- 阿里云河源数据中心正式开服 疫情期间曾2小时扩容1万台云服务器
- python中如何导入数据包_如何在python中发送数据包?
- 服务器开机信号,机柜服务器BMC开关机控制系统及方法
- 3个你必须知道的面试新趋势, 抓住秋招尾巴拿下offer
- 物联网卡不实名认证有什么风险
- Ubuntu下查看cuda版本的两种方法
- java php 通讯录,基于ssh/bs/java/asp.net/php/web通讯录管理系统
- Bartender模板三种动态图片设置方法(仅供参考)
- 模拟电子电路技术基础 | 常用半导体器件
- 工地门禁实名制考勤管理系统
- Python学习记录—— 绘制百分比堆积柱状图
- 自动驾驶 Apollo 源码分析系列,感知篇(一)
- 计算机sid 用户sid,win10系统怎么生成新的SID号
- matlab潮汐观测数据,潮汐观测方法有哪些?
- 今日头条的推荐阅读你为什么都喜欢?
- 如何禁用WordPress程序REST API功能且移除wp-json链接
- 《产品游戏化》电子书下载(epub+mobi+pdf) Netflix、迪士尼、微软巨头在使用的产品策略
- AE插件:能量激光描边光效特效Saber Mac
- 18-基于双TMS320C6678 DSP的3U VPX的信号处理平台
热门文章
- Azure恢复服务-使用Windows Backup备份到云端
- eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
- ORACLE索引失效,更新统计信息
- windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码
- 查杀linux线程指令
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析(3)
- 5.4Python数据处理篇之Sympy系列(四)---微积分
- Java小工具:TimingTools
- CentOS查看主板型号、CPU、显卡、硬盘等信息
- 性能压测诡异的Requests/second 响应刺尖问题