linux查看命令依赖 linux 查看命令执行情况

linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库

创建静态库:

创新互联是一家专业提供汝城企业网站建设,专注与网站设计制作、做网站H5响应式网站、小程序制作等业务。10年已为汝城众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

ar -rcs test.a *.o

查看静态库:

ar -tv test.a

解压静态库:

ar -x test.a

查看程序依赖的动态库:

readelf -a xxx|grep library

如:可以看到,下面的交叉程序hello执行依赖于如下两个动态库。

rebi@ubuntu:~/test$ arm-none-linux-gnueabi-readelf -a hello|grep "library"

0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]

0x00000001 (NEEDED) Shared library: [libc.so.6]

rebi@ubuntu:~/test$

或者:readelf -l hello 即可。

nm xxx 查看符号

其中,T表示代码段,U表示在其它地方定义,所以需要确保必须在某个.o或库里被定义过。

Linux常用的内容查看命令有哪些?

1、cat

用于显示小文件的内容,或者在shell脚本里显示文件内容,不支持翻页。

[root@localhost ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Fri Jun 14 18:02:15 2019

可以显示/etc/fstab的内容,如果想显示行号,只要加上 cat -n参数即可

2、less

当文件比较大,cat查看时并不方便,因为cat不支持翻页,是一次性显示完的。

所以cat更适合在shell脚本中使用,让机器自动读取文件,而不适合人类来看。

所以当我们在看大文件时,一般会会用less命令

这个文件 /etc/man_db.conf有一百多行,我们用less来翻页查看

[root@localhost ~]# less /etc/man_db.conf

上下翻页,q键退出

3、head

如果只想看一个文件的前几行,可以用head,比如,当我们查看ip地址时,其实只关注前2行就足够了

[root@localhost ~]# ifconfig eth0

eth0: flags=4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500

inet 172.20.10.3 netmask 255.255.255.240 broadcast 172.20.10.15

inet6 240e:c0:f4be:300:e64:6e3c:b445:efab prefixlen 64 scopeid 0x0global

inet6 fe80::b7ad:e2ed:832e:99a9 prefixlen 64 scopeid 0x20link

ether 00:0c:29:84:23:62 txqueuelen 1000 (Ethernet)

RX packets 1017 bytes 130078 (127.0 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 729 bytes 120983 (118.1 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

4、tail

和head相对,tail是只显示末尾几行,比如我们想查看一个文件的更新情况,只要看最后几行就可以了

[root@localhost ~]# tail -1 /etc/fstab

/dev/mapper/centos-swap swap swap defaults 0 0

[root@localhost ~]#

tail -数字,就是查看一个文件的最后几行

tail也可以自动监测文件的更新情况,如果有更新,立即在屏幕显示,使用tail -F参数,注意,使用大写-F

5、wc

可以查看一个文件有多少行,多少单词,多少字节

[root@localhost ~]# wc /etc/fstab

19 62 504 /etc/fstab

这个文件有19行,62个单词,504个字节 更多详细的介绍可查看“Linux命令大全”。

linux查看文件内容命令

常用的7个Linux文件内容查看命令:

1.cat由第一行开始显示文件内容

用法:

cat-A 相当于-vET的整合选项,可列出一些特殊字符而不是空白;

cat-b 列出行号,仅针对非空白行做行号显示,空白行不标行号;

cat-E 将结尾的断行字节$显示出来;

cat-n 列印出行号,连同空白行也会有行号,与-b的选项不同;

cat-T 将[tab]按键以^I显示出来;

cat-v 列出一些看不出来的特殊字符;

2.tac 由最后一行开始显示文件内容

tac-b 在行前而非行尾添加分隔标志;

tac-r 将分隔标志视作正则表达式来解析;

tac-s 使用指定字符串代替换行作为分隔标志;

3.nl 显示行号

nl-b a 无论是否为空行,均列出行号;

nl-b t 空行不列出行号;

nl-n ln 行号在荧幕的最左方显示;

nl-n rn 行号在自己栏位的最右方显示,且不加0;

nl-n rz 行号在自己栏位的最右方显示,且加0;

nl-w 行号栏位的占用的位数;

4.more 一页一页的显示文件内容

在more程序运行过程中,可以按以下键:

空白键(space):代表向下翻一页;

Enter:代表向下翻『一行』;

/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f:立刻显示出档名以及目前显示的行数;

q:代表立刻离开more,不再显示该文件内容。

b或[ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。

5.less与more类似,但是比more更好的是,他可以往前翻页

less运行时可以输入的命令有:

空白键:向下翻动一页;

[pagedown]:向下翻动一页;

[pageup]:向上翻动一页;

/字串:向下搜寻『字串』的功能;

?字串:向上搜寻『字串』的功能;

n:重复前一个搜寻(与/或?有关!);

N:反向的重复前一个搜寻(与/或?有关!);

q:离开less这个程序;

6.head 显示前几行

语法:

head-n 后面接数字,代表显示行数;

7.tail 显示后几行

tail-n 后面接数字,代表显示行数;

tail-f 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测;

linux源码包怎么查看依赖关系

一、可执行文件/二进制文件依赖共享库

ldd命令用来查看可执行文件依赖的共享库文件。

$ ldd --help

Usage: ldd [OPTION]... FILE...

--help print this help and exit

--version print version information and exit

-d, --data-relocs process data relocations

-r, --function-relocs process data and function relocations

-u, --unused print unused direct dependencies

-v, --verbose print all information

示例:

$ ldd helloworld

二、共享库依赖共享库关系

上面的ldd命令无法查看共享库的依赖关系,因为共享库本身并不是可执行文件,我们可以使用

objdump -x libhelloworld.so | grep NEEDED

其中,libhelloworld.so是你的库名称。

附:

readelf命令用于读取ELF Header信息


分享文章:linux查看命令依赖 linux 查看命令执行情况
转载来源:http://scyanting.com/article/ddiihsi.html