您的位置:首页 > 运维架构 > Linux

linux学习笔记(4)

2008-08-03 23:26 218 查看
find命令:

F i n d是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录,

一般形式为:find pathname -options [-print -exec -ok]

find命令选项

-name 按照文件名查找文件。

-perm 按照文件权限来查找文件。

-prune 使用这一选项可以使f i n d命令不在当前指定的目录中查找,如果同时使用了- d e p t h选项,那么- p r u n e选项将被f i n d命令忽略。

-user 按照文件属主来查找文件。

-group 按照文件所属的组来查找文件。

-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

-type 查找某一类型的文件,诸如:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

ex:[spsn@localhost Tan_C]$ find /etc -type d @:查找/etc下的目录

[spsn@localhost Tan_C]$ find . -type f @:查找当前目录下的普通文件

[spsn@localhost Tan_C]$ find . -name "*.c" @:查找当前目录下文件名以.c结尾的文件

[spsn@localhost Tan_C]$ find . -mtime -5 @:查找当前目录下文件修改时间在5日之内的文件

grep命令

。g r e p(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式, g r e p打印包含模式的所有行。g r e p支持基本正

则表达式,也支持其扩展集。g r e p有三种变形,即:

G r e p:标准g r e p命令,本章大部分篇幅集中讨论此格式。

E g r e p:扩展g r e p,支持基本及扩展的正则表达式,但不支持\ q模式范围的应用,与之相对应的一些更加规范的模式,这里也不予讨论。

F g r e p:快速g r e p。允许查找字符串而不是一个模式。不要误解单词f a s t,实际上它与g r e p速度相当。

g r e p一般格式为:grep [选项]基本正则表达式[文件].这里基本正则表达式可为字符串。

grep选项

常用的g r e p选项有:

-c 只输出匹配行的计数。

-i 不区分大小写(只适用于单字符)。

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-n 显示匹配行及行号。

-s 不显示不存在或无匹配文本的错误信息。

-v 显示不包含匹配文本的所有行。

exec:

[spsn@localhost Tan_C]$ grep "main" * @在当前目录的所有文件中查找单词"main"

[spsn@localhost Tan_C]$ grep "printf" sum.c @在当前目录下的sum.c文件中查找字符串"printf"

[spsn@localhost Tan_C]$ grep -c "printf" letter.c @显示含有字符串"printf"的行数

几个例子中,将用到管道命令,即符号|,使用它左边命令的输出结果作为它右边命令的输入。

[spsn@localhost Test]$ ls -l|grep '^d' @查询当前目录列表中的目录

g r e p不只应用于文件,也可应用于字符串。为此使用e c h o字符串命令,然后对g r e p命令使用管道输入。

[spsn@localhost Test]$ STR="Mary Joe Peter Pauline"

[spsn@localhost Test]$ echo $STR|grep "Mary"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: