• <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 戰魂小筑 閱讀(3060) 評論(0)  編輯 收藏 引用 所屬分類: 腳本技術 、網絡 服務器技術 、C++/ 編程語言
            久久久久久亚洲精品无码| 国产精品久久久亚洲| 亚洲国产成人久久精品影视| 天堂久久天堂AV色综合| 亚洲伊人久久综合影院| 久久久人妻精品无码一区| 精品久久久久一区二区三区| 国产精品无码久久综合网| 久久综合九色综合精品| 97超级碰碰碰碰久久久久| 日韩精品国产自在久久现线拍 | 久久久久99精品成人片| 国内精品久久久久久中文字幕 | 亚洲精品tv久久久久| 香蕉久久久久久狠狠色| 99精品国产99久久久久久97| 亚洲国产精品无码久久98| 狠狠色婷婷久久一区二区三区| 久久天堂AV综合合色蜜桃网| 久久久久AV综合网成人| 久久免费精品视频| 久久伊人影视| 人妻丰满AV无码久久不卡| 久久精品一区二区三区不卡| 久久久久久A亚洲欧洲AV冫| 亚洲人成无码网站久久99热国产| 久久精品aⅴ无码中文字字幕不卡| 一本一道久久综合狠狠老| 97久久超碰国产精品旧版| 久久电影网| 无码人妻久久一区二区三区| 久久最新精品国产| 久久久久青草线蕉综合超碰| 99久久99久久| 久久亚洲精品成人无码网站| 99久久精品国产高清一区二区| 久久国产免费直播| 精品久久久久久久无码| 欧美无乱码久久久免费午夜一区二区三区中文字幕| 狠狠色丁香婷婷久久综合| 国产精品一区二区久久精品无码|