本站内容有下面分类知识,欢迎您的到来^_^

shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言

设soyo123为首页 收藏本站
当前位置:|主页>shell指令篇>

find 文件查找

百度收藏 QQ搜藏

指令名称:find
功能介绍:将档案系统内符合选项的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

语法格式:find pathname(查找位置) -options [-print -exec -ok ...]
常用参数说明:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

指令使用实例:
1、查找当前用户主目录下的所有文件:
$ find ~ -print
2、查找系统中所有的rmt磁带设备;
$ find /dev/rmt -print
3、将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件。
$ find . -name "admin.log[0-9][0-9][0-9]" -atime -7  -ok
rm {  } \;
< rm ... ./admin.log001 > ? n
< rm ... ./admin.log002 > ? n
< rm ... ./admin.log042 > ? n
< rm ... ./admin.log942 > ? n

4. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;

 [root@rehat root]# find . -perm 644 -exec ls -l {} \;

5. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;

 [root@rehat root]# find / size 0 -type f -exec ls -l {} \;

6. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;

 [root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \;

7. 为/找系统中所有属于root组的文件;

 [root@rehat root]# find / -group root -exec ls -l {} \;

8. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件

 [root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;

9. 为了查找当前文件系统中的所有目录并排序

 [root@rehat root]# find . -type d | sort

10. 为了查找系统中所有的rmt磁带设备

 [root@rehat root]# find /dev/rmt


上一篇:file 辨识文件类型 下一篇:cut 分割文件内容
power by soyo123 2007-2008