搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道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. 常见异常代码oracle

    exception oracle error sqlcode value condition no_data_found ora-01403 +100 select into 语句没有符合条件的记录返 ...

  2. linux安装jdk以及tomcat

    一.卸载旧jdk 1.检测原OPENJDK版本 java -version 查看是否安装了jdk,并且是什么版本 2.进一步查看JDK信息 rpm -qa|grep java tzdata-java- ...

  3. VS2015 添加web服务(电子看板)

    鼠标右键点击项目,选择引用----添加服务引用,输入WS地址后单击转到 http://ERPPRD02:8000/sap/bc/srt/wsdl/flv_10002A111AD1/bndg_url/s ...

  4. js中的arguments对象

    在Javascript中没有函数重载,而arguments对象弥补了这点不足. js函数的参数是一个数组,在参数个数不固定的情况下,只需要给方法传递不同元素个数的数组即可.即使声明函数时没有形式参数, ...

  5. python全栈 字符串,整数,bool 数据类型运用

    python全栈 一.基本数据类型 1.int: 整数 2.str: 字符串, 一般不存放大量数据. 3.bool: 布尔值,用来判断. True  或者  False 4.list:  列表,用来存 ...

  6. 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)

    转载自 http://www.cnblogs.com/yangxia-test 准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ  ...

  7. Kerberos 互信免登陆

    第一步:机器加互信 将机器A的Kerberos name加到机器B的~/.k5login中,同时将机器B的Kerberos name加到机器A的~/.k5login中 例如:host/bjm6-193 ...

  8. 【Scheme】树结构

    将表作为序列的表示方式,可以推广到元素本身也是序列的序列.例如,我们可以认为对象((1 2) 3 4)是通过(cons (list 1 2) (list 3 4))构造出来的. 这个表包含三个项,其中 ...

  9. poi excel 加粗

    参考 https://blog.csdn.net/wellto/article/details/52293202 XSSFWorkbook xwb = new XSSFWorkbook(); ... ...

  10. BufferedReader .BufferedWriter执行文本复制

    /** * 需求:演示 BufferedReader 和 BufferedWriter 的使用,复制一个 java 文件 */ package cn.itcast.others.iostream; i ...