Linux命令详解(7)-find命令(一)
终于下决心写这个命令的详解,挑站下自己的毅力,争取尽量写多点。
find命令,跟英文意思一致,用于在磁盘内查找文件、目录等。
--help可以获得命令格式等简单帮助信息。
语法:
find 路径 -选项 [ -print ] [ -exec commdnd ] {} \;
如果路径是空字符串,则使用当前路径。
如果后面的表达式为空,那么则使用默认的表达式。
如图所示,路经后没有表达式,效果相当于查找任意,包括目录。
-print选项和-print0选项,选项为True,将在标准输出打印搜索结果完整的文件名(包含路径)。
一般来说输出的文件名最后有结束符、换行符。如果你不想输出它们,那么你就需要使用-print0选项。
-type选项,定义本次搜索文件的类型,f代表普通文件,d代表目录,l代表软连接文件,p代表管道名,b代表块文件,s代表sock文件,c代表字符设备文件
例1:查找名为bcd的目录
find ./ -type d -name bcd
如图,搜索到两个名为bcd的目录
-name选项和-iname选项,查找指定名的文件,-iname选项不区分大小写
例2:查找以b开头的普通文件(区分大小写)
find ./ -type f -name "b*"
例3:查找以b开头的普通文件(不区分大小写)
find ./ -type f -iname "b*"
如图,-iname搜索结果包含b和B开头的文件,-name仅包含b开头的文件。
这里有个细节,例子中使用了通配符“*”,此时必须使用引号括起来代表文件名,否则搜索结果未空。本图第一行运行结果为空。
如果没有“-type f”,那么除了普通文件,目录等其他类型文件也会被搜索到。
例4:查找以b开头的文件(不区分大小写)
find ./ -iname "b*"
-perm选项,按文件权限来查找文件
例5:查找权限为777的普通文件
find ./ -type f -perm 0777 -print
如图,b3.txt文件权限是777,其他文件不是。搜索结果只有b3.txt
例6:下面3个命令用法分别针对查找设置了SUID、SGID、粘着位(sticky)文件
find ./ -type f -perm 4755 或 find ./ -type f -perm /u=s
find ./ -type f -perm 2755 或 find ./ -type f -perm /g=s
find ./ -type f -perm 1755 或 find ./ -type f -perm /o=t
对创建者设置了强制位,执行这个文件时,将会以文件所有者身份执行该文件。
粘贴位只对目录有效,它可以让普通用户对该目录下文件可写,但是只有文件主和root用户可以删除。
-empty选项,查找空文件(文件长度为零)
例7:查找bcd目录下的空文件
find ./bcd -empty
如图,bcd下有两个文件,其中B1.txt为空。该命令只搜索了bcd目录,没有搜索其他目录,afg目录下的空文件b3.txt没有出现在搜索结果内。
"!"符号,搜索选项取反。这个符号放在选项之前,条件将会是相反的。
例7:查找不为空的文件,权限不是777的普通文件
find -type f ! -empty ! -perm 777
如图,b1.txt和b4.txt都不是空文件,b4.txt权限是777。所以搜索结果是b1.txt
-delete选项,找到文件并删除。
例8:找到b3.txt并删除
find -type f -name b3.txt -print -delete
如图,afg目录下有文件b3.txt,执行命令后b3.txt已经不存在了。
-user选项,按文件属主查找
例9:查找属主是root的文件
find ./ -user root
如图,属主是root的文件和目录各有1个。搜索结果正确。
-group选项,按文件所属组查找
例10:查找属组是root的文件
find ./ -group root
如图,属组的文件有2个,目录有1个。搜索结果正确。
-nouser选项,查找无有效属主文件
-nogroup选项,查找无有效属组文件
例11:查找无有效属主文件,查找无有效属组文件
find ./ -nouser
find ./ -nogroup
如图,c4.txt文件是属组无效文件,c1.txt文件是无有效属主和无有效属组文件。
这两个选项,在系统中删除用户后,用来查找垃圾文件。
----------待续...----------
Linux命令详解(7)-find命令(一)相关推荐
- linux下载命令 scp,linux命令详解之scp命令
作用 scp命令常用于linux之间复制文件和目录. scp是secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令. 格式 从本地复制到远程 复制文件 sc ...
- Linux常用命令详解 ls -l命令详解
Linux常用命令详解 ls -l命令详解 一.ls -l命令显示效果 使用ls -l会产生长列表格式输出,包含了目录中每个文件的更多的信息. 注:蓝色或/表示目录,如果带绿色或*号表示可执行文件. ...
- Linux命令详解之w命令
Linux命令详解之w命令 1.命令详解 ··· NAMEw - Show who is logged on and what they are doing. w命令就是用来展示谁在登录,以及他们在做 ...
- Linux命令详解:md5sum 命令
Linux命令详解:md5sum 命令 一.md5 算法介绍 二.md5sum 命令使用说明 三.md5sum 命令帮助 四.md5sum 命令选项.参数 语法 选项 参数 五.md5sum 命令实战 ...
- linux命令chgrp,Linux命令详解之–chgrp命令 | Linux大学
摘要 Linux chgrp命令 可以用来变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可. 我们在Linux命令详解之–chown命令 | Linux大学这篇文章中,我们介绍了更改文件 ...
- Touch命令详解【Shell命令】
Touch命令详解[Shell命令] 创建一个文件shell命令:touch 文件名.文件扩展名 例如:touch hello.sh //创建一个名为hello的shell脚本文件
- linux vsftpd用法,Linux_LINUX系统下vsftpd 命令详解,FTP命令是Internet用户使用最频 - phpStudy...
LINUX系统下vsftpd 命令详解 FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令. 熟悉并灵活应用FTP的内 ...
- 搜索系统中所有以.repo结尾的文件并删除(find命令详解及xargs命令详解)
find / -name *.repo | xargs rm –rf //搜索以.repo结尾的文件并删除 find命令详解 精细查找文件或目录d find [ 查找范围 ] [ 查找条件表达式 ]常 ...
- VCS命令详解(一):编译命令
VCS仿真命令详解 编译时候的命令(按字母排序) A B C D E F G H I J L M N O P Q R S T U V W Y 本文中所有命令基于VCS2014版 编译时候的命令(按字母 ...
- Nmap命令详解及常用命令总结
Nmap学习 文章目录 Nmap学习 0 Nmap 介绍 1 Nmap命令详解 1.1 Nmap 命令help详解(内附中文翻译) 1.2 Nmap 命令思维导图 2 Nmap 常见使用场景以及相关命 ...
最新文章
- MyBatis学习总结(五)——实现关联表查询
- android 动态 dex,Android 动态加载dex
- 行业短信 运营思路_飞信、易信之后 三大运营商要借5G再战微信
- PHP7 - MongoDB Driver 使用心得
- mac 上搭建gitlabel_在mac终端中使用git(适用于github、gitlabel)
- Boost:bimap双图信息的测试程序
- javascript --- 手写Promise、快排、冒泡、单例模式+观察者模式
- Teams App设备的地理位置能力
- echarts 卡_图表太丑怎么破,ECharts神器带你飞!
- (转)Bootstrap 之 Metronic 模板的学习之路 - (3)源码分析之 body 部分
- pycharm远程调试报错cant ser remote tunneling
- 韩国拟监管加密相关国际汇款,以限制资金流向海外
- Java 集合系列 16 HashSet
- 中介者模式(Mediator)
- babel 无法解析jsx (webpack react )
- 团队项目第一阶段站立会议01
- GridLayout 介绍 (转载自http://www.cnblogs.com/skywang12345/p/3154150.html)
- AsyncTask下载图片
- 查询计算机物理地址指令,怎么查询mac地址命令_如何查mac地址
- com.itextpdf.text.exceptions.IllegalPdfSyntaxException: Unbalanced save/restore state operators