加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LINUX学习之文件查找

(2012-01-31 13:15:32)
标签:

linux

whereis

find

locate

杂谈

分类: linux

whereis(寻找特定的文件)

用法 whereis  [-bmsu] 文件或者目录名

参数介绍:

-b  :只找二进制格式的文件

-m  :只找在说明文件manual路径下的文件

-s  :只找source源文件

-u  : 查找不在上述三个选项当中的其他特殊的文件

范例一:用不同的身份找出ifconfig这个文件名

http://s15/middle/6877dad34b7cc15801d1e&690

 

范例二:只找出跟passwd有关的“说明文件”文件名(man page

http://s13/middle/6877dad34b7cc17e28b9c&690

 

Locate

使用方法:

Locate  [-ir]   keyword

参数介绍

-i  :忽略大小写的差异;

-r  :后面可接正则表达式的表示方式;

范例一:找出系统中所有与passwd相关的文件名

 

http://s9/middle/6877dad34b7cc19775548&690
 

注意:在应用中我们发现whereis locatefind的查找速度要快很多。原因是linux系统会将系统内的所有文件都记录在一个数据库文件里面,而whereis locate的查询就是直接利用的这个数据库,find则是直接查找硬盘,如果硬盘比较老旧的话,那等的时间就很长了。

由于whereislocate在数据库中查找,而数据库的创建默认是每天执行一次。所以当新建文件后立即用这两个命令查找该文件会发现找不到。这时我们可以手动更新数据库。

更新数据库的命令:updatedb

root身份下(只能是root)直接输入updatedb就可以对数据库进行更新,然后再利用whereislocate查找就可以找到了。

 

find 命令

用法:find  [PATH]  [option]  [action]

1.      与时间有关的参数:-atime,-ctime-mtime

下面以-mtime来说明。

-mtime  n: n为数字,意义为在n天之前的“一天之内”被更改过的文件。

-mtime  +n: 列出在n天之前(不含n天本身)被更改过的文件名;

-mtime  -n: 列出在n天之内(含n天本身)被更改过得文件名;

-newer  filefile为一个存在的文件,列出比file还要新的文件名。

范例一:将过去系统上面24小时内有改动(mtime)的文件列出。

 

http://s10/middle/6877dad34b7cc1b6ddbe9&690

注解:0代表目前的时间,所以,从现在开始到24小时前,有改动过内容的文件都会被列出来。

范例二:寻找/etc下面的文件,如果文件日期比/etc/passwd新就列出。

 

http://s14/middle/6877dad34b7cc1cac974d&690

2.与用户或用户组名有关的参数:

-uid  n:  n为数字,这个数组是用户的账号 ID,即UID,这个UID是记录在/etc/passwd里面与账号名称对应的数字。

-gid  n :  n为数字,这个数字是用户组名的ID,即GID,这个GID记录在/etc/group中。

-user  name: name为用户账号名称。例如 wei

-group name:  name为用户组名,例如users

-nouser    :寻找文件的所有者不存在/etc/passwd的人。

-nogroup   :寻找文件的所有用户组不存在于/etc/group的文件。当自行安装软件时,可能软件的属性中并没有文件所有者。这个时候,就可以使用-nouser –nogroup查找。

范例三:查找/home 下面属于wei的文件。

http://s15/middle/6877dad34b7cc1e678dfe&690

 

范例四:查找系统中不属于任何人的文件

http://s10/bmiddle/6877dad34b7cc1fd818a9&690

3.与该文件的权限以及名称有关的参数:

-name filename:   查找文件名为filename的文件。

-size  [+-]    SIZE :   查找比SIZE还要大(+)或小(-)的文件。这里SIZE是有规格的:c代表byte,k代表1024bytes.所以,要找比50kB还要大的文件,就是“-size  +50K”;

-type TYPE:    查找文件的类型为TYPE的,类型主要有:一般正规文件(f),设备文件(b,c),目录(d),连接文件(l),sockets),及FIFOp)等属性。

-perm  mode :    查找问价权限“刚好等于”mode的文件,这个mode为类似chmod的属性值,举例来说,-rwsr-xr-x的属性为4755.

范例五:找出文件名为passwd的这个文件

 

http://s13/bmiddle/6877dad34b7cc28e6491c&690

范例六:找出/var 目录下文件类型为socket的文件名有哪些

 

http://s2/middle/6877dad34b7cc2b7bdd71&690



 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:2011年10月23日
后一篇:C学习之数组
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有