Linux环境开发效率 那些强大的命令盘点

时间:2015-05-20 08:31:33 魔新豆网

  Linux环境开发效率 那些强大的命令盘点

  之前写了一篇关于linux下常用的几个命令,参考Linux入门--提高工作效率的命令。接下来接着介绍一些在linux下做开发经常使用到得命令,其中有打包压缩命令tar,文件查找命令find,文件内容查找命令grep,elf可执行文件分析工具readelf等。

  1、打包压缩命令tar

  在linux下经常会遇到给源码打包解压等,如果你还是用linux的X window来做那你就out了。下面是该工具的常用命令参数及运用举例:

  主要命令:

  -c 创建包

  -x 解包

  -t 列出包中的内容

  -r 增加文件到指定包中

  -u 更新包中的文件

  可选命令:

  -j 创建或解开包时 使用bzip2 进行压缩或解压;

  -z 创建或解开包时 使用gzip 进行压缩或解压;

  -Z 创建或解开包时 使用compress 进行压缩或解压;

  -f 后面跟指定的包文件名;

  -v 显示打包/解包过程

  -C 指定解包后的路径

  例如:

  tar -czf tmp.tar.gz /tmp 将 “/tmp” 目录压缩打包存放为tmp.tar.gz;

  tar -xzf tmp.tar.gz -C /home 将 tmp.tar.gz 包解到“/home” 目录下;

  tar -t tmp.tar.gz 查看 tmp.tar.gz 包中的文件信息;

  2、文件查找命令find

  突然不知道xxx.c在那个路径下了,你不会还在用linux里面的X window来搜索这个文件吧?find才是简单强暴的查找利器啊。

  其命令格式为:

  find 要查找的路径表达式

  例如:

  find . -name 1.txt 在当前目录及其子目录下查找文件 “1.txt”;

  find /tmp -name 1.txt 在 “/tmp” 目录及其子目录下查找文件“1.txt”。

  另外,find也支持模糊查找:

  find . -name *test*.c

  更高级的用法可参考man手册等。

  3、文件内容查找命令grep

  我在查一个bug,看日志啊看日志,突然发现了一个关键的log信息,那么这个信息是在那个源文件中打印出来的呢?这时候就用到grep了。

文件内容查找命令grep

  grep 命令用于查找指定的模式匹配,格式为:

  grep [命令选项] 要查找的匹配模式 [要查找的文件]

  例如:

  grep cams test.txt 在 “test.txt” 文件中查找cams 字符串;

  grep -r cams /root/cams 在 “/root/cams” 目录及其子目录下的所有文件中,查找cams 字符串;

  grep 命令除了能够查找文件外,还能够将任意输出流重定向到grep 进行查找:

  ps -ef | grep ora 查找进程名中包含 “ora” 的所有进程信息。

  其实以上都是grep最简单最常用的用法,更高级的用法可参考grep的man手册等。

  4、ELF文件分析工具readelf

  此命令算是一个比较高级的命令,没有上述命令常用,但是也是一个很实用的软件,这里抛砖引玉,介绍一些简单的用法。

  查询文件所有信息

  readelf object-file-name -a

  查询elf header

  readelf object-file-name -h

  查询符号表

  readelf object-file-name -s

  查询所有section详细信息

  readelf object-file-name -t或者 readelf object-file-name -S

  dump某个section的信息

  readelf object-file-name -p section-name|section-index

  readelf object-file-name -x section-name|section-index

  readelf object-file-name -R section-name|section-index

  Linux环境开发效率 那些强大的命令盘点

本文标签: