选择显示字体大小

find的介绍-- (os版本:freebsd 4.3-stable #4)

find 其实是一个很有用的工具,且常用的工具。

◎find - walk a file hierarchy
在一个档案等级制度中游走 顾名思义 也就是搜寻
◎语法: find path operators
path:路径 operators:运算子(参数)

◎operators: 常用的参数如下 (若有疑义请参阅man page 为准
★号表示重要...
1. -atime n: 用档案存取时间(access)为搜寻条件,n 为数字代表期,
单位是24小时。

★解: n不带正负时,表示距今从目前这个期到下个期为止
n为负号时(-),表示距今这个期之前。
n为正号时(+),表示距今大於这个期的时间。

举例说明:
若n为3(不带正负号),表示距今72~96小时。
若n为-3(带负号),表示距今0~72小时内。
若n为+3(带正号),表示距今超过72小时,也就是>72小时。

2.-mtime n: 用档案修改时间(modification)为搜寻条件,n以24小时为期。

3.-ctime n: 用档案inode更动时间为条件,n以24小时为期。

4.-inum n: 用inode值来作为搜寻条件,n为该档案的inode值。

5.-name filename:後接档案名称,若包含"万用字元",则要括起来,
避免shell解读之。
6.-perm mode: 以存取权限为搜寻条件。

7.-user name: 以档案的所有者为搜寻条件,用uid也可。

8.-group name: 以档案的群组为搜寻条件,用gid亦可。
:7.8 find会先用name搜寻,若找不到才试着用uid或gid搜寻

9.-type t: t的代表的是档案的类型,类型常用的如下:
d --> 资料夹
f --> 一般档案
l --> 符号连结档

10.-size n: n表示区块数,通常是512-byte bolck,
若n後接c (nc) 表示为n bytes。

★11.operator1 -a operator2: -a 等同於逻辑上的 and
operator1 -o operator2: -o 等同於逻辑上的 or
! operator1 : ! 等同於逻辑上的 not

:operator1 -a operator2 与operator1 operator2
是相同的...同样代表当运算子1成立且运算子2成立

★12.\( expression \): 在杂的情况下,括号表示先运算。
加上反斜线\ 为的是不要让shell误判。

13.-print: 将搜寻结果送到标准输出stdout,一般来说也就是萤幕。
:最常用到 但也常被遗忘的参数。

★14.-exec command: 表示将搜寻的结果,再导入某一命令。
:搜寻出的结果可用两个大括号{} 替代,命令後接 \; 表示结束。

ex:将目前目录 搜寻出档案以.o结尾的档案 删除!!
find . -name "*.o" -exec rm -f {} \;

★15.-maxdepth n: n 表示搜寻的深度。1表示目前这个资料夹。

★16.-ok command: -ok跟-exec相同,不过执行前会询问。通常用来测试

★17.-newer file: 比file修改(modification)的时间更早为搜寻条件

◎实例应用:
1.修改时间: 假设是此目录 7天前(当天)修改过的档案
find . -mtime 7 -print
find . -mtime +6 -mtime -8 -print
2.档案大小: 档案介於於1000byte到32000byte之间
find . -size +1000c -size -32000c -print

★3.删除某些诡异的档案: 某些档案因含有特殊字元而无法删除,
find . -inum 31246 -exec rm -rf {} \;
:31246为其inode值,可用ls -i 察看..

★4.以精确的时间搜寻:搜寻2001年5月28日11时59分到2001年5月29日0时10分间所有的档案
a. touch -t 200105281159 file1
b. touch -t 200105290010 file2
c. fine . -newer file1 ! -newer file2 -print
如此就会搜寻出数个档案 扣除file2的就是所得...

★5.将档案更名:把搜寻出来的更名为
find . -maxdepth 1 -name "*.o" -exec mv {} {}.orig
将档名符合*.o的档案名称附加上.orig

★解:若您第五个无法执行的话也可以这样做:
$find . -maxdepth 1 -name "*.o"
> while read file
> do mv "$file" "$file".orig
> done

> 乃是换行後自动出现的提示符号...

◎重要观念:
★1.搜寻参数 都是find懂的常规表示法,若表示法为真,就执行一些设定好的动作。

★2.括号中的先运算: -atime +5 \( -name "*.o" -o -name "*.tmp" \)
表示搜寻 存取时间大於5天 且(名称为*.o或是*.tmp)的档案

3.规则式中两个运算子间若用空白隔开表示 -a 也就是and

★4.find任务就是判定整个运算式,而不是找到档案,
当然,会找到档案,但那只是一个副作用。

5.量不要搜寻nfs档案,因为万一nfs server 挂了,会让整个搜寻停顿。
可以用-maxdepth 或 -prune 限制

◎困难排除:

★xargs的使用: 有时您会遇到向下面这种情况...语法无误 但却无法显示
find / -print ls -al 显示根目录下的所有档案
系统会直接出现broken pine 然後就结束了...
或是出现too many argument ..则表示输出超出指令列上的长度。
这时就要用到xargs了...整个命令列如下
find / -print xargs ls -al
结果就会很顺利的出现..因为xargs将输入一个一个依序输出,
而非一次全部。   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons