考试网 >> IT认证 >> Linux >> Linux指导 >> Linux文件命令精通指南(三)

Linux文件命令精通指南(三)

发布时间:2006-06-28 10:41     点击:
分页:上一页  1 [2] 3  下一页

$ history | grep cat

更多的滤波器

Grep、fgrep 和 egrep 都显示匹配一种模式的行。所有这三个命令都在文件中搜索指定的模式,如果您想不起来一个所需文件的名称,这将非常有用。基本格式是:

grep [options] PATTERN [FILE...]

$ grep -r 'Subject' nsmail

CTRL-Z 将终止上述或其它任何命令。

grep 的最有用的选项可能是 -s。如果您以除根用户之外的任何身份搜索系统文件,那么对于每一个您没有访问权限的文件,都将产生错误消息。这个命令禁止那些消息。

Fgrep(也以 grep -F 调用)只查找固定的字符串,而不是 grep 接收的正则表达式。而 egrep 接收包含更大范围的特殊字符(如 “|”,它指示条件 OR 运算符)的模式。

$ egrep 'Subject|mailto' *

查找文件

find 命令的 GNU 版本非常强大、灵活并且比 UNIX 系统上存在的经典版本更具包容性。它对于涉及到目录结构的任务非常有用,包括在文件上查找和执行命令。find 命令的基本格式是:

$ find startdirectory options matchcriteria [actionoptions]

如果您知道文件的名称、或者甚至名称的一部分,但不知道它所处的目录,您可以这么做:

$ find .-name 'test*'

./test

./jdevhome/mywork/EmpWS/EmpBC4J/test

与经典的 UNIX 系统不同,在 Linux 中不需要在末尾添加 -print 操作,因为如果没有指定其它的操作选项,就将假定执行这个操作。在目录起始位置上的一个点 ( . ) 将使 find 在您的工作目录中开始搜索。两个点, ..,在父目录中开始搜索。您可以在任意目录下开始搜索。

注意,您可以使用通配符作为搜索准则的一部分(只要用单引号将整个项目括起来)。

$ find .-name 'test*' -print

./test.out

./test2.out

显示拥有 .out 扩展名的一系列文件:

$ find /home -name '*.out'

不过记住,除非您是作为超级用户运行这个命令,否则您将可能得到许多的 "Permission denied" 错误消息。

最强大的搜索工具之一是和 grep 一起使用的 -exec 操作:

$ find .-name '*.html' -exec grep 'mailto:foo@yahoo.com' {} \;
分页:上一页  1 [2] 3  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有