• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            Linux下的ldd命令可以查看一個可執行文件/共享庫/靜態庫的依賴, 但是想得到這些依賴文件, 必須手動去找,非常麻煩

            這里是一個Shell可以將依賴列表中的文件拷貝到指定目錄

            deplist=$( ldd $1 | awk '{if (match($3,"/")){ print $3}}' )
            cp $deplist $2
            代碼解釋: ldd導出列表, 這個列表打印出來很丑

            linux-gate.so.1 =>  (0x00ed2000)
                liblog4cpp.so.4 => /usr/local/lib/liblog4cpp.so.4 (0x00657000)
                libprotobuf.so.7 => /usr/local/lib/libprotobuf.so.7 (0x00360000)
                libboost_filesystem.so.1.48.0 => /usr/local/lib/libboost_filesystem.so.1.48.0 (0x00a9a000)
                libboost_program_options.so.1.48.0 => /usr/local/lib/libboost_program_options.so.1.48.0 (0x00110000)
                libboost_system.so.1.48.0 => /usr/local/lib/libboost_system.so.1.48.0 (0x00a85000)
                libboost_thread.so.1.48.0 => /usr/local/lib/libboost_thread.so.1.48.0 (0x00179000)
                libunwind-x86.so.7 => /usr/lib/libunwind-x86.so.7 (0x00821000)
                libluabindd.so.0.9.0 => /usr/local/lib/libluabindd.so.0.9.0 (0x00bb3000)
                libmysqlpp.so.3 => /usr/local/lib/libmysqlpp.so.3 (0x00de5000)
                libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x001a9000)
                libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00782000)
                libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00aea000)
                libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00447000)
                libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00abd000)
                librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00193000)
                libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0x00294000)
                libunwind.so.7 => /usr/lib/libunwind.so.7 (0x002ab000)
                libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00e8a000)
                libmysqlclient_r.so.16 => /usr/lib/libmysqlclient_r.so.16 (0x0083b000)
                /lib/ld-linux.so.2 (0x00608000)
                libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x002c0000)

             

            我們發現第一行的so沒有對應的庫地址, 因此我們使用awk的腳本功能,判斷第三個參數,也就是=>之后的路徑必須包含/

            之后將第一行的輸出重定向到變量中, 再使用cp指令從列表拷貝到指定目錄

            posted on 2012-02-29 16:05 戰魂小筑 閱讀(3077) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術 、網絡 服務器技術C++/ 編程語言
            久久国产精品一区二区| 久久精品一本到99热免费| 国产精品热久久无码av| 亚洲国产成人乱码精品女人久久久不卡 | 久久久久亚洲?V成人无码| 91麻豆国产精品91久久久| 久久久噜噜噜久久中文福利| 久久中文精品无码中文字幕| 久久亚洲AV成人无码国产| 精品无码久久久久久久动漫| 久久国产精品99精品国产| 无码乱码观看精品久久| 国内精品久久九九国产精品| 国内高清久久久久久| 久久精品无码av| 午夜不卡888久久| 91精品国产91久久综合| 久久婷婷五月综合色奶水99啪| 色婷婷久久综合中文久久一本| 久久青青草原国产精品免费 | 精品人妻伦一二三区久久| 蜜臀av性久久久久蜜臀aⅴ| 久久久久人妻一区精品| 日本精品久久久久中文字幕8| 国产成人精品综合久久久久 | 狠狠色丁香婷婷综合久久来| 国产激情久久久久久熟女老人 | 久久久久久久久久久免费精品 | 久久99国产精品久久99小说| 国产三级精品久久| 久久WWW免费人成—看片| 国产成人精品久久| 久久综合九色欧美综合狠狠| 久久青青草原精品国产软件| 久久久中文字幕日本| 欧美激情精品久久久久久| 三级片免费观看久久| 国产欧美久久久精品影院| 国产毛片欧美毛片久久久| 精品国产乱码久久久久久郑州公司| 久久国产热精品波多野结衣AV |