【编程基础】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

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏landv

centos查看系统/硬件信息及运维常用命令

[root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令

3732
来自专栏Python

linux每日命令(20):find命令概览

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的...

592
来自专栏ytkah

教你一步步composer安装Magento2.2

  以前外贸建站一直用zencart,这段时间ytkah比较有时间,就决定用magento来创建一下站点。magento不像普通的程序一样下载就可以直接安装,需...

1172
来自专栏浪淘沙

Shell学习总结

一、基础指令     1.ls指令         ../    上级目录         ./    当前目录         ls -al     ...

1413
来自专栏蓝天

mysql-5.7.10普通安装

这里安装的是最新的MySQL 5.7.10,下载网址为:http://dev.mysql.com/downloads/mysql/,本文选择是的“Linux ...

852
来自专栏熊二哥

Linux快速入门03-系统管理

这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用。 ? 在进入bash介绍...

1967
来自专栏Linux驱动

linux下使用gcc编译运行C程序

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和...

2219
来自专栏加米谷大数据

MongoDB 安装和可视化工具

MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,我选择的是 Enterprise Server (MongoDB 3.2.9)版本,安装在...

1481
来自专栏企鹅号快讯

最实用的Linux命令总结

1.linux安装中文环境(可选) 联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改/etc/sy...

2188
来自专栏python3

python3--模块和包,软件开发规范

在第一次导入某个模块时(比如my_module),会检查该模块是否已经被加载到内存中(执行文件的名称空间对应的内存),如果有则直接引用,如果没有,解释器则会查找...

842

扫码关注云+社区