问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux下Find命令的使用

发布网友 发布时间:2022-04-21 04:44

我来回答

1个回答

热心网友 时间:2023-11-05 15:11

find是linux中查找的命令,其工作效率确实不能说是很高,但是需要经常使用,所以要掌握find的用法。find [directory] 寻找条件操作还有种表述方式:find PATH OPTION [-exec COMMAND { } \;##如果想得到的输出结果是绝对目录,那么查找的directory也要写绝对路径,如果写相对路径,输出的也是相对路径该命令中的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运算符 and、or、not 的含义为:
(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:find –name ’tmp’ –xtype c -user ’inin’该命令寻找三个给定条件都满足的所有文件(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:find –name ’tmp’ –o –name ’mina*’该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如:find ! –name ’tmp’该命令查询文件名不是’tmp’的所有文件。需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。例:find \(–name ’tmp’ –xtype c -user ’inin’ \)
下面我说一下find命令的option在option中,具体有参数:-name ’字串’查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。-lname ’字串’查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。-gid n 查找属于ID号为 n 的用户组的所有文件。-uid n 查找属于ID号为 n 的用户的所有文件。-group ’字串’查找属于用户组名为所给字串的所有的文件。-user ’字串’查找属于用户名为所给字串的所有的文件。-empty 查找大小为 0的目录或文件。-path ’字串’查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。-perm 权限查找具有指定权限的文件和目录,权限的表示可以如711,644。-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为 b,代表512字节的块。-type x 查找类型为 x 的文件,x 为下列字符之一:-maxdepyh n 只查找制定目录下的符合匹配的文件或目录b 块设备文件c 字符设备文件d 目录文件p 命名管道(FIFO)f 普通文件l 符号链接文件(symboliclinks)s socket文件-xtype x 与 -type 基本相同,但只查找符号链接文件。以时间为条件查找-amin n 查找n分钟以前被访问过的所有文件。-atime n 查找n天以前被访问过的所有文件。-cmin n 查找n分钟以前文件状态被修改过的所有文件。-ctime n 查找n天以前文件状态被修改过的所有文件。-mmin n 查找n分钟以前文件内容被修改过的所有文件。-mtime n 查找n天以前文件内容被修改过的所有文件。-print:将搜索结果输出到标准输出。例子:在root以及子目录查找不包括目录/root/bin的,greek用户的,文件类型为普通文件的,3天之前的名为test-find.c的文件,并将结构输出,find命令如下:find / -name "test-find.c" -typef -mtime +3 -user greek -prune /root/bin -print当然在这其中,-print是一个默认选项,我们不必刻意去配置它。我们再看一下exec选项:-exec:对搜索的结构指令指定的shell命令。注意格式要正确:"-exec命令 {} \;"在}和\之间一定要有空格才行;{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。例子:对上述例子搜索出来的文件进行删除操作,命令如下:find / -name "test-find.c" -typef -mtime +3 -user greek -prune /root/bin -exec rm {} \;find命令指令实例:find . - name ‘main*’ - exec more {} \;% 查找当前目录中所有以main开头的文件,并显示这些文件的内容。find . \(- name a.out - o - name‘*.o’\) - atime +7 - exec rm {} \;% 删除当前目录下所有一周之内没有被访问过的a.out或*.o文件。% 命令中的“.”表示当前目录,此时find 将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。% “\(”和“\)”表示括号(),其中的“\”称为转义符。之所以这样写是由于对Shell 而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。% “-name a.out”是指要查找名为a.out的文件;% “-name ‘*.o’”是指要查找所有名字以 .o 结尾的文件。这两个 -name 之间的 -o 表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件。find命令在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件 -atime +7),若是,则对该文件执行命令rm(-exec rm {} \;)。其中 {} 代表当前查到的符合条件的文件名,\;则是语法所要求的。上述命令中第一行的最后一个 \ 是续行符。当命令太长而在一行写不下时,可输入一个 \,之后系统将显示一个 ,指示用户继续输入命令。以上就是今天我学习find命令的全部内容,如果有不足的地方还请大家指出。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 linux学习日记八 认识与学习bash linux find命令中-exex命令语法 Linux下,find命令可以常找文件内容吗? linux删除命令这样写不对吗,提示我find: 遗漏“-exec”的参数 Linux中find与exec配合使用的问题 怎样利用find命令查到50个文件后就返回,而不是一直查找下去 404 Not Found linux系统中find命令之exec使用介绍 如何使用find命令查找文件? C语言程序设计问题 find的exec怎么一次执行多个命令 linux的find -exec命令的问题 linux find -exec 后面的{}是干什么用的 如何ping全部ip 如何ping IP地址 以及为什么要ping IP 如何PING出IP地址? 怎么用ping得到IP地址? 怎么用cmd ping自己的IP ping 本机IP地址 怎样用ping命令获得本机的IP地址 linux如何删除目录linux如何删除目录 张姓小孩取名大全 姓张的给小孩取什么名字好? 姓张男孩大字辈怎么起名? 苹果11设置siri的自定义回答 “错误”是什么 在现代网页设计中,动效有哪些常见的用法? 错误意思是什么 在现代网页设计中,动效有哪些常见的用法 郑愁予的《错误》全文 郑愁予的《错误》赏析 分享几款UI动效设计工具,看看你知道几个? 哪些动效设计可以给网站建设带来神奇的效果 网页设计的流行趋势是什么? 制作网页的动态效果,用什么软件最简单啊? 错误是什么意思、? ui设计作品集里的动效怎么做的 UI 设计对动效的要求高吗,需要掌握到什么程度 古诗《错误》的解释 网页设计的方法有哪些?