|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
前阵子,我们检察了15件实事find命令的例子(第一部分)。查找命令能够做良多比只是在寻觅基于称号的文件(第2部分)在这篇文章中,让我们来会商15初级find命令的例子,包含-依据它会见,修正或改动的工夫查找文件,查找文件比拟之下,实行操纵找到的文件等。
基于会见/修正/变动工夫查找文件
你能够找到基于以下三个文件的工夫属性的文件。
- 会见工夫的文件。文件会见时,会见工夫失掉更新。
- 的文件的修正工夫。文件内容修正时,修正工夫失掉更新。
- 变动文件的工夫。变动工夫时,被更新的inode数据的变更。
鄙人面的例子中,min选项之间的差别和工夫选项是参数。
- 分论点将它的参数为分钟。比方,60分钟(1小时)=60分钟。
- 工夫参数,将它的参数为24小时。比方,工夫2=2*24小时(2天)。
- 固然如许做的24个小时盘算,小数部分都将被疏忽,以是25小时为24小时,和47小时取为24小时,仅48小时为48小时。要取得更明晰的参考atime的部分find命令的手册页。
例1:找到在1个小时内被变动的文件
想要经由过程文件修正工夫找出文件,可使用参数-mmin-mtime。上面是man手册中有关mmin和mtime的界说。
- -mminn文件最初一次修正是在n分钟以内
- -mtimen文件最初一次修正是在n*24小时以内(译者注:也就是n天了呗)
实行上面例子中的命令,将会找到以后目次和其子目次下,比来一次修正工夫在1个小时(60分钟)以内的文件或目次 一样的体例,实行上面例子中的命令,将会找到24小时(1天)内修正了的文件(文件体系根目次/下) 例2:找到1个小时内被会见过的文件
想要经由过程文件会见工夫找出文件,可使用参数-amin-atime。上面是man手册中有关amin和atime的界说。
- -aminn文件最初一次会见是在n分钟以内
- -atimen文件最初一次会见是在n*24小时以内
实行上面例子中的命令,将会找到以后目次和其子目次下,比来一次会见工夫在1个小时(60分钟)以内的文件或目次 一样的体例,实行上面例子中的命令,将会找到24小时(1天)内被会见了的文件(文件体系根目次/下) 例3:查找一个小时内形态被改动的文件
(译者注:这里的改动更第1个例子的变动文件内容工夫是分歧观点,这里是变动的是文件inode的数据,好比文件的权限,所属人等等信息)
要查找文件的inode的变动工夫,利用-cmin和-ctime选项
- -cminn文件的形态在n分钟内被改动
- -ctimen文件形态在n*24小时内(也就是n天内)被改动
(译者注:假如下面的n为-n情势,则暗示n分钟/天以内,n为+n则暗示n分钟/天之前)
上面的例子在以后目次和其子目次上面查找一个小时内文件形态改动的文件(也就是60分钟内): 一样的事理,上面的例子在根目次/及其子目次下一天内(24小时内)文件形态被改动的文件列表: 例4:搜刮仅仅限制于文件,不显现文件夹
下面的例子搜刮出来不单单有文件,还会显现文件夹。由于当一个文件被会见的时分,它所处的文件夹也会被会见,假如你对文件夹不感乐趣,那末可使用-typef选项
上面的例子会显现30分钟内被修正过的文件,文件夹不显现:- #find/etc/sysconfig-amin-30../console./network-scripts./i18n./rhn./rhn/clientCaps.d./networking./networking/profiles./networking/profiles/default./networking/profiles/default/resolv.conf./networking/profiles/default/hosts./networking/devices./apm-scripts[注:下面的输入包括了文件和文件夹]#find/etc/sysconfig-amin-30-typef./i18n./networking/profiles/default/resolv.conf./networking/profiles/default/hosts[注:下面的输入仅仅包括文件]
复制代码 例5:仅仅查找非埋没的文件(不显现埋没文件):
假如我们查找的时分不想埋没文件也显现出来,可使用上面的正则式查找:
上面的命令会显现以后目次及其子目次下15分钟内文件内容被修正过的文件,而且只列出非埋没文件。也就是说,以.开首的文件时不会显现出来的- #find.-mmin-15(!-regex".*/..*")
复制代码 基于文件对照的查找命令
我们平常经由过程更其余器材举行对照,会更简单记着一些事变。好比说我想找出在我编纂test文件以后编纂过的文件。你能够经由过程test这个文件的编纂工夫作为对照基准往查找以后编纂过的文件:
例6:查找文件修正工夫在某一文件修正后的文件:
上面的例子显现在/etc/passwd修正以后被修正过的文件。关于体系办理员,想晓得你新增了一个用户后往跟踪体系的举动形态是很有匡助的(万一那新用户不厚道,一下去就乱弄,你很快就晓得了^_^): 例7:查找文件会见工夫在某一文件的修正工夫以后的文件:
上面的例子显现一切在/etc/hosts文件被修正后被会见到的文件。假如你新增了一个主机/端口纪录在/etc/hosts文件中,你极可能很想晓得在那以后有甚么文件被会见到了,上面是这个命令: 例8:查找形态改动工夫在某个文件修正工夫以后的文件:
上面的例子显现在修正文件/etc/fstab以后一切文件形态改动过的文件。假如你在/etc/fstab新增了一个挂载点,你极可能像晓得那以后那些文件的形态产生了改动,这时候候你可使用以下命令: 在查找到的文件列表了局上间接实行命令:
这之前你已看到了假如经由过程find命令往查找各类前提的文件列表。假如你对这些find命令还不熟习,我倡议你看完下面的第一部分
接上去这部分我们向你先容假如在find命令上实行各类分歧的命令,也就是说怎样往操纵find命令查找出来的文件列表。
我们能在find命令查找出来的文件名列表上指定恣意的操纵: 个中的OPERATION能够是恣意的命令,上面枚举一下对照经常使用的:
- rm命令,用于删除find查找出来的文件
- mv命令,用于重定名查找出的文件
- ls-l命令,显现查找出的文件的具体信息
- md5sum,对查找出的文件举行md5sum运算,能够取得一个字符串,用于检测文件内容的正当性
- wc命令,用于统计盘算文件的单词数目,文件巨细守候
- 实行任何Unix的shell命令
- 实行你本人写的shell剧本,参数就是每一个查找出来的文件名
例9:在find命令输入上利用ls-l,枚举出1小时内被编纂过的文件的具体信息
例10:仅仅在以后文件体系中搜刮
体系办理员偶然候仅仅想在/挂载的文件体系分区上搜刮,而不想往搜刮其他的挂载分区,好比/home/挂载分区。假如你有多个分区被挂载了,你想在/下搜刮,一样平常能够按上面的如许做
上面这个命令会搜刮根目次/及其子目次下一切.log开头的文件名。假如你有多个分区在/上面,那末这个搜刮会往搜刮一切的被挂载的分区: 假如我们利用-xdev选项,那末仅仅会在在以后文件体系中搜刮,上面是在xdev的manpage下面找到的一段-xdev的界说:
- -xdevDon’tdescenddirectoriesonotherfilesystems.
上面的命令会在/目次及其子目次下搜刮以后文件体系(也就是/挂载的文件体系)中一切以.log开头的文件,也就是说假如你有多个分区挂载在/上面,上面的搜刮不会往搜刮其他的分区的(好比/home/) 例11:在统一个命令中利用多个{}
linux手册说命令中只能利用一个{},不外你能够像上面如许在统一个命令中利用多个{} 注重,在统一个命令中利用这个{}是能够的,可是在分歧的命令里就不可了,也就是说,假如你设想上面如许重定名文件是行欠亨的 例12:利用多个{}实例
你能够像上面如许写一个shell剧本往摹拟下面谁人重定名的例子 下面的双引号是为了避免文件名中呈现的空格,不加的话会有成绩。然后你把这个shell剧本保留为mv.sh,你能够像上面如许利用find命令了 以是,任何情形下你在find命令实行中想利用统一个文件名屡次的话,先写一个剧本,然后在find中经由过程-exec实行这个剧本,把文件名参数传送出来就行,这是最复杂的举措
例13:将毛病重定向到/dev/nul
重定向毛病输入一样平常不是甚么好的设法。一个有履历的程序员明白在终端显现毛病并实时修改它是很主要的。
特别是在find命令中重定向毛病不是个好的理论。可是假如你的确不想看到那些烦人的毛病,想把毛病都重定向到null设备中(也就是linux上的黑洞安装,任何丢出来的器材消散的无影无踪了)。你能够像上面如许做 偶然候这是很有效的。好比,假如你想经由过程你本人的账号在/目次下查找一切的*.conf文件,你会失掉良多良多的"Permissiondenied"的毛病动静,就像上面如许: 你说烦人不?以是,假如你只想看到find命令实在的查找了局而不是这些"Permissiondenied"毛病动静,你能够将这些毛病动静重定向到/dev/null中往 例14:将文件名中的空格换成下划线
你从网高低载上去的音频文件的文件名良多都带有空格。可是带有空格的文件名在linux(类Unix)体系内里是很欠好的。你可使用find然后前面加上rename命令的交换功效往重定名这些文件,将空格转换成下划线
上面显现如何将一切mp3文件的文件名中的空格换成_ 例15:在find了局中同时实行两条命令
在find的manpage页面中,上面是一次文件查找遍历中利用两条命令的语法举例
上面的find命令的例子,遍历文件体系一次,列出具有setuid属性的文件和目次,写进/root/suid.txt文件,假如文件巨细凌驾100M,将其纪录到/root/big.txt中 Find命令示例(第一部分)
若你喜好这篇关于find命令的Daddy文章,别忘了看看第一部分的关于find命令的Mommy文章。
妈咪,我找到了!--15个有用的Linuxfind命令示例
原文地点:15-practical-unix-linux-find-command-examples-part-2
有些人号称用过十几种甚至几十种linux,向人谈论起来头头是到,好像懂的很多。 |
|