Linux下的代码阅读和查找工具
2013-08-04 22:19
363 查看
1.ctags
ctags命令配合vim编辑器可以帮助程序员很方便地查看源代码,使用方法:
(1)在源代码顶层目录下执行ctags -R * 递归建立源代码信息库;
(2)vim -t tagname 打开含有tagname的文件;
vim编辑器中
(3):tag tagname:跳到含有tagname的文件中;
(4):tn :下一个tagname;
(5):tp :前一个tagname;
(6):cstag tagname:列出所有tagname所在位置;
vim编辑器中,光标移动到某变量上
(7)ctrl+ ]:跳到该变量的定义上;
(8)ctrl+ T:跳回原位置
2.cscope
cscope是另一个好用的源代码查看工具,一般说来,都是vim+ctags+cscope的组合工具,因此,下面来看看cscope的使用。
(1)源代码顶层目录下执行cscope -Rbkq
-R:递归建立信息库;
-b:只建立交叉引用链接;
-k:内核模式(只在浏览内核源代码时使用);
-q:开启加速功能;
命令行下可以使用“cscope -d”命令单独使用cscope查看源代码;也可以在vim编辑器中“: cscope add cscope.out”将信息导入vim中,然后可以使用“:cscope help”命令查看可用功能了。
3.find
在指定路径中递归搜索文件,支持各种条件搜索,并可以对搜索到的文件执行特定操作。
基本格式:find [路径] [参数] [表达式]
常用参数:
-user:根据文件拥有者查找文件;
-group:根据文件所属组查找文件;
-name:根据文件名查找文件;
-perm:根据文件权限查找文件;
-size:根据文件大小查找文件;
-atime n:将n*24小时内被访问过的文件列出来;
-ctime n:将n*24小时内被改变、新增过的文件列举出来;
-mtime n:将n*24小时内被修改过的文件列举出来;
-newer file:将比file还要新的文件列举出来;
-gid n:寻找组ID为n的文件;
-group name:寻找群组名称为name的文件;
-uid n:寻找拥有者ID为n的文件;
-name file:寻找文件名为file的文件
-type [bcdpls]:寻找特定类型的文件(块设备,字符设备,目录,管道、链接和套接字)
此外find还支持高级应用,比如,可以使用逻辑运算符来编写复杂条件,“-o”表示或运算,“-not”表示非运算,可以对找到的文件进行操作,格式如下:
find [路径] [参数] [表达式] -exec 指令 {} \;
l {}代表find找到的文件
l \ 禁止转意
l ;表示本行指令结束
4.grep
使用grep命令:
grep -rni --include ‘*.[c|h]’ ‘regex’ ./
即在当前目录下所有的.c和.h文件中查找与regex匹配的项,其中:
-r:表示递归地查找当前目录及其子目录;
-n:显示行号;
-i:忽略大小写;
可以根据情况进行灵活调整和组合。
5.正则表达式
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是描述这些规则的工具。
参考:
(1)\b:匹配单词的开头或结尾,如“\bhi\b”匹配单词“hi”;
(2).:匹配除换行符外的任意字符;
(3)*:该符号前面的字符可以重复若干次,如“.*”代表任意数量的不含换行符的字符;
(4)\d:匹配一个数字,\d{num}匹配num次数字;
(5)\s:匹配任意空白符,包括空格,制表符(Tab)和换行符等;
(6)\w:匹配字母或数字或下划线或汉字等;
(7)+:该符号前面的字符匹配一次或若干次;
(8)^:匹配字符串的开始;
(9)$:匹配字符串的结束;
(10)?:该符号前面的字符匹配零次或一次;
(11){n}:重复n次;
(12){n,}:重复n次或更多次;
(13){n,m}:重复n到m次;
(14)[]:匹配其中任意一个字符,如[aeiou]匹配元音字母中任意一个;[2-5]匹配2到5任意数字;
(15)|:表示分支条件,相当于“或”
(16)\W:匹配任意不是字母,数字,下划线和汉字的字符;
(17)\S:匹配任意不是空白符的字符;
(18)\D:匹配任意不是数字的字符;
(19)\B:匹配不是单词开头或结束的位置;
(20)[^x]:匹配除了x以外的任意字符,如[^aeiou]匹配除了aeiou这几个字母以外的任意字符;
举例:
\ba\w*\b:匹配以a开头的单词;
\d+:匹配1个或更多连续数字;
\b\w{6}\b:匹配刚好六个字母的单词;
^\d{5,12}$:匹配5到12位的数字;
ctags命令配合vim编辑器可以帮助程序员很方便地查看源代码,使用方法:
(1)在源代码顶层目录下执行ctags -R * 递归建立源代码信息库;
(2)vim -t tagname 打开含有tagname的文件;
vim编辑器中
(3):tag tagname:跳到含有tagname的文件中;
(4):tn :下一个tagname;
(5):tp :前一个tagname;
(6):cstag tagname:列出所有tagname所在位置;
vim编辑器中,光标移动到某变量上
(7)ctrl+ ]:跳到该变量的定义上;
(8)ctrl+ T:跳回原位置
2.cscope
cscope是另一个好用的源代码查看工具,一般说来,都是vim+ctags+cscope的组合工具,因此,下面来看看cscope的使用。
(1)源代码顶层目录下执行cscope -Rbkq
-R:递归建立信息库;
-b:只建立交叉引用链接;
-k:内核模式(只在浏览内核源代码时使用);
-q:开启加速功能;
命令行下可以使用“cscope -d”命令单独使用cscope查看源代码;也可以在vim编辑器中“: cscope add cscope.out”将信息导入vim中,然后可以使用“:cscope help”命令查看可用功能了。
3.find
在指定路径中递归搜索文件,支持各种条件搜索,并可以对搜索到的文件执行特定操作。
基本格式:find [路径] [参数] [表达式]
常用参数:
-user:根据文件拥有者查找文件;
-group:根据文件所属组查找文件;
-name:根据文件名查找文件;
-perm:根据文件权限查找文件;
-size:根据文件大小查找文件;
-atime n:将n*24小时内被访问过的文件列出来;
-ctime n:将n*24小时内被改变、新增过的文件列举出来;
-mtime n:将n*24小时内被修改过的文件列举出来;
-newer file:将比file还要新的文件列举出来;
-gid n:寻找组ID为n的文件;
-group name:寻找群组名称为name的文件;
-uid n:寻找拥有者ID为n的文件;
-name file:寻找文件名为file的文件
-type [bcdpls]:寻找特定类型的文件(块设备,字符设备,目录,管道、链接和套接字)
此外find还支持高级应用,比如,可以使用逻辑运算符来编写复杂条件,“-o”表示或运算,“-not”表示非运算,可以对找到的文件进行操作,格式如下:
find [路径] [参数] [表达式] -exec 指令 {} \;
l {}代表find找到的文件
l \ 禁止转意
l ;表示本行指令结束
4.grep
使用grep命令:
grep -rni --include ‘*.[c|h]’ ‘regex’ ./
即在当前目录下所有的.c和.h文件中查找与regex匹配的项,其中:
-r:表示递归地查找当前目录及其子目录;
-n:显示行号;
-i:忽略大小写;
可以根据情况进行灵活调整和组合。
5.正则表达式
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是描述这些规则的工具。
参考:
(1)\b:匹配单词的开头或结尾,如“\bhi\b”匹配单词“hi”;
(2).:匹配除换行符外的任意字符;
(3)*:该符号前面的字符可以重复若干次,如“.*”代表任意数量的不含换行符的字符;
(4)\d:匹配一个数字,\d{num}匹配num次数字;
(5)\s:匹配任意空白符,包括空格,制表符(Tab)和换行符等;
(6)\w:匹配字母或数字或下划线或汉字等;
(7)+:该符号前面的字符匹配一次或若干次;
(8)^:匹配字符串的开始;
(9)$:匹配字符串的结束;
(10)?:该符号前面的字符匹配零次或一次;
(11){n}:重复n次;
(12){n,}:重复n次或更多次;
(13){n,m}:重复n到m次;
(14)[]:匹配其中任意一个字符,如[aeiou]匹配元音字母中任意一个;[2-5]匹配2到5任意数字;
(15)|:表示分支条件,相当于“或”
(16)\W:匹配任意不是字母,数字,下划线和汉字的字符;
(17)\S:匹配任意不是空白符的字符;
(18)\D:匹配任意不是数字的字符;
(19)\B:匹配不是单词开头或结束的位置;
(20)[^x]:匹配除了x以外的任意字符,如[^aeiou]匹配除了aeiou这几个字母以外的任意字符;
举例:
\ba\w*\b:匹配以a开头的单词;
\d+:匹配1个或更多连续数字;
\b\w{6}\b:匹配刚好六个字母的单词;
^\d{5,12}$:匹配5到12位的数字;
相关文章推荐
- 【Linux开发技术之工具使用】配置VIM下编程和代码阅读环境
- 【Linux开发技术之工具使用】配置VIM下编程和代码阅读环境 - gnuhpc - 博客园
- kscope安装教程 (linux环境下的代码阅读、编辑工具)
- 【Linux开发技术之工具使用】配置VIM下编程和代码阅读环境
- linux下代码阅读辅助工具
- linux下,代码阅读工具,understand
- Linux下代码阅读编辑工具推荐
- (转)【Linux开发技术之工具使用】配置VIM下编程和代码阅读环境
- 【Linux开发技术之工具使用】配置VIM下编程和代码阅读环境
- linux下的代码阅读工具傻瓜配置教程
- kscope --- Linux下代码阅读工具
- 一、工具的使用 1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目
- pc-lint静态代码分析工具(检查linux下C++代码的实现方式)
- 阅读代码分析工具Understand 2.0试用
- Linux多文件查找工具之grep
- linux 的代码格式化工具 indent
- linux 3.4.10 内核内存管理源代码分析1:源代码阅读工具,编译及调试
- Linux系统上的文件查找工具
- Valgrind--Linux下的内存调试和代码解剖工具
- Ubuntu 下安装LXR(linux源代码阅读工具)