• <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++/ 編程語言
            午夜精品久久久久久久| 国内精品久久久久久久亚洲| 久久久久亚洲av综合波多野结衣| 欧美色综合久久久久久| 波多野结衣久久一区二区 | 97久久天天综合色天天综合色hd | 伊人久久综合无码成人网| 日韩精品久久久肉伦网站 | 无码人妻精品一区二区三区久久| 久久精品一本到99热免费| 久久99亚洲综合精品首页| 久久亚洲精品人成综合网| 久久影院亚洲一区| 国产成人精品白浆久久69| 欧美日韩精品久久久免费观看| 嫩草影院久久国产精品| 东方aⅴ免费观看久久av| 激情久久久久久久久久| 精品国产91久久久久久久| 久久99热这里只频精品6| 久久国产精品二国产精品 | 狠狠综合久久综合中文88| 99热成人精品热久久669| 精品一二三区久久aaa片| 久久久久无码中| 97精品伊人久久久大香线蕉| 久久国产精品99国产精| 99精品久久久久久久婷婷| 久久综合色区| 精品人妻伦一二三区久久| 久久精品国产免费一区| 国产成人久久精品区一区二区| 色婷婷综合久久久久中文一区二区| 亚洲国产综合久久天堂| 欧美一级久久久久久久大| 久久精品亚洲乱码伦伦中文| 品成人欧美大片久久国产欧美...| 97久久超碰成人精品网站| 日韩亚洲欧美久久久www综合网| 999久久久免费精品国产| 青青青国产精品国产精品久久久久|