Linux命令--find--grep--vim插件

linux find 命令使用
-name 选项
文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用。
可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。
想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:
$ find . -name "[A-Z]*" -print
想要在/etc目录中查找文件名以host开头的文件,可以用:
$ find /etc -name "host*" -print
想要查找 $HOME 目录中的文件,可以用:
$ find ~ -name "*" -print
-perm 选项
如果希望按照文件权限模式来查找文件的话,可以采用-perm选项。你可能需要找到所有
用户都具有执行权限的文件,或是希望查看某个用户目录下的文件权限类型。在使用这一选
项的时候,最好使用八进制的权限表示法。
-prune选项 ---忽略某个目录
如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找的文件,
那么可以使用 -prune 选项来指出需要忽略的目录。
-user 和 nouser 选项
如果希望按照文件属主查找文件,可以给出相应的用户名
group和nogroup选项
就像 user和 nouser选项一样,针对文件所属于的用户组, find 命令也具有同样的选项
按照更改时间查找文件
如果希望按照更改时间来查找文件,可以使用 mtime 选项。如果系统突然没有可用空间了,
很有可能某一个文件的长度在此期间增长迅速,这时就可以用 mtime 选项来查找这样的文件。
用减号 - 来限定更改时间在 距今n日 以内的文件,而用加号 + 来限定更改时间在 距今n日
以前的文件。
查找比某个文件新或旧的文件
如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用 -newer 选项。
它的一般形式为:
newest_file_name ! oldest_file_name
type 选项
UNIX或LINUX系统中有若干种不同的文件类型:d, c, b, l, p, f
size 选项
可按照文件长度来查找文件,这里所指的文件长度既可以用块(block)来计量,也可以用字
节来计量。以字节计量文件长度的表达形式为Nc;以块计量文件长度只用数字表示即可。
depth选项
在使用 find 命令时,可能希望先匹配所有的文件,再在子目录中查找。
使用depth 选项可以使 find命令这样做。这样做的一个原因就是,当在使用
find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
mount 选项
在当前的文件系统中查找文件(不进入其他文件系统),可以使用 find命令的mount选项。
cpio 选项
cpio 命令可以用来向磁带设备备份文件或从中恢复文件。可以使用 find 命令在整个文件系
统中(更多的情况下是在部分文件系统中)查找文件,然后用 cpio 命令将其备份到磁带上。
-exec 或 ok 执行shell命令
当匹配到一些文件以后,可能希望对其进行某些操作,这时就可以使用-exec选项。
一旦 find 命令匹配到了相应的文件,就可以用 -exec 选项中的命令对其进行操作(在有些
操作系统中只允许-exec选项执行诸如 ls或ls -l这样的命令)。大多数用户使用这一选项
是为了查找旧文件并删除它们。这里强烈建议在真正执行 rm命令删除文件之前,最好
先用 ls 命令看一下,确认它们是所要删除的文件。
exec 选项后面跟着所要执行的命令,然后是一对儿{ },一个空格和一个/, 最后是一个分号。
为了使用 exec选项,必须要同时使用 print 选项。如果验证一下find 命令,会发现该命令只
输出从当前路径起的相对路径及文件名。
为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中


linux grep 命令使用
默认情况下,‘grep’只搜索当前目录。
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读

 

ctags,taglist,cscope等位vim的插件

1. 查看vim是否支持cscope
    $ vim --version | grep cscope
2.使用cscope生成索引文件

-R: 在生成索引文件时,搜索子目录树中的代码
-b: 只生成索引文件,不进入cscope的界面
-k: 在生成索引文件时,不搜索/usr/include目录
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
-i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用"-",表示由标准输入获得文件列表。
-I dir: 在-I选项指出的目录中查找头文件
-u: 扫描所有文件,重新生成交叉索引文件
-C: 在搜索时忽略大小写
-P path: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了。
3.生成符号索引文件cscope.files-》cscope.out、tags

find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files
cscope -bkq -i cscope.files
ctags -R
4.添加索引库cscope.out
    在vim里命令状态下添加符号索引库
    : cscope add cscope.out

5. vim下使用cscope阅读代码
    添加cscope符号索引数据库后,可以调用"cscope find"命令进行查找,vim支持8种cscope的查询功能。如在代码中查找调用work()函数的函数,可以在vim命令状态下输入":cs find c work",回车即可。还可以进行字符串查找,它会对双引号或单引号括起来的内容查找。还可以输入一个正则表达式,这类似于egrep程序的功能。
    :cs help (vim command下查询)

    s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
    g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
    d: 查找本函数调用的函数
    c: 查找调用本函数的函数
    t: 查找指定的字符串
    e: 查找egrep模式,相当于egrep功能,但查找速度快多了
    f: 查找并打开文件,类似vim的find功能
    i: 查找包含本文件的文件

 

注:1.使用vi阅读代码的目录位置一定要与生成索引文件时的目录位置相同。
即可以 vi ./***/***.c实现上面的要求;或者vi ***.c但要求(3)中的find或者cscope的生成索引的位置与当前位置相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值