之前写了一篇关于linux下常用的几个命令,参考Linux入门--提高工作效率的命令。接下来接着介绍一些在linux下做开发经常使用到得命令,其中有打包压缩命令tar,文件查找命令find,文件内容查找命令grep,elf可执行文件分析工具readelf等。
1、打包压缩命令tar
在linux下经常会遇到给源码打包解压等,如果你还是用linux的Xwindow来做那你就out了。下面是该工具的常用命令参数及运用举例:
主要命令:
-c创建包
-x解包
-t列出包中的内容
-r增加文件到指定包中
-u更新包中的文件
可选命令:
-j创建或解开包时使用bzip2进行压缩或解压;
-z创建或解开包时使用gzip进行压缩或解压;
-Z创建或解开包时使用compress进行压缩或解压;
-f后面跟指定的包文件名;
-v显示打包/解包过程
-C指定解包后的路径
例如:
tar-czftmp.tar.gz/tmp将/tmp目录压缩打包存放为tmp.tar.gz;
tar-xzftmp.tar.gz-C/home将tmp.tar.gz包解到/home目录下;
tar-ttmp.tar.gz查看tmp.tar.gz包中的文件信息;
2、文件查找命令find
突然不知道xxx.c在那个路径下了,你不会还在用linux里面的Xwindow来搜索这个文件吧?find才是简单强暴的查找利器啊。
其命令格式为:
find要查找的路径表达式
例如:
find.-name1.txt在当前目录及其子目录下查找文件1.txt;
find/tmp-name1.txt在/tmp目录及其子目录下查找文件1.txt。
另外,find也支持模糊查找:
find.-name*test*.c
更高级的用法可参考man手册等。
3、文件内容查找命令grep
我在查一个bug,看日志啊看日志,突然发现了一个关键的log信息,那么这个信息是在那个源文件中打印出来的呢?这时候就用到grep了。
文件内容查找命令grepgrep命令用于查找指定的模式匹配,格式为:
grep[命令选项]要查找的匹配模式[要查找的文件]
例如:
grepcamstest.txt在test.txt文件中查找cams字符串;
grep-rcams/root/cams在/root/cams目录及其子目录下的所有文件中,查找cams字符串;
grep命令除了能够查找文件外,还能够将任意输出流重定向到grep进行查找:
ps-ef|grepora查找进程名中包含ora的所有进程信息。
其实以上都是grep最简单最常用的用法,更高级的用法可参考grep的man手册等。
4、ELF文件分析工具readelf
此命令算是一个比较高级的命令,没有上述命令常用,但是也是一个很实用的软件,这里抛砖引玉,介绍一些简单的用法。
查询文件所有信息
readelfobject-file-name-a
查询elfheader
readelfobject-file-name-h
查询符号表
readelfobject-file-name-s
查询所有section详细信息
readelfobject-file-name-t或者readelfobject-file-name-S
dump某个section的信息
readelfobject-file-name-psection-name|section-index
readelfobject-file-name-xsection-name|section-index
readelfobject-file-name-Rsection-name|section-index