搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道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. vue 安装sass扩展

    1.创建一个基于 webpack 模板的新项目 $ vue init webpack myvue 1 2.在当前目录下,安装依赖 $ cd myvue $ npm install 1 2 3.安装sa ...

  2. centos7 关闭 防火墙

    CentOS 7 默认使用的是firewall作为防火墙 关闭firewall: systemctl stop firewalld.service  #停止firewall systemctl dis ...

  3. Parallax Mapping

    [Parallax Mapping] Parallax mapping belongs to the family of displacement mapping techniques that di ...

  4. wamp 安装redis扩展

    phpredis扩展下载地址  http://windows.php.net/downloads/pecl/snaps/redis/ 1.选择redis DLL文件扩展 phpinfo 查看VC版本 ...

  5. dedecms迁站

    1  后台>系统>备份数据库 2  下载“所有(强调一下是所有:包括整站程序与备份的数据)”原站的数据,整个站点 3  将下载下来的所有数据上传到新空间 4  删除install目录下的i ...

  6. Math.random控制随机数范围

    let minNum= parseInt(Math.random()*7) + 1 let maxNum= parseInt(Math.random()*83) + 1 生成7~83的随机整数

  7. CentOS 查看是否安装软件包

    1. rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字" 2. deb包安装的,可以用dpkg -l能看到 ...

  8. 二叉树的深度优先遍历与广度优先遍历 [ C++ 实现 ]

    深度优先搜索算法(Depth First Search),是搜索算法的一种.是沿着树的深度遍历树的节点,尽可能深的搜索树的分支. 当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点 ...

  9. HDU-1087.SuperJUmpingJUmpingJumping.(DP and LISPP)

    本题大意:给定一个长度为n的序列a,让你输出这个序列子序列中元素和最大的最大上升子序列. 本题思路:一开始肯定可以想到用LIS实现,我们用LIS实现的时候可以发现这个问题并不满足LIS问题的最优子结构 ...

  10. http://www.bugku.com:Bugku——PHP伪协议+魔幻函数+序列化的综合应用(http://120.24.86.145:8006/test1/)

      这一道题目,幸好俺有基础知识护体,不然还真干不掉.     首先,登录看题目,取消隐藏代码的注释.可知可输入三个参数txt.file和password并进行逻辑判断:应该让txt==‘welcom ...