搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道Linux是命令强大的一个系统,所以也有好多非常优秀的搜索命令。通常find不常用,因为速度慢,耗费硬盘空间。通常我们先使用whereis或是locate来检查,如果真的找不到了,才以find来搜索。为什么呢?因为whereis  locate是使用数据库来搜索数据,所以相当快,而且并没有是几搜索硬盘,比较省时。

1.which(寻找“执行文件”),which 后面跟可执行文件名 如果在最后加上-a,则可以找到所有同名执行文件,而非只显示一个。这个命令是根据“PATH”环境变量所规范的路径,来搜索“执行文件”的文件名,所以重点是找出“执行文件”。
2.whereis(寻找特定文件)
为什么whereis会比find搜索速度快呢?是因为Linux系统会将系统内的所有文件都记录在一个数据库文件里,当使用whereis或者是locate时,都会以此数据库的内容为准,因此,有时,您还会发现,使用这两个执行文件时,会找到已删除的文件,而且也找不到刚刚建立的最新文件。这就是因为这两个命令是通过数据库中的结果去搜索文件。Linux每天会针对Linux主机上所有文件的位置,进行搜索数据库的更新,更新的程序就是updatedb.
3.locate的使用更简单,直接在后面输入“文件的部分名称”后,就能够得到结果。
4.find是一个功能十分强大的命令。
如果么查找一个文件,使用find是不错的主意。它可以根据不同的参数提供搜索功能,例如,么查找文件名为httpd.conf的文件,他应该是在/etc中,就可以使用“find  /etc  -name httpd.conf ”,如果还记得有一个文件的文件名包含了httpd.conf的文件,但不知道全名,可以用通配符*,如“find  /etc  -name  '*httpd' ”就可以将文件名包含httpd的文件都列出来,不过由于find在查找数据时相当消耗硬盘,所以一般不要使用find,有更好的命令可以取代它,那就是whereis 与locate.
 
例一:将过去系统上24小时内更改所内容的文件列出:find  /  -mtime  0,其中0是重点,0表示当前时间,所以,从现在开始到24小时前
 
例二:查找/etc下面的文件,如果文件日期比/etc/passwd新就列出来:find  /etc  -newer  /etc/passwd
 
例三:搜索/home下面属于dmtsai的文件:find  /home  -user  dmtsai
 
例四:搜索系统中不属于任何人的文件: find  /  -nouser,通过这个命令,可以很轻松地找出不太正常的我呢见,如果找到不属于系统任何人的文件时,不要太紧张,有时候是正常的。尤其是您以源码自行编译软件时。
 
例五:找出文件名为passwd的文件:find  /  -name  passwd
 
例六:搜索文件中含有SGID/SUID/SBIT的属性:find  /  -perm  +7000
7000就是---s--s--t,只要含有s或t的就列出,所以要加7000
 
例七:将上例中找到的文件使用ls -l列出来:find  /   perm  +7000  -exec ls -l  {} \;
其中-exec后面的命令就是额外的命令,{}表示”有find找到的内容“,所以,-exec ls -l {}就是将前面找到的文件详细信息列出来。-exec最后一定要以\;结束才行。
 
例八:找出系统中大于1MB的文件:find  /  size  +1000K
 
转载自:http://blog.chinaunix.net/uid-26983585-id-3391759.html

[转载] Linux中的搜索文件命令的更多相关文章

  1. S5 Linux信息显示与搜索文件命令

    5.1-5 uname.hostname.dmesg.stat.du 5.6 date:显示与设置系统时间 5.7 echo:显示一行文本 5.8-12 watch.which.whereis.loc ...

  2. 【转载】Linux中强大且常用命令:find、grep

    转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...

  3. linux常用搜索文件命令

    使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索.搜索文件的命令为”find“:”locate“:”whereis“:”which“:”type“ 方法/步骤     ...

  4. linux中如何修改文件夹的用户权限 chown命令

    linux中,可以使用chown命令来修改文件夹的用户权限. 1.  以普通用户 A 登录linux,利用su -切换到root用户 2. 在root用户下,可以看到文件夹内容 3. 但通过文件系统, ...

  5. Linux中查看各文件夹大小命令:du -h --max-depth=1

    Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...

  6. 【日常小记】linux中强大且常用命令:find、grep【转】

    转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...

  7. [转]linux中强大的screen命令

    [转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...

  8. Linux中/etc/passwd文件与/etc/shadow文件解析.

    此文章转载自"慧可",用来学习. 1. /etc/passwd文件 1.1 /etc/passwd文件内容格式 用户名: 密码 : uid  : gid :用户描述:主目录:登陆s ...

  9. Linux 中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:    find命令        f ...

随机推荐

  1. 吴裕雄 python神经网络 手写数字图片识别(5)

    import kerasimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers impo ...

  2. Linux初学时的一些常用命令(4)

    1. 磁盘 查看当前磁盘使用情况 df -h 查看某个文件大小 du -sh 文件名 如果不输入文件名,默认是当前目录的所有文件之和,即当前目录大小 2. 系统内存 free 参数详解:https:/ ...

  3. matlab 矩阵拼接

    E=[a,b]%水平方向上的拼接 E=[a :b] %垂直方向上的拼接

  4. 自定义sql server 聚合涵数

    using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; using Micr ...

  5. cupp字典生成器使用

    下载: clone git https://github.com/Mebus/cupp.git

  6. Shc 应用

    1.说明 shc是一个加密shell脚本的工具, 它的作用是把shell脚本转换为一个可执行的二进制文件 2.安装 下载 # mget  http://www.datsi.fi.upm.es/~fro ...

  7. PAT1131(dfs)

    In the big cities, the subway systems always look so complex to the visitors. To give you some sense ...

  8. e-olymp Problem11 Big accuracy

    传送门:点我 Big accuracy The rational fraction m/n is given. Write it in the decimal notation with k digi ...

  9. http://www.bugku.com:Bugku——变量1(http://120.24.86.145:8004/index1.php)

           之前立志做出需要编码解决和时间相关的那道CTF题目,但是这次没找到,相关人士找到了麻烦告诉我一声.本次再学习一下子关于正则表达式和PHP的相关知识.开课咯-.-   刚看题目就发现提示, ...

  10. ECMAScript6的原型

    class Car { constructor(name){ this.name = name; } getName(){ } } class Ferrari extends Car{ constru ...