Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22222
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-24 10:02
个人简介

Preparing to success.

文章分类

全部博文(13)

文章存档

2015年(1)

2014年(12)

我的朋友

分类: LINUX

2014-11-17 18:45:27

Linux文件查找: find / locate / which


------------------------------------------------------which------------------------------------------------------------------------------------
which (在PATH(系统环境变量所规范的路径)中查找命令):
which [-a] command
参数:
-a :将所有可以找到的指令均列出,而不止第一个被找到的指令名称
范例:
[root@linux ~]# which passwd
/usr/bin/passwd

------------------------------------------------------locate-----------------------------------------------------------------------------------
locate命令
locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。
即先运行:updatedb(无论在那个目录中均可,可以放在crontab中 )后在   /var/lib/slocate/ 下生成 slocate.db 数据库即可快速查找。在命令提示符下直接执行#updatedb 命令即可:
例如:查找相关字issue
$ locate issue
/etc/issue
/etc/issue.net

---------------------------------------------------find-----------------------------------------------------------------------------------------
find (查找档案,功能强大,就是耗时间和硬盘):
find [PATH] [option] [action] 档案或目录名称
find   path   -option   [ -print ]   [ -exec -ok  command ]  {} \;

-print 将查找到的文件输出到标准输出
-exec   command   {} \;      —–将查到的文件执行command操作,{} 和 \;之间有空格
-ok 和-exec相同,只不过在操作前要询用户
例:find . -name .svn | xargs rm -rf
之所以find . -name filename |rm -rf不通过,是因为rm命令不接受从标准输入传过来的指令

参数:

1. 与时间有关的参数:
-atime n :n 为数字,意义为在 n 天之前的『一天之内』被 access 过的档案;
-ctime n :n 为数字,意义为在 n 天之前的『一天之内』被 change 过状态的档案;
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被 modification 过的档案;
-newer file :file 为一个存在的档案,意思是说,只要档案比 file 还要新,就会被列出来~

2. 与使用者或群组名称有关的参数:
-uid n :n 为数字,这个数字是使用者的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd 里面与账号名称对应的数字。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在/etc/group,
-user name :name 为使用者账号名称
-group name:name 为群组名称
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!

3. 与档案权限及名称有关的参数:
-name filename:搜寻文件名称为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大的档案,就是『 -size +50k 』
-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f),装置档案 (b, c), 目录 (d), 连结档 (l), socket (s),及 FIFO (p) 等属性。
-perm mode :搜寻档案属性『刚好等于』 mode 的档案,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !

4. 额外可进行的动作:
-exec command :command 为其它指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!








 

阅读(422) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~