仓酷云

标题: 来谈谈:linux中Find命令的利用 [打印本页]

作者: 分手快乐    时间: 2015-1-16 12:15
标题: 来谈谈:linux中Find命令的利用
安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh
明天一个很偶尔的时机看到了linux中的find命令,然后我在网上搜刮了一下这方面的内容,为了便利人人进修参考,我就总结一下,一上午的休息功效,呵呵
起首是find的语法:
find[肇端目次]寻觅前提操纵
另有种表述体例:findPATHOPTION[-execCOMMAND{};]
由于find命令会依据我们给的option,也就是寻觅前提从我们给出的目次入手下手对个中文件及其下子目次中的文件举行递回搜刮,以是我觉的这个中央说是“肇端目次”长短常好的。
该命令中的寻觅前提能够是一个用逻辑运算符not、and、or构成的复合前提。逻辑运算符and、or、not的寄义为:
(1)and:逻辑与,在命令顶用“-a”暗示,是体系缺省的选项,暗示只要当所给的条件都满意时,寻觅前提才算满意。比方:
findCname’tmp’Cxtypec-user’inin’
%该命令寻觅三个给定前提都满意的一切文件
(2)or:逻辑或,在命令顶用“-o”暗示。该运算符暗示只需所给的前提中有一个满意时,寻觅前提就算满意。比方:
findCname’tmp’CoCname’mina*’
%该命令查询文件名为’tmp’或是婚配’mina*’的一切文件。
(3)not:逻辑非,在命令顶用“!”暗示。该运算符暗示查找不满意所给前提的文件。比方:
find!Cname’tmp’
%该命令查询文件名不是’tmp’的一切文件。
必要申明的是:当利用良多的逻辑选项时,能够用括号把这些选项括起来。为了不Shell自己对括号引发曲解,在话号前必要加本义字符“”往复除括号的意义。例:
find(Cname’tmp’Cxtypec-user’inin’)
我觉的如今我应当说下出了查询前提,在find中的option的内容了:
在option中,详细有参数:
-name’字串’查找文件名婚配所给字串的一切文件,字串内可用通配符*、?、[]。
-lname’字串’查找文件名婚配所给字串的一切标记链接文件,字串内可用通配符*、?、[]。
-gidn查找属于ID号为n的用户组的一切文件。
-uidn查找属于ID号为n的用户的一切文件。
-group’字串’查找属于用户组名为所给字串的一切的文件。
-user’字串’查找属于用户名为所给字串的一切的文件。
-empty查找巨细为0的目次或文件。
-path’字串’查找路径名婚配所给字串的一切文件,字串内可用通配符*、?、[]。
-perm权限查找具有指定权限的文件和目次,权限的暗示能够如711,644。
-sizen[bckw]查找指定文件巨细的文件,n前面的字符暗示单元,缺省为b,代表512字节的块。
-typex查找范例为x的文件,x为以下字符之一:
b块设备文件
c字符设备文件
d目次文件
p定名管道(FIFO)
f一般文件
l标记链接文件(symboliclinks)
ssocket文件
-xtypex与-type基础不异,但只查找标记链接文件。
以工夫为前提查找
-aminn查找n分钟之前被会见过的一切文件。
-atimen查找n天之前被会见过的一切文件。
-cminn查找n分钟之前文件形态被修正过的一切文件。
-ctimen查找n天之前文件形态被修正过的一切文件。
-mminn查找n分钟之前文件内容被修正过的一切文件。
-mtimen查找n天之前文件内容被修正过的一切文件。
-print:将搜刮了局输入到尺度输入。
例子:在root和子目次查找不包含目次/root/bin的,greek用户的,文件范例为一般文件的,3天之前的名为test-find.c的文件,并将布局输入,find命令以下:
find/-name"test-find.c"-typef-mtime+3-usergree
12下一页


linux系统的文件布置,etc/,opt/目录的内容等;
作者: 分手快乐    时间: 2015-1-16 13:23
标题: 来谈谈:linux中Find命令的利用
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。
k-prune/root/bin-print</P>固然在这个中,-print是一个默许选项,我们不用决心往设置它。
我们再看一下exec选项:
-exec:对搜刮的布局指令指定的shell命令。注重格局要准确:"-exec命令{}\;"
在}和\之间必定要有空格才行;
{}暗示命令的参数即为所找到的文件;命令的开端必需以“\;”停止。
例子:对上述例子搜刮出来的文件举行删除操纵,命令以下:
find/-name"test-find.c"-typef-mtime+3-usergreek-prune/root/bin-execrm{}\;
find命令指令实例:
find.-name‘main*’-execmore{}\;
%查找以后目次中一切以main开首的文件,并显现这些文件的内容。
find.\(-namea.out-o-name‘*.o’\)>-atime+7-execrm{}\;
%删除以后目次下一切一周以内没有被会见过的a.out或*.o文件。
%命令中的“.”暗示以后目次,此时find将从以后目次入手下手,逐一在其子目次中查找满意前面指定前提的文件。
%“\(”和“\)”暗示括号(),个中的“\”称为本义符。之以是如许写是因为对Shell而言,(和)尚有分歧的寄义,而不是这里的用于组合前提的用处。
%“-namea.out”是指要查找名为a.out的文件;
%“-name‘*.o’”是指要查找一切名字以.o开头的文件。
这两个-name之间的-o暗示逻辑或(or),即查找名字为a.out或名字以.o开头的文件。
%find命令在以后目次及其子目次下找到这佯的文件以后,再举行判别,看其最初会见工夫是不是在7天之前(前提-atime+7),如果,则对该文件实行命令rm(-execrm{}\;)。
个中{}代表以后查到的切合前提的文件名,\;则是语法所请求的。
%上述命令中第一行的最初一个\是续行符。当命令太长而在一行写不下时,可输出一个\,以后体系将显现一个>,唆使用户持续输出命令。

</p>
上一页12


文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
作者: 兰色精灵    时间: 2015-1-18 16:47
一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?
作者: 简单生活    时间: 2015-1-27 12:46
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
作者: 蒙在股里    时间: 2015-2-5 13:47
安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
作者: 小女巫    时间: 2015-2-12 02:56
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。
作者: 爱飞    时间: 2015-3-2 22:21
应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。
作者: 仓酷云    时间: 2015-3-11 08:34
生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。
作者: 愤怒的大鸟    时间: 2015-3-18 07:38
熟读写基础知识,学得会不如学得牢。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2