webbench源码学习

栏目: 编程工具 · 发布时间: 6年前

内容简介:源代码阅读前的相关知识点总结:

源代码阅读前的相关知识点总结:

命令行参数

命令行参数解析

命令行参数学习

Linux相关知识

ldd

作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。

示例:查看test程序运行所依赖的库:
/opt/app/todeav1/test$ldd test
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000039a7e00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003996400000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000039a5600000)
libc.so.6 => /lib64/libc.so.6 (0x0000003995800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003995400000)

第一列:程序需要依赖什么库

第二列: 系统提供的与程序需要的库所对应的库

第三列:库加载的开始地址

通过上面的信息,我们可以得到以下几个信息:

通过对比第一列和第二列,我们可以分析程序需要依赖的库和系统实际提供的,是否相匹配

通过观察第三列,我们可以知道在当前的库中的符号在对应的进程的地址空间中的开始位置

如果依赖的某个库找不到,通过这个命令可以迅速定位问题所在;

原理: ldd不是个可执行程式,而只是个 shell 脚本; ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载器)来实现的。ld-linux.so模块会先于executable模块程式工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。

nl命令

显示文件内容的同时显示行号

[root@centos-linux-10 ~]# nl /etc/sysconfig/network-scripts/ifcfg-eth0 
     1  # Generated by parse-kickstart
     2  DEVICE="eth0"
     3  IPV6INIT="yes"
     4  BOOTPROTO="dhcp"
     5  UUID="d712aa89-24f1-41ba-b30a-78825b70dc2d"
     6  ONBOOT="yes"
[root@centos-linux-10 ~]#

tail head

显示文件从第二行开始到第5行

[root@centos-linux-10 ~]# tail  -n+2 /etc/sysconfig/network-scripts/ifcfg-eth0 |head -n 4
DEVICE="eth0"
IPV6INIT="yes"
BOOTPROTO="dhcp"
UUID="d712aa89-24f1-41ba-b30a-78825b70dc2d"

sed替换

如果想替换全部UUID为uuid,并重定向到root下可以使用如下命令

sed s/UUID/uuid/g /etc/sysconfig/network-scripts/ifcfg-eth0 >/root/uuid

如果只替换第一个UUID为uuid使用如下命令:

sed s/UUID/uuid /etc/sysconfig/network-scripts/ifcfg-eth0 >/root/uuid

实际上你可以指定替换第n个出现的UUID,使用如下命令替换第二个出现的UUID为uuid

sed s/UUID/uuid/2 /etc/sysconfig/network-scripts/ifcfg-eth0 >/root/uuid

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Inside Larry's and Sergey's Brain

Inside Larry's and Sergey's Brain

Richard Brandt / Portfolio / 17 Sep 2009 / USD 24.95

You’ve used their products. You’ve heard about their skyrocketing wealth and “don’t be evil” business motto. But how much do you really know about Google’s founders, Larry Page and Sergey Brin? Inside......一起来看看 《Inside Larry's and Sergey's Brain》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具