一键找出所有的依赖并且打包

来源:互联网 发布:java 接口中静态方法 编辑:程序博客网 时间:2024/06/05 17:53
如果觉得文章对你有帮助先点个
当程序从一台设备copy到另外一台设备的时候常常我们需要找到这个程序依赖的动态库。。
一个一个的找显然先得特别笨的方法,所以应该是有脚本可以一键搞定这个事情的。尝试用shell解决这个问题
先告诉结果
ldd /usr/bin/perf  |cut -d ">" -f 2|grep lib|cut -d "(" -f 1|xargs tar -chvf 123.tar 
上面的命令是找到perf依赖的所有库。。。。并且打包到123.tar文件中

主要用的命令是cut命令
cut根据分割符号找出对应的结果
执行ldd /usr/bin/perf


需要分割输出的结果
第一个分割符
>
cut命令的格式
cut -d ‘>’ -f 数组下标
note:这个数组从1开始记录下标记

第一次分割后得到的结果


后面还有括号(
所以要进行第二次分割分割符号为括号(
分割命令
cut -d '(' -f 1
这次分割后的结果


除了第一行的没有lib之外,其他都是我们需要的了

所以只需要调用tar命令就OK了


普通的tar会把link文件当成软连接,所以这次我们在普通tar加 了一个h的选项。。
h选项的含义:把link文件当初硬连接,说白了。即使是连接也当成文件copy。。。

所以只需tar -cvfh 123.tar搞定



2 0
原创粉丝点击