马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。
除在一个目次布局下查找文件这类基础的操纵,你还能够用find命令完成一些有用的操纵,使你的命令行之旅加倍浅易。
本文将先容15种不管是于老手仍是老鸟都十分有效的Linuxfind命令。
起首,在你的home目次上面创立上面的空文件,来测试上面的find命令示例。- #vimcreate_sample_files.shtouchMybashProgram.shtouchmycprogram.ctouchMyCProgram.ctouchProgram.cmkdirbackupcdbackuptouchMybashProgram.shtouchmycprogram.ctouchMyCProgram.ctouchProgram.c#chmod+xcreate_sample_files.sh#./create_sample_files.sh#ls-R.:backupMybashProgram.shMyCProgram.ccreate_sample_files.shmycprogram.cProgram.c./backup:MybashProgram.shmycprogram.cMyCProgram.cProgram.c
复制代码 1.用文件名查找文件
这是find命令的一个基础用法。上面的例子展现了用MyCProgram.c作为查找名在以后目次及其子目次中查找文件的办法。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c
复制代码 2.用文件名查找文件,疏忽巨细写
这是find命令的一个基础用法。上面的例子展现了用MyCProgram.c作为查找名在以后目次及其子目次中查找文件的办法,疏忽了巨细写。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c
复制代码 3.利用mindepth和maxdepth限制搜刮指定目次的深度
在root目次及其子目次下查找passwd文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd
复制代码 在root目次及其1层深的子目次中查找passwd.(比方root—level1,andonesub-directory—level2)- #find-maxdepth2-namepasswd./etc/passwd
复制代码 在root目次下及其最年夜两层深度的子目次中查找passwd文件.(比方root—level1,andtwosub-directories—level2and3)- #find/-maxdepth3-namepasswd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd
复制代码 在第二层子目次和第四层子目次之间查找passwd文件。- #find-mindepth3-maxdepth5-namepasswd./usr/bin/passwd./etc/pam.d/passwd
复制代码 4.在find命令查找到的文件上实行命令
上面的例子展现了find命令来盘算一切不辨别巨细写的文件名为“MyCProgram.c”的文件的MD5考证和。{}将会被以后文件名代替。- #find-iname"MyCProgram.c"-execmd5sum{};d41d8cd98f00b204e9800998ecf8427e./mycprogram.cd41d8cd98f00b204e9800998ecf8427e./backup/mycprogram.cd41d8cd98f00b204e9800998ecf8427e./backup/MyCProgram.cd41d8cd98f00b204e9800998ecf8427e./MyCProgram.c
复制代码 5.相反婚配
显现一切的名字不是MyCProgram.c的文件大概目次。因为maxdepth是1,以是只会显现以后目次下的文件和目次。- #find-maxdepth1-not-iname"MyCProgram.c"../MybashProgram.sh./create_sample_files.sh./backup./Program.c
复制代码 6.利用inode编号查找文件
任何一个文件都有一个举世无双的inode编号,借此我们能够辨别文件。创立两个名字类似的文件,比方一个有空格开头,一个没有。- #touch"test-file-name"#touch"test-file-name"[Note:Thereisaspaceattheend]#ls-1test*test-file-nametest-file-name
复制代码 从ls的输入不克不及辨别哪一个文件有空格开头。利用选项-i,能够看到文件的inode编号,借此能够辨别这两个文件。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c0
复制代码 你能够以下面所示在find命令中指定inode编号。在此,find命令用inode编号重定名了一个文件。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c1
复制代码 你能够在你想对那些像下面一样的糟定名的文件做某些操纵时利用这一手艺。比方,名为file?.txt的文件名字中有一个特别字符。若你想实行“rmfile?.txt”,上面所示的一切三个文件城市被删除。以是,接纳上面的步骤来删除"file?.txt"文件。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c2
复制代码 找到每个文件的inode编号。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c3
复制代码 以下所示:利用inode编号来删除那些具有特别标记的文件名。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c4
复制代码 7.依据文件权限查找文件
上面的操纵时公道的:
- 找到具有指定权限的文件
- 疏忽其他权限位,反省是不是和指定权限婚配
- 依据给定的八进制/标记表达的权限搜刮
此例中,假定目次包括以下文件。注重这些文件的权限分歧。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c5
复制代码 找到具有组读权限的文件。利用上面的命令来找到以后目次下对同组用户具有读权限的文件,疏忽该文件的其他权限。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c6
复制代码 找到对组用户具有只读权限的文件。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c7
复制代码 找到对组用户具有只读权限的文件(利用八进制权限情势)。- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c8
复制代码 8.找到home目次及子目次下一切的空文件(0字节文件)
上面命令的输入文件尽年夜多半都是锁定文件盒其他程序创立的placehoders- #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c9
复制代码 只列出你home目次里的空文件。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c0
复制代码 只列出昔时目次下的非埋没空文件。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c1
复制代码 9.查找5个最年夜的文件
上面的命令列出以后目次及子目次下的5个最年夜的文件。这会必要一点工夫,取决于命令必要处置的文件数目。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c2
复制代码 10.查找5个最小的文件
办法同查找5个最年夜的文件相似,区分只是sort的按次是降序。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c3
复制代码 下面的命令中,极可能你看到的只是空文件(0字节文件)。云云,你可使用上面的命令列出最小的文件,而不是0字节文件。- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c4
复制代码 11.利用-type查找指定文件范例的文件
只查找socket文件- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c5
复制代码 查找一切的目次- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c6
复制代码 查找一切的一样平常文件- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c7
复制代码 查找一切的埋没文件- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c8
复制代码 查找一切的埋没目次- #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c9
复制代码 12.经由过程和其他文件对照修正工夫查找文件
显现在指定文件以后做出修正的文件。上面的find命令将显现一切的在ordinary_file以后创立修正的文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd0
复制代码 13.经由过程文件巨细查找文件
利用-size选项能够经由过程文件巨细查找文件。
查找比指定文件年夜的文件- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd1
复制代码 查找比指定文件小的文件- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd2
复制代码 查找切合给定巨细的文件- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd3
复制代码 注重:–指比给定尺寸小,+指比给定尺寸年夜。没有标记代表和给定尺寸完整一样年夜。
14.给经常使用find操纵取别号
若你发明有些器材很有效,你能够给他取别号。而且在任何你但愿的中央实行。
经常使用的删除a.out文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd4
复制代码 删除c程序发生的core文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd5
复制代码 15.用find命令删除年夜型打包文件
上面的命令删除年夜于100M的*.zip文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd6
复制代码 用别号rm100m删除一切年夜雨100M的*.tar文件。利用一样的头脑能够创立rm1g,rm2g,rm5g的一种别名来删除一切年夜于1G,2G,5G的文件。- #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd7
复制代码 Find命令示例(第二部分)
若你喜好这篇关于find命令的Mommy文章,别忘了看看第二部分的关于find命令的Daddy文章。
原文地点:http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/
买一本命令参考手册是必要的,遇到不知道怎么用的命令可以随时查询,这要比查man文档快.特别适合英语不好。 |