仓酷云

标题: 来一发妈咪 我找到了! 15个有用的Linux find命令示例 [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-15 22:16
标题: 来一发妈咪 我找到了! 15个有用的Linux find命令示例
由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。
  除在一个目次布局下查找文件这类基础的操纵,你还能够用find命令完成一些有用的操纵,使你的命令行之旅加倍浅易。
  本文将先容15种不管是于老手仍是老鸟都十分有效的Linuxfind命令。



  起首,在你的home目次上面创立上面的空文件,来测试上面的find命令示例。
  1. #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作为查找名在以后目次及其子目次中查找文件的办法。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c
复制代码
  2.用文件名查找文件,疏忽巨细写

  这是find命令的一个基础用法。上面的例子展现了用MyCProgram.c作为查找名在以后目次及其子目次中查找文件的办法,疏忽了巨细写。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c
复制代码
  3.利用mindepth和maxdepth限制搜刮指定目次的深度

  在root目次及其子目次下查找passwd文件。
  1. #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)
  1. #find-maxdepth2-namepasswd./etc/passwd
复制代码
  在root目次下及其最年夜两层深度的子目次中查找passwd文件.(比方root—level1,andtwosub-directories—level2and3)
  1. #find/-maxdepth3-namepasswd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd
复制代码
  在第二层子目次和第四层子目次之间查找passwd文件。
  1. #find-mindepth3-maxdepth5-namepasswd./usr/bin/passwd./etc/pam.d/passwd
复制代码
  4.在find命令查找到的文件上实行命令

  上面的例子展现了find命令来盘算一切不辨别巨细写的文件名为“MyCProgram.c”的文件的MD5考证和。{}将会被以后文件名代替。
  1. #find-iname"MyCProgram.c"-execmd5sum{};d41d8cd98f00b204e9800998ecf8427e./mycprogram.cd41d8cd98f00b204e9800998ecf8427e./backup/mycprogram.cd41d8cd98f00b204e9800998ecf8427e./backup/MyCProgram.cd41d8cd98f00b204e9800998ecf8427e./MyCProgram.c
复制代码
  5.相反婚配

  显现一切的名字不是MyCProgram.c的文件大概目次。因为maxdepth是1,以是只会显现以后目次下的文件和目次。
  1. #find-maxdepth1-not-iname"MyCProgram.c"../MybashProgram.sh./create_sample_files.sh./backup./Program.c
复制代码
  6.利用inode编号查找文件

  任何一个文件都有一个举世无双的inode编号,借此我们能够辨别文件。创立两个名字类似的文件,比方一个有空格开头,一个没有。
  1. #touch"test-file-name"#touch"test-file-name"[Note:Thereisaspaceattheend]#ls-1test*test-file-nametest-file-name
复制代码
  从ls的输入不克不及辨别哪一个文件有空格开头。利用选项-i,能够看到文件的inode编号,借此能够辨别这两个文件。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c0
复制代码
  你能够以下面所示在find命令中指定inode编号。在此,find命令用inode编号重定名了一个文件。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c1
复制代码
  你能够在你想对那些像下面一样的糟定名的文件做某些操纵时利用这一手艺。比方,名为file?.txt的文件名字中有一个特别字符。若你想实行“rmfile?.txt”,上面所示的一切三个文件城市被删除。以是,接纳上面的步骤来删除"file?.txt"文件。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c2
复制代码
  找到每个文件的inode编号。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c3
复制代码
  以下所示:利用inode编号来删除那些具有特别标记的文件名。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c4
复制代码
  7.依据文件权限查找文件

  上面的操纵时公道的:

  此例中,假定目次包括以下文件。注重这些文件的权限分歧。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c5
复制代码
  找到具有组读权限的文件。利用上面的命令来找到以后目次下对同组用户具有读权限的文件,疏忽该文件的其他权限。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c6
复制代码
  找到对组用户具有只读权限的文件。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c7
复制代码
  找到对组用户具有只读权限的文件(利用八进制权限情势)。
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c8
复制代码
  8.找到home目次及子目次下一切的空文件(0字节文件)

  上面命令的输入文件尽年夜多半都是锁定文件盒其他程序创立的placehoders
  1. #find-name"MyCProgram.c"./backup/MyCProgram.c./MyCProgram.c9
复制代码
  只列出你home目次里的空文件。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c0
复制代码
  只列出昔时目次下的非埋没空文件。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c1
复制代码
  9.查找5个最年夜的文件

  上面的命令列出以后目次及子目次下的5个最年夜的文件。这会必要一点工夫,取决于命令必要处置的文件数目。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c2
复制代码
  10.查找5个最小的文件

  办法同查找5个最年夜的文件相似,区分只是sort的按次是降序。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c3
复制代码
  下面的命令中,极可能你看到的只是空文件(0字节文件)。云云,你可使用上面的命令列出最小的文件,而不是0字节文件。
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c4
复制代码
  11.利用-type查找指定文件范例的文件

  只查找socket文件
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c5
复制代码
  查找一切的目次
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c6
复制代码
  查找一切的一样平常文件
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c7
复制代码
  查找一切的埋没文件
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c8
复制代码
  查找一切的埋没目次
  1. #find-iname"MyCProgram.c"./mycprogram.c./backup/mycprogram.c./backup/MyCProgram.c./MyCProgram.c9
复制代码
  12.经由过程和其他文件对照修正工夫查找文件

  显现在指定文件以后做出修正的文件。上面的find命令将显现一切的在ordinary_file以后创立修正的文件。
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd0
复制代码
  13.经由过程文件巨细查找文件

  利用-size选项能够经由过程文件巨细查找文件。
  查找比指定文件年夜的文件
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd1
复制代码
  查找比指定文件小的文件
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd2
复制代码
  查找切合给定巨细的文件
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd3
复制代码
  注重:–指比给定尺寸小,+指比给定尺寸年夜。没有标记代表和给定尺寸完整一样年夜。
  14.给经常使用find操纵取别号

  若你发明有些器材很有效,你能够给他取别号。而且在任何你但愿的中央实行。
  经常使用的删除a.out文件。
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd4
复制代码
  删除c程序发生的core文件。
  1. #find/-namepasswd./usr/share/doc/nss_ldap-253/pam.d/passwd./usr/bin/passwd./etc/pam.d/passwd./etc/passwd5
复制代码
  15.用find命令删除年夜型打包文件

  上面的命令删除年夜于100M的*.zip文件。
  1. #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的文件。
  1. #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文档快.特别适合英语不好。
作者: 海妖    时间: 2015-1-17 17:24
有疑问前,知识学习前,先用搜索。
作者: 小魔女    时间: 2015-1-22 13:46
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
作者: 因胸联盟    时间: 2015-1-31 08:10
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
作者: 愤怒的大鸟    时间: 2015-2-6 18:49
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
作者: 活着的死人    时间: 2015-2-18 08:25
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
作者: 第二个灵魂    时间: 2015-3-6 03:52
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
作者: 小女巫    时间: 2015-3-12 20:57
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
作者: 再见西城    时间: 2015-3-20 04:22
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。




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