1<!DOCTYPE html> 2<html> 3 4 <head> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 8 9 <title>Hunter Yuan</title> 10 <meta name="description" content="æ¬¢è¿æ¥å°æç个人ç«~"> 11 <meta name="author" content="leopardpan"> 12 13 <meta name="twitter:card" content="summary"> 14 <meta name="twitter:title" content="Hunter Yuan"> 15 <meta name="twitter:description" content="æ¬¢è¿æ¥å°æç个人ç«~"> 16 17 <meta property="og:type" content="article"> 18 <meta property="og:title" content="Hunter Yuan"> 19 <meta property="og:description" content="æ¬¢è¿æ¥å°æç个人ç«~"> 20 21 <link rel="icon" type="image/png" href="/images/favicon.png" /> 22 <link href="/images/favicon.png" rel="shortcut icon" type="image/png"> 23 24 <link rel="stylesheet" href="/css/main.css"> 25 <link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> 26 27 <link rel="canonical" href="https://clodfisher.github.io/"> 28 <link rel="alternate" type="application/rss+xml" title="Hunter Yuan" href="https://clodfisher.github.io/feed.xml"> 29 30 <meta name="google-site-verification" content="1-1ZlHoRvM0T2FqPbW2S-qLgYXN6rsn52kErlMPd_gw" /> 31 32<!-- ç«ç¹ç»è®¡ --> 33
33<script 34 async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"> 35 </script>
35 36 37<!-- ç¾åº¦ç»è®¡ --> 38 39
39<script> 40 var _hmt = _hmt || []; 41 (function() { 42 var hm = document.createElement("script"); 43 hm.src = "//hm.baidu.com/hm.js?6e22e4e5a2127ce2bf08bafa16730301"; 44 var s = document.getElementsByTagName("script")[0]; 45 s.parentNode.insertBefore(hm, s); 46 })(); 47 </script>
47 48 49 50<!-- google ç»è®¡ --> 51 52
52<script>
vendor: 366 bytes, lines 52-57
52 53 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 54 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 55 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 56 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 57 ga('create', '
57UA-112834945-1
vendor: 44 bytes, lines 57-59
57', 'auto'); 58 ga('send', 'pageview'); 59
59</script>
59 60 61 62
62<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
vendor: 1 bytes, line 62
62
63<script> 64 (adsbygoogle = window.adsbygoogle || []).push({ 65 google_ad_client: "ca-pub-9005224472374751", 66 enable_page_level_ads: true 67 }); 68</script>
68 69 70</head> 71 72 73 <body> 74 75 <span class="mobile btn-mobile-menu"> 76 <div class="nav_container"> 77 <nav class="nav-menu-item" style = "float:right"> 78 <i class="nav-menu-item"> 79 <a href="/#blog" title="" class="blog-button"> å客主页 80 </a> 81 </i> 82 83 <i class="nav-menu-item"> 84 85 <a href="/archive" title="archive" class="btn-mobile-menu__icon"> 86 æææç« 87 </a> 88 </i> 89 90 <i class="nav-menu-item"> 91 92 <a href="/tags" title="tags" class="btn-mobile-menu__icon"> 93 æ ç¾ 94 </a> 95 </i> 96 97 <i class="nav-menu-item"> 98 99 <a href="/about" title="about" class="btn-mobile-menu__icon"> 100 å ³äºæ 101 </a> 102 </i> 103 104 </nav> 105 </div> 106 </span> 107 108 <header class="panel-cover " style="background-image: url('/images/background-cover.jpg')"> 109 <div class="panel-main"> 110 111 <div class="panel-main__inner panel-inverted"> 112 <div class="panel-main__content"> 113 <!-- 头忿-start --> 114 <div class="ih-item circle effect right_to_left"> 115 <a href="/#blog" title="åå¾ Hunter Yuan ç主页" class="blog-button"> 116 <div class="img"><img src="/images/avatar.jpg" alt="img"></div> 117 <div class="info"> 118 <div class="info-back"> 119 <h2> 120 121 clodfisher 122 123 </h2> 124 <p> 125 126 ç½ç»å®å ¨ / èæå 127 128 </p> 129 </div> 130 </div> 131 </a> 132 </div> 133 <!-- 头忿-end --> 134 <h1 class="panel-cover__title panel-title"><a href="/#blog" title="link to homepage for Hunter Yuan" class="blog-button">Hunter Yuan</a></h1> 135 136 <span class="panel-cover__subtitle panel-subtitle">ä¸äº©ä¸åå°</span> 137 138 <hr class="panel-cover__divider" /> 139 <p class="panel-cover__description">æ¬¢è¿æ¥å°æç个人ç«~</p> 140 <hr class="panel-cover__divider panel-cover__divider--secondary" /> 141 142 143 144 145 <div class="navigation-wrapper"> 146 <div> 147 <nav class="cover-navigation cover-navigation--primary"> 148 <ul class="navigation"> 149 <li class="navigation__item"><a href="/#blog" title="" class="blog-button">å客主页</a></li> 150 151 <li class="navigation__item"><a href="/archive" title="archive">æææç« </a></li> 152 153 <li class="navigation__item"><a href="/tags" title="tags">æ ç¾</a></li> 154 155 <li class="navigation__item"><a href="/about" title="about">å ³äºæ</a></li> 156 157 </ul> 158 </nav> 159 </div> 160 </div> 161 162 163 </div> 164 </div> 165 </div> 166 167 168 <div class="panel-cover--overlay cover-clear"></div> 169 170 </div> 171</header> 172 173 174 <div class="content-wrapper"> 175 <div class="content-wrapper__inner"> 176 <div class="main-post-list hidden"> 177 178 <ol class="post-list"> 179 180 <li> 181 <h2 class="post-list__post-title post-title"><a href="/2019/11/MmapNetlink/" title="è®¿é® ä¿®æ¹nfqueueæ¯æé¶æ·è´">ä¿®æ¹nfqueueæ¯æé¶æ·è´</a></h2> 182 <p class="excerpt">è§£å³é®é¢æè¿°äº§åä¸çsnortéç¨nfqueueä»å æ ¸å±è·åæ°æ®å å°åºç¨å±ï¼å 为nfqueueæ¯éç¨netlinkå®ç°ï¼å ¶ä¸æ¶åå°æ°æ®å ä»å æ ¸å±å°åºç¨å±ä¼ è¾æ¶è¿è¡æ°æ®å æ·ãä»åºç¨å±ä¸åææ©æ°æ®å°å æ ¸å±ä¹éè¦è¿è¡æ°æ®å çæ·è´ï¼å¯¼è´æ§è½æ¯è¾å·®ï¼ä»èå°ä»netlinkæ¹é¢è¿è¡æ§è½ä¼åãéç¨çä¼åæ¹å¼å°snortä¸daqä¸è·åæ°æ®å çæºç nfqueueé¨åæ¹ä¸ºæ¯ænetlink mmapçæ¹å¼ãç ç©¶netlinkç¸å ³å 容netlinkç¸å ³çå 容讲解ç½ä¸æå¾å¤ï¼æ¤å¤å°±ä¸å¤è¯´ï¼ç ç©¶netlinkç¸å ³ç...…</p> 183 <div class="post-list__meta"> 184 <time datetime="2019-11-26 00:00:00 +0000" class="post-list__meta--date date"> 185 <img src="/images/calendar.png" width="20px" /> 186 2019-11-26</time> 187 <div class = "tag-img-icon"> 188 <img src="/images/tag-icon.svg" width="20px" /> 189 </div> 190 <a href="/tags"> 191 <div class = "post-list-icon-mate">
192 <span class="post-list__meta--tags-right">æ§è½ä¼å</span> 193 </div> 194 <div class = "post-list-small-mate"> 195 <a class="btn-border-small" href=/2019/11/MmapNetlink/>é è¯»å ¨æ » </a> 196 </div> 197 </div> 198 <hr class="post-list__divider" /> 199 </li> 200 201 <li> 202 <h2 class="post-list__post-title post-title"><a href="/2019/02/EbtablesArp/" title="è®¿é® ebtableç°åºå°å®è·µ">ebtableç°åºå°å®è·µ</a></h2> 203 <p class="excerpt">ç°åºé®é¢æè¿°å¨è¿ç¨æ¯æç°åºä¸ï¼æä¸ªå¦ä¸å¾æç¤ºçç°åºç¯å¢ï¼å®¢æ·ç«¯éè¿äº¤æ¢æºè¿æ¥è®¾å¤ç两个ç½å¡eth0ï¼è®¾å¤åäºç¹æ®å¤çï¼æ°æ®å å¤ççæ¯è¾æ ¢ï¼åeth1ï¼åæ¶éè¿è®¾å¤çeth3è¿æ¥å°æå¡å¨ï¼ç±äºç°åºä¸ç¹æ®è¦æ±ï¼å®¢æ·ç«¯åªè½åeth0éä¿¡ï¼ä¸åæå¡å¨éä¿¡ï¼åæ¶ï¼æå¡å¨çIPã设å¤Ipå客æ·ç«¯Ipä¸å¯ä»¥åï¼åæ¶ç½ç»ææä¹ä¸å¯ä»¥ä¿®æ¹ï¼å 为æå ¶å®ç¨éã ãç°åºç½ç»ææå¾å¦ä¸æç¤ºï¼ã é®é¢åæç±äºå®¢æ·ç«¯Ipã设å¤eth0Ipåæå¡å¨IPé½å¨åä¸ä¸ªç½æ®µï¼ä½æ¤æ¶ç½å¡eth0çIpåæå¡å¨Ipåºç°å²...…</p> 204 <div class="post-list__meta"> 205 <time datetime="2019-02-26 00:00:00 +0000" class="post-list__meta--date date"> 206 <img src="/images/calendar.png" width="20px" /> 207 2019-02-26</time> 208 <div class = "tag-img-icon"> 209 <img src="/images/tag-icon.svg" width="20px" /> 210 </div> 211 <a href="/tags"> 212 <div class = "post-list-icon-mate"> 213 <span class="post-list__meta--tags-right">宿è¿ç»´</span> 214 </div> 215 <div class = "post-list-small-mate"> 216 <a class="btn-border-small" href=/2019/02/EbtablesArp/>é è¯»å ¨æ » </a> 217 </div> 218 </div> 219 <hr class="post-list__divider" /> 220 </li> 221 222 <li> 223 <h2 class="post-list__post-title post-title"><a href="/2019/02/FindMaxFile/" title="è®¿é® æ¾å°å ç¨å å大æä»¶">æ¾å°å ç¨å å大æä»¶</a></h2> 224 <p class="excerpt">ç°åºé®é¢æè¿°å¨è¿ç¨æ¯æç°åºé®é¢çæ¶åï¼åç°linuxæä½ç³»ç»çå åå ç¨è¿å¤§ï¼èä¸ç®å½å¤æ·±åº¦å¹¿ï¼å¯ä»¥è®¤ä¸ºæ¯æ´ä¸ªæä½ç³»ç»ï¼ï¼ä¸å¤ªå¥½æ¾å°å ·ä½åªä¸ªæä»¶å ç¨è¿å¤§å åï¼å¯¼è´è¥æ¯æ·è´ä¸äºæä»¶æç产æä»¶çæ¶å导è´å¤±è´¥ãè¾¾å°ç®ç卿´ä¸ªæä½ç³»ç»ä¸ï¼æ¾å°è¿å¤§ç䏿 ç¨çæä»¶ï¼å é¤ãè§£å³æ¹æ³ éè¿dfå½ä»¤æ¾å°ç³»ç»ä¸é£äºç®å½å ç¨è¾å¤§å åã å¯ä»¥çåº/ç®å½å ç¨100%ã è¿å ¥/ç®å½ï¼éè¿duå½ä»¤ä¸çº§ä¸çº§çæ¥æ¾ï¼å ¶ä¸å½ä»¤-d1æ¯æ¥æ¾ç深度ã è¿å ¥ç¬¬2æ¥ä¸æ¾å°çç®å½ï¼åæ¥...…</p> 225 <div class="post-list__meta"> 226 <time datetime="2019-02-26 00:00:00 +0000" class="post-list__meta--date date"> 227 <img src="/images/calendar.png" width="20px" /> 228 2019-02-26</time> 229 <div class = "tag-img-icon"> 230 <img src="/images/tag-icon.svg" width="20px" /> 231 </div> 232 <a href="/tags"> 233 <div class = "post-list-icon-mate"> 234 <span class="post-list__meta--tags-right">宿è¿ç»´</span> 235 </div> 236 <div class = "post-list-small-mate"> 237 <a class="btn-border-small" href=/2019/02/FindMaxFile/>é è¯»å ¨æ » </a> 238 </div> 239 </div> 240 <hr class="post-list__divider" /> 241 </li> 242 243 <li> 244 <h2 class="post-list__post-title post-title"><a href="/2019/02/GoKnowlePoint/" title="è®¿é® Go常è§ç¥è¯ç¹æ±æ»">Go常è§ç¥è¯ç¹æ±æ»</a></h2> 245 <p class="excerpt">åè¨å¯¹äºå·¥ä½åå¦ä¹ ä¸éå°ï¼å®¹æå¿è®°çç¥è¯ç¹è¿è¡æ±æ»ï¼æ¹é¢ä»¥å使ç¨çæ¶åï¼è½å¤åæ¶æ¥å°ç¸å ³ç¹ï¼èçº¦éæ°å¦ä¹ åæç´¢çæ¶é´ãGOå·¥ç¨å¸å±æ¤é¨åä¸»è¦æ»ç»å ³äºGoè¯è¨å¼åè¿ç¨ä¸ï¼å®ç°å·¥ç¨åæ¹é¢ç¥è¯ç¹ãåä¸ä¸ªç®å½ä¸ææ ·å£°ææºç å å¨åä¸ä¸ªç®å½ä¸çæºç æä»¶é½éè¦è¢«å£°æä¸ºå±äºåä¸ä¸ªä»£ç å ï¼è¿æè¿ææè½éè¿ç¼è¯ãæºç æä»¶ä»£ç å 声æçåºæ¬è§å ç¬¬ä¸æ¡ï¼åç®å½ä¸çæºç æä»¶ç代ç å 声æè¯å¥è¦ä¸è´ãä¹å°±æ¯è¯´ï¼ä»ä»¬è¦åå±äºä¸ä¸ªä»£ç å ãè¿å¯¹äºæææºç æä»¶é½æ¯éç¨çã ç¬¬äºæ¡ï¼æºç æä»¶å£°æç代ç å çåè¯å¯ä»¥ä¸å ¶æå¨...…</p> 246 <div class="post-list__meta"> 247 <time datetime="2019-02-26 00:00:00 +0000" class="post-list__meta--date date"> 248 <img src="/images/calendar.png" width="20px" /> 249 2019-02-26</time> 250 <div class = "tag-img-icon"> 251 <img src="/images/tag-icon.svg" width="20px" /> 252 </div> 253 <a href="/tags"> 254 <div class = "post-list-icon-mate">
255 <span class="post-list__meta--tags-right">Go</span> 256 </div> 257 <div class = "post-list-small-mate"> 258 <a class="btn-border-small" href=/2019/02/GoKnowlePoint/>é è¯»å ¨æ » </a> 259 </div> 260 </div> 261 <hr class="post-list__divider" /> 262 </li> 263 264 <li> 265 <h2 class="post-list__post-title post-title"><a href="/2019/01/StructuresAndAlgorithms/" title="è®¿é® æ°æ®ç»æä¸ç®æ³å¦ä¹ å¿å¾">æ°æ®ç»æä¸ç®æ³å¦ä¹ å¿å¾</a></h2> 266 <p class="excerpt">åè¨æ¬ææ¡£ä¸»è¦æ¯é对å¨å¦ä¹ åå·¥ä½ä¸å¯¹äºæ°æ®ç»æä¸ç®æ³çææï¼ä¸»è¦å æ¬ä»¥ä¸å 容常ç¨çåºç¡çæ°æ®ç»æä¸ç®æ³ãå ¶æ¶åå°ä»¥ä¸æ°æ®ç»æï¼æ°ç»ãé¾ãæ ãéåãæ£å表ãäºåæ ãå ã跳表ãå¾ãæ çãæ¶åå°çç®æ³ä¸»è¦å æ¬éå½ãæåºãäºåæ¥æ¾ãæç´¢ãåå¸ç®æ³ãåæ²»ç®æ³ãåæº¯ç®æ³ã卿è§åãå符串å¹é ç®æ³çã å¯¹äºæ¤é¨åçå¦ä¹ ä¸è¦æ»è®°ç¡¬èï¼è¦ææ¡åæçè½åï¼æä½ç®æ³çç¹å®ï¼åºç¨åºæ¯ãç¨å°çæ¶åï¼è½å¤æ³å°å³å¯ï¼åè±äºæ¶é´å¼æå³å¯ãç¥è¯éè¦æ²æ·ï¼ä¸è¦æ³è¯å¾ä¸ä¸åææ¡ææï¼å¦ä¹ ç¥è¯çè¿ç¨æ¯åå¤è¿ä»£ãä¸ææ²æ·çè¿ç¨...…</p> 267 <div class="post-list__meta"> 268 <time datetime="2019-01-24 00:00:00 +0000" class="post-list__meta--date date"> 269 <img src="/images/calendar.png" width="20px" /> 270 2019-01-24</time> 271 <div class = "tag-img-icon"> 272 <img src="/images/tag-icon.svg" width="20px" /> 273 </div> 274 <a href="/tags"> 275 <div class = "post-list-icon-mate"> 276 <span class="post-list__meta--tags-right">æ°æ®ç»æä¸ç®æ³</span> 277 </div> 278 <div class = "post-list-small-mate"> 279 <a class="btn-border-small" href=/2019/01/StructuresAndAlgorithms/>é è¯»å ¨æ » </a> 280 </div> 281 </div> 282 <hr class="post-list__divider" /> 283 </li> 284 285 <li> 286 <h2 class="post-list__post-title post-title"><a href="/2018/10/AlarmAndPthread/" title="è®¿é® å®æ¶å¨ä¸çº¿ç¨ä¹é´çå ³ç³»">宿¶å¨ä¸çº¿ç¨ä¹é´çå ³ç³»</a></h2> 287 <p class="excerpt">åè¨æ¬ææ¡£ä¸»è¦æ¯é对工ä½ä¸å¯¹äºå®æ¶å¨ä¸çº¿ç¨æ¶åå°çç¥è¯ç¹è¿è¡æ»ç»ï¼ä»¥å坹宿¶å¨ä¸çº¿ç¨ç¸äºä¹é´çæ§è¡è¿ç¨éªè¯ã å ¶å ·ä½éªè¯é®é¢å¦ä¸æç¤ºï¼ å¦ä½å®ç°å宿¶å¨ï¼å½å®æ¶æ¶é´å°æ¶ï¼æ§è¡ä¸æ¬¡ç¸åºçæä½ã å¦ä½å®ç°å¾ªç¯å®æ¶ï¼æ¯è¿ä¸ä¸ªæ¶é´æ®µï¼æ§è¡ä¸æ¬¡ç¸åºçæä½ã 对äºå®æ¶å¨ï¼å½æ§è¡çæä½çè¿ç¨ä¸ï¼å®æ¶å¨æä¸æ¬¡è§¦åï¼ä¼ä¸ä¼ä¸æå½åæ£å¨æ§è¡çæä½ã 对äºå®æ¶å¨è®¡æ¶ï¼æ¯å¦å 嫿§è¡æä½çæ¶é´ï¼å³å½å®æ¶å¨æ§è¡çæä½ï¼å°äºå®æ¶å¨çæ¶é´ï¼å®æ¶å¨çæ¶é´ï¼æ¯ä»å®æ¶å¨æ§è¡æä½åå¼å§è®¡æ¶ï¼è¿æ¯å®æ¶æ§è¡æä½ä¹å计æ¶ã ...…</p> 288 <div class="post-list__meta"> 289 <time datetime="2018-10-21 00:00:00 +0000" class="post-list__meta--date date"> 290 <img src="/images/calendar.png" width="20px" /> 291 2018-10-21</time> 292 <div class = "tag-img-icon"> 293 <img src="/images/tag-icon.svg" width="20px" /> 294 </div> 295 <a href="/tags"> 296 <div class = "post-list-icon-mate"> 297 <span class="post-list__meta--tags-right">linuxç³»ç»ç¼ç¨</span> 298 </div> 299 <div class = "post-list-small-mate"> 300 <a class="btn-border-small" href=/2018/10/AlarmAndPthread/>é è¯»å ¨æ » </a> 301 </div> 302 </div> 303 <hr class="post-list__divider" /> 304 </li> 305 306 <li> 307 <h2 class="post-list__post-title post-title"><a href="/2018/10/ListAddNode/" title="è®¿é® åæåºååé¾è¡¨æ·»å æ°çèç¹">åæåºååé¾è¡¨æ·»å æ°çèç¹</a></h2> 308 <p class="excerpt">
308åè¨åä¸ä¸ªååæåºé¾è¡¨æ·»å ä¸ä¸ªæ°çèç¹ï¼è¿ç§é®é¢è®°å¾å¨å¤§å¦æ°æ®ç»æè¯¾ä¸èå¸è®²è¿å¥½äºæ¬¡ï¼é½æ¯è¿è¡åç±»å¤çï¼æ³å°ä¸æ¥å䏿¥ï¼åç¡®å°ééäºæè§å³ææ³ï¼ææ³å³æåï¼æå峿å¾ï¼è¿æ¯ä¸ç§è¯éçè§£é¢æ¹æ³ã éåå°è¯äºå¦å¤ä¸ç§è§£é¢çç¥å½çº³æ»ç»ï¼åªéæç¡®è¾¾å°ä»ä¹æ¡ä»¶ï¼åé£ä¸ªç¹æå ¥å³å¯ãé¾è¡¨æ°æ®ç»æä¸å½æ°é¾è¡¨çæ°æ®ç»æï¼struct node{ struct node * next; //è¿æ¥é¾è¡¨çå ç´ int priority; //ä¼å çº§ï¼æ¤å¼è¶å¤§è¶æè½½é¾è¡¨ç...…</p> 309 <div class="post-list__meta"> 310 <time datetime="2018-10-21 00:00:00 +0000" class="post-list__meta--date date"> 311 <img src="/images/calendar.png" width="20px" /> 312 2018-10-21</time> 313 <div class = "tag-img-icon"> 314 <img src="/images/tag-icon.svg" width="20px" /> 315 </div> 316 <a href="/tags"> 317 <div class = "post-list-icon-mate"> 318 <span class="post-list__meta--tags-right">ç®æ³ä¸æ°æ®ç»æ</span> 319 </div> 320 <div class = "post-list-small-mate"> 321 <a class="btn-border-small" href=/2018/10/ListAddNode/>é è¯»å ¨æ » </a> 322 </div> 323 </div> 324 <hr class="post-list__divider" /> 325 </li> 326 327 <li> 328 <h2 class="post-list__post-title post-title"><a href="/2018/09/TCPImplementationLinux/" title="è®¿é® linuxå æ ¸åè®®æ æ¶æç®è¿°">linuxå æ ¸åè®®æ æ¶æç®è¿°</a></h2> 329 <p class="excerpt">åè¨æ¬ææ¡£ç®è¦æ¦è¿°äºå¦ä½å¨Linuxå æ ¸åè®®æ ä¸å®ç°TCPä¼ è¾è¿ç¨ã对äºå ¶ä¸æ¶åå°çå ³é®ç¹ï¼ä»¥åæ´ä¸ªç½ç»ä¼ è¾çæ§è½å½±ååæ°è¿è¡äºæ»ç»è¯´æã对äºè®¾è®¡å°çç»èæè¿°ä¸å¤ªå ¨é¢ï¼æå ´è¶£è å¯ä»¥æ ¹æ®å ¶ä¸æ¶åå°çç¹è¿è¡ç±çº¿å°é¢çèªè¡æ©å ï¼æ¬ææ¡£ä¸»è¦æ¯æ ¹æ®èªå·±çè§£è¿è¡æ´çï¼è¥æ¯æé误ä¹å¤ï¼å¸æä¸åèµæã###åè龿¥ï¼ Linux kernel design patterns - part 1 转载请注æï¼HunterYuançå客 » linuxå æ ¸åè®®æ æ¶æç®è¿°…</p> 330 <div class="post-list__meta"> 331 <time datetime="2018-09-12 00:00:00 +0000" class="post-list__meta--date date"> 332 <img src="/images/calendar.png" width="20px" /> 333 2018-09-12</time> 334 <div class = "tag-img-icon"> 335 <img src="/images/tag-icon.svg" width="20px" /> 336 </div> 337 <a href="/tags"> 338 <div class = "post-list-icon-mate"> 339 <span class="post-list__meta--tags-right">linuxå æ ¸åè®®æ </span> 340 </div> 341 <div class = "post-list-small-mate"> 342 <a class="btn-border-small" href=/2018/09/TCPImplementationLinux/>é è¯»å ¨æ » </a> 343 </div> 344 </div> 345 <hr class="post-list__divider" /> 346 </li> 347 348 <li> 349 <h2 class="post-list__post-title post-title"><a href="/2018/09/LinuxNetworkKernelDesign/" title="è®¿é® linuxå æ ¸åè®®æ ç 读设计ææ">linuxå æ ¸åè®®æ ç 读设计ææ</a></h2> 350 <p class="excerpt">åè¨å¯¹äºlinuxç½ç»åè®®æ æºç ç 读è¿ç¨ä¸ï¼å¯¹äºæ¶åå°çä¸äºè®¾è®¡ææ³ï¼è¿è¡ç®åè®°å½ï¼åæ¶åä¸èªå·±çææï¼æ¹ä¾¿ä»¥åè¿è¡è¿ç§è®¾è®¡ææ³æ´å æ·±å ¥çç ç©¶ãä½ä¼ãè·µè¡ãå¯¹äºæä¸çè§ç¹ï¼åªæ¯æ ¹æ®èªå·±ççè§£åå·¥ä½ä¸ç»éªè¿è¡äºç®è¿°ï¼ä¼ç±äºèªå·±ååæéæçè§£å差产çé误ï¼è¥æ¯æé误çå°æ¹å¸æè½å¤ç䏿¨å®è´µçæè§åææ£ãæºç 主è¦åèlinux-3.10.0-862.el7.x86_64çæ¬ãè®¾è®¡ææ³ç½ç»åè®®æ 对skbçåå¨è®¾è®¡ç½ç»åè®®æ ä¸å±ä¸å±çä¼ è¾ä»¥åæä½ï¼å¯¹äºç³»ç»ä¸skbåå¨ä»¥å设计çè¦æ±æ¯è¾é«ï¼ä¸»è¦å æ¬ä»¥...…</p> 351 <div class="post-list__meta"> 352 <time datetime="2018-09-08 00:00:00 +0000" class="post-list__meta--date date"> 353 <img src="/images/calendar.png" width="20px" /> 354 2018-09-08</time> 355 <div class = "tag-img-icon"> 356 <img src="/images/tag-icon.svg" width="20px" /> 357 </div> 358 <a href="/tags"> 359 <div class = "post-list-icon-mate">
360 <span class="post-list__meta--tags-right">linuxå æ ¸åè®®æ </span> 361 </div> 362 <div class = "post-list-small-mate"> 363 <a class="btn-border-small" href=/2018/09/LinuxNetworkKernelDesign/>é è¯»å ¨æ » </a> 364 </div> 365 </div> 366 <hr class="post-list__divider" /> 367 </li> 368 369 <li> 370 <h2 class="post-list__post-title post-title"><a href="/2018/09/nf_conntrack/" title="è®¿é® Iptablesä¹nf_conntrack模å">Iptablesä¹nf_conntrack模å</a></h2> 371 <p class="excerpt">nf_conntrack模ånf_conntrack(å¨èçæ¬ç Linux å æ ¸ä¸å« ip_conntrack)æ¯ä¸ä¸ªå æ ¸æ¨¡å,ç¨äºè·è¸ªä¸ä¸ªè¿æ¥çç¶æçãè¿æ¥ç¶æè·è¸ªå¯ä»¥ä¾å ¶ä»æ¨¡å使ç¨,æå¸¸è§ç两个使ç¨åºæ¯æ¯ iptables ç nat ç state 模åãiptables ç nat éè¿è§åæ¥ä¿®æ¹ç®ç/æºå°å,ä½å ä¿®æ¹å°åä¸è¡,æä»¬è¿éè¦è½è®©åæ¥çå è½è·¯ç±å°æåçæ¥æºä¸»æºãè¿å°±éè¦åå© nf_conntrack æ¥æ¾å°åæ¥é£ä¸ªè¿æ¥çè®°å½æè¡ãè state 模ååæ¯ç´æ¥ä½¿ç¨ nf...…</p> 372 <div class="post-list__meta"> 373 <time datetime="2018-09-05 00:00:00 +0000" class="post-list__meta--date date"> 374 <img src="/images/calendar.png" width="20px" /> 375 2018-09-05</time> 376 <div class = "tag-img-icon"> 377 <img src="/images/tag-icon.svg" width="20px" /> 378 </div> 379 <a href="/tags"> 380 <div class = "post-list-icon-mate"> 381 <span class="post-list__meta--tags-right">ç½ç»å®å ¨iptables</span> 382 </div> 383 <div class = "post-list-small-mate"> 384 <a class="btn-border-small" href=/2018/09/nf_conntrack/>é è¯»å ¨æ » </a> 385 </div> 386 </div> 387 <hr class="post-list__divider" /> 388 </li> 389 390 <li> 391 <h2 class="post-list__post-title post-title"><a href="/2018/08/NetworkIOConcurrency/" title="è®¿é® Linuxç½ç»IOå¹¶è¡åææ¯æ»ç»">Linuxç½ç»IOå¹¶è¡åææ¯æ»ç»</a></h2> 392 <p class="excerpt">åè¨æ¬æä¸»è¦æ¯å¯¹ç½ç»æ§è½éè¦æææ¹åçææ¯ï¼è¿è¡ç®åçæ»ç»ã
392å¨å¯¹NICè¿è¡è°æ´çæ¶åï¼åç°RSS(receive side scaling)åRPS(Receive Packet Steering)æ¯ä¸¤ä¸ªéè¦å ³æ³¨çç¹ãRSSåRPS齿¯ç½å¡ä¸ºäºå¨æ¥åæ°æ®å çæ¶å使ç¨å¤æ ¸æ¶æèè¿è¡çæ§è½å¢å¼ºï¼RSSæ¯å¨ç¡¬ä»¶å±é¢èRPSå¨è½¯ä»¶å±é¢ã卿°æ®å æ¥æ¶å°ä¹åå¨ç¨æ·æçå¤çé»è¾æä¹å¤çï¼åºç¨å±çååºæ°æ®å å¦ä½åéé½ä¼å½±åç³»ç»æ§è½ï¼RFS(Receive Flow Steering)åXPS(Transm...…</p> 393 <div class="post-list__meta"> 394 <time datetime="2018-08-29 00:00:00 +0000" class="post-list__meta--date date"> 395 <img src="/images/calendar.png" width="20px" /> 396 2018-08-29</time> 397 <div class = "tag-img-icon"> 398 <img src="/images/tag-icon.svg" width="20px" /> 399 </div> 400 <a href="/tags"> 401 <div class = "post-list-icon-mate"> 402 <span class="post-list__meta--tags-right">linuxç½ç»</span> 403 </div> 404 <div class = "post-list-small-mate"> 405 <a class="btn-border-small" href=/2018/08/NetworkIOConcurrency/>é è¯»å ¨æ » </a> 406 </div> 407 </div> 408 <hr class="post-list__divider" /> 409 </li> 410 411 <li> 412 <h2 class="post-list__post-title post-title"><a href="/2018/08/IptablesCollect/" title="è®¿é® Iptablesæ±æ»">Iptablesæ±æ»</a></h2> 413 <p class="excerpt">åè¨æ¬æä¸»è¦æ¯å¯¹äºç½ä¸æä¹¦ä¸å ³äºiptablesæè§ä¸éçæç« è¿è¡æ±æ»ï¼ä»¥ä¾èªå·±åèãå¦ä¹ ãæå为ç论ç¥è¯ï¼ä»èæ´å¥½çäºè§£Linuxå æ ¸ä¸å¯¹äºnetfilterå®ç°è¿ç¨ãå¨é²ç«å¢å ³éç¶æä¸ï¼ä¸è¦éè¿iptablesæä»¤ï¼æ¯å¦ iptables -nLï¼æ¥æ¥çå½åç¶æï¼å ä¸ºè¿æ ·ä¼å¯¼è´é²ç«å¢è¢«å¯å¨ï¼èä¸è§å为空ãè½ç¶ä¸ä¼æä»»ä½æ¦æªææï¼ä½ææè¿æ¥ç¶æé½ä¼è¢«è®°å½ï¼æµªè´¹èµæºä¸å½±åæ§è½å¹¶å¯è½å¯¼è´é²ç«å¢ä¸»å¨ä¸¢å ï¼è¥æ¯è¦å è½½/etc/sysconfig/iptablesä¸è§åï¼éè¦éå¯é²ç«å¢system...…</p> 414 <div class="post-list__meta"> 415 <time datetime="2018-08-26 00:00:00 +0000" class="post-list__meta--date date"> 416 <img src="/images/calendar.png" width="20px" /> 417 2018-08-26</time> 418 <div class = "tag-img-icon"> 419 <img src="/images/tag-icon.svg" width="20px" /> 420 </div> 421 <a href="/tags"> 422 <div class = "post-list-icon-mate"> 423 <span class="post-list__meta--tags-right">ç½ç»å®å ¨iptables</span> 424 </div> 425 <div class = "post-list-small-mate"> 426 <a class="btn-border-small" href=/2018/08/IptablesCollect/>é è¯»å ¨æ » </a> 427 </div> 428 </div> 429 <hr class="post-list__divider" /> 430 </li> 431 432 <li> 433 <h2 class="post-list__post-title post-title"><a href="/2018/08/CoreJavaVolume1/" title="è®¿é® Javaæ ¸å¿ææ¯å·ä¸">Javaæ ¸å¿ææ¯å·ä¸</a></h2> 434 <p class="excerpt">åè¨æè¿ç®æ æ¯å¦ä¹ 设计模å¼åç®æ³ç¥è¯ï¼èèå°å¥½äºè®¾è®¡ãç®æ³ä¹¦ä»¥åæ¶æç¸å ³ç书ç±ï¼å¤§å¤éè¿java说æçï¼æä»¥æ¥å¦ä¹ ä¸è¿æ¬ä¹¦ã以å对äºjava乿¯æ¯è¾æå ´è¶£çï¼ç±äºæ¶é´é®é¢ï¼ä¸ç´ææµ äºï¼æè¿æå对javaæå ´è¶£ï¼å°±å©ç¨é¶æ£çæ¶é´æ¥å¦ä¹ è¿æ¬ä¹¦ï¼æå°ä»¥è¯»ä¹¦æç¼ä½ä¸ºtags,ææ¶åå°çå 容ï¼ä¸»è¦æä»¥ä¸æ¹é¢ï¼ 为ä»ä¹è¦å¦ä¹ è¿æ¬ä¹¦ï¼å¦ä¹ è¿æ¬ä¹¦è¦è¾¾å°çç®æ åæ¶è·ã æ¯ä¸ªç« èæè®²çå 容ï¼åèªå·±çæç¼åææã å¯¹æ´æ¬ä¹¦è¯»åçææåæ¶è·ã æç¼åºæ´æ¬ä¹¦çç¥è¯ç¹ã为ä»ä¹ï¼ç®æ 对äºå·¥ç¨åçè¯è¨å¦ä¹ æ éå°±æ¯...…</p> 435 <div class="post-list__meta"> 436 <time datetime="2018-08-25 00:00:00 +0000" class="post-list__meta--date date"> 437 <img src="/images/calendar.png" width="20px" /> 438 2018-08-25</time> 439 <div class = "tag-img-icon"> 440 <img src="/images/tag-icon.svg" width="20px" /> 441 </div> 442 <a href="/tags"> 443 <div class = "post-list-icon-mate"> 444 <span class="post-list__meta--tags-right">java读书æç¼</span> 445 </div> 446 <div class = "post-list-small-mate"> 447 <a class="btn-border-small" href=/2018/08/CoreJavaVolume1/>é è¯»å ¨æ » </a> 448 </div> 449 </div> 450 <hr class="post-list__divider" /> 451 </li> 452 453 <li> 454 <h2 class="post-list__post-title post-title"><a href="/2018/08/ShellEOF/" title="è®¿é® Shellå½ä»¤EOF使ç¨">
454Shellå½ä»¤EOF使ç¨</a></h2> 455 <p class="excerpt">使ç¨èæ¯æ§è¡èæ¬çæ¶åï¼éè¦å¾ä¸ä¸ªæä»¶éèªå¨è¾å ¥Nè¡å 容ã妿æ¯å°æ°çå è¡å 容ï¼è¿å¯ä»¥ç¨echoè¿½å æ¹å¼ï¼ä½å¦ææ¯å¾å¤è¡ï¼é£ä¹å纯ç¨echo追å çæ¹å¼æ¾å¾ä¸é£ä¹ä¼é ï¼ è¿ä¸ªæ¶åï¼å°±å¯ä»¥ä½¿ç¨EOFç»åcatå½ä»¤è¿è¡è¡å 容ç追å ãç¥è¯ç¹æ¢³çEOFæ¯END Of Fileç缩å,表示èªå®ä¹ç»æ¢ç¬¦.æ¢ç¶èªå®ä¹,é£ä¹EOF就䏿¯åºå®ç,å¯ä»¥éæè®¾ç½®å«å,å¨linuxæctrl-d就代表EOF.EOFä¸è¬ä¼é åcatè½å¤å¤è¡ææ¬è¾åº.å ¶ç¨æ³å¦ä¸:<<EOF //å¼å§.......…</p> 456 <div class="post-list__meta"> 457 <time datetime="2018-08-15 00:00:00 +0000" class="post-list__meta--date date"> 458 <img src="/images/calendar.png" width="20px" /> 459 2018-08-15</time> 460 <div class = "tag-img-icon"> 461 <img src="/images/tag-icon.svg" width="20px" /> 462 </div> 463 <a href="/tags"> 464 <div class = "post-list-icon-mate"> 465 <span class="post-list__meta--tags-right">shell</span> 466 </div> 467 <div class = "post-list-small-mate"> 468 <a class="btn-border-small" href=/2018/08/ShellEOF/>é è¯»å ¨æ » </a> 469 </div> 470 </div> 471 <hr class="post-list__divider" /> 472 </li> 473 474 <li> 475 <h2 class="post-list__post-title post-title"><a href="/2018/08/InsideTheC++ObjectModel/" title="è®¿é® æ·±åº¦æ¢ç´¢C++对象模å">深度æ¢ç´¢C++对象模å</a></h2> 476 <p class="excerpt">åè¨æè¿ç®æ æ¯å¦ä¹ C++åºå±ç¥è¯ï¼å æ¤æ¾äºä¸æ¬ã深度æ¢ç´¢C++对象模åãæ¥åï¼ä»¥åä¹çè¿ä¸äºä¹¦ï¼ä½ç±äºæ²¡æè¿è¡æ»ç»åæç¼ï¼å¯¼è´åªæä¸ªæµ æ¾çå°è±¡ï¼è没æä¸ªå ¨å±çç»ç¹ãç¥è¯ç¹æ©å±ãåå·²æç¥è¯ç¹ç±»æ¯ã为äºè§£å³èªå·±è¿ä¸ªé®é¢ï¼æ³å°äºä¸ç§è§£å³åæ³ï¼å°ææçè¿ç书è¿è¡ä¸äºè®°å½ï¼æ¹ä¾¿ä»¥åæ¥é ï¼ç¥è¯æ»ç»åå½¢æèªå·±çç论ãå¯¹äºæ¤ç³»åçæç« ï¼æå°ä»¥è¯»ä¹¦æç¼ä½ä¸ºtags,ææ¶åå°çå 容ï¼ä¸»è¦æä»¥ä¸æ¹é¢ï¼ 为ä»ä¹è¦å¦ä¹ è¿æ¬ä¹¦ï¼å¦ä¹ è¿æ¬ä¹¦è¦è¾¾å°çç®æ åæ¶è·ã æ¯ä¸ªç« èæè®²çå 容ï¼åèªå·±çæç¼åææã å¯¹æ´æ¬ä¹¦è¯»...…</p> 477 <div class="post-list__meta"> 478 <time datetime="2018-08-05 00:00:00 +0000" class="post-list__meta--date date"> 479 <img src="/images/calendar.png" width="20px" /> 480 2018-08-05</time> 481 <div class = "tag-img-icon"> 482 <img src="/images/tag-icon.svg" width="20px" /> 483 </div> 484 <a href="/tags"> 485 <div class = "post-list-icon-mate"> 486 <span class="post-list__meta--tags-right">C++读书æç¼</span> 487 </div> 488 <div class = "post-list-small-mate"> 489 <a class="btn-border-small" href=/2018/08/InsideTheC++ObjectModel/>é è¯»å ¨æ » </a> 490 </div> 491 </div> 492 <hr class="post-list__divider" /> 493 </li> 494 495 <li> 496 <h2 class="post-list__post-title post-title"><a href="/2018/05/NetworkNounSummary/" title="è®¿é® ç½ç»åè¯æ±æ»">ç½ç»åè¯æ±æ»</a></h2> 497 <p class="excerpt">AAH : (Authentication Header, éªè¯å¤´)主è¦ç¨äºIPSecä¸å¯¹æ°æ®æ·»å éªè¯å¤´ä½¿ç¨ãACL : ï¼Access Control Listï¼è®¿é®æ§å¶å表ï¼åºäºACLçå è¿æ»¤é²ç«å¢æ¯å°å¶å®åºçä¸ååºåé´è®¿é®æ§å¶çç¥é¨ç½²å¨è·¯ç±å¨ç«¯å£å¤è¿æ»¤è¿åºæ°æ®å ï¼è¾¾å°å¯¹è®¿é®è¿è¡æ§å¶ï¼ç»´æ¤ç½ç»å®å ¨çç®çãCCVE :ï¼Common Vulnerabilities and Exposuresï¼éç¨æ¼æ´ä¸æ«é²ï¼ç¨ä»¥æ¥è¯¢æ¼æ´çåºãDDHCP :ï¼Dynamic Host Configurat...…</p> 498 <div class="post-list__meta"> 499 <time datetime="2018-05-03 00:00:00 +0000" class="post-list__meta--date date"> 500 <img src="/images/calendar.png" width="20px" /> 501 2018-05-03</time> 502 <div class = "tag-img-icon"> 503 <img src="/images/tag-icon.svg" width="20px" /> 504 </div> 505 <a href="/tags"> 506 <div class = "post-list-icon-mate"> 507 <span class="post-list__meta--tags-right">ç¥è¯æ±æ»</span> 508 </div> 509 <div class = "post-list-small-mate"> 510 <a class="btn-border-small" href=/2018/05/NetworkNounSummary/>é è¯»å ¨æ » </a> 511 </div> 512 </div> 513 <hr class="post-list__divider" /> 514 </li> 515 516 <li> 517 <h2 class="post-list__post-title post-title"><a href="/2018/04/WorkNounSummary/" title="è®¿é® å·¥ä½ä¸éå°çåè¯æ»ç»">å·¥ä½ä¸éå°çåè¯æ»ç»</a></h2> 518 <p class="excerpt">PUB/SUB模åPub/Sub模åå®ä¹äºå¦ä½åä¸ä¸ªå 容èç¹åå¸åè®¢é æ¶æ¯ï¼è¿äºèç¹è¢«ç§°ä¸ºä¸»é¢ï¼topicï¼ã主é¢å¯ä»¥è¢«ç§°ä¸ºæ¯æ¶æ¯çä¼ è¾ä¸ä»ï¼åå¸è ï¼publisherï¼å叿¶æ¯å°ä¸»é¢ï¼è®¢é è¿ï¼subscriberï¼ä»ä¸»é¢è®¢é æ¶æ¯ã䏻颿¯çæ¶æ¯è®¢é è åæ¶æ¯åå¸è ä¿æç¸äºç¬ç«ï¼ä¸éè¦æ¥è§¦å³å¯ä¿è¯æ¶æ¯çä¼ éã主è¦ä½¿ç¨åºæ¯ï¼ææå¡ç§ç±»çå¾®æå¡ä¸ï¼è·¨æ¿åé´éè¦äº¤äºãæ¤æ¶éè¦ä¸ä¸ªç±»ä¼¼äºPub/Sub çé«å¯ç¨çå¹¶å¯ä»¥æä¹ åçæ¶æ¯è®¢é éç¥çä¸é´ä»¶æ¥æéå个çåçæ°æ®åä¿¡æ¯äº¤æ¢ãTwitter-Snow...…</p> 519 <div class="post-list__meta"> 520 <time datetime="2018-04-17 00:00:00 +0000" class="post-list__meta--date date"> 521 <img src="/images/calendar.png" width="20px" /> 522 2018-04-17</time> 523 <div class = "tag-img-icon"> 524 <img src="/images/tag-icon.svg" width="20px" /> 525 </div> 526 <a href="/tags"> 527 <div class = "post-list-icon-mate">
528 <span class="post-list__meta--tags-right">ç¥è¯æ±æ»</span> 529 </div> 530 <div class = "post-list-small-mate"> 531 <a class="btn-border-small" href=/2018/04/WorkNounSummary/>é è¯»å ¨æ » </a> 532 </div> 533 </div> 534 <hr class="post-list__divider" /> 535 </li> 536 537 <li> 538 <h2 class="post-list__post-title post-title"><a href="/2018/03/GoForceTrait/" title="è®¿é® goä¸å¼ºå¶ç±»å转æ¢çç¹ç¹">goä¸å¼ºå¶ç±»å转æ¢çç¹ç¹</a></h2> 539 <p class="excerpt">é®é¢æåºå¯¹äºstringç±»åå 鍿¯éè¿[]byteåçè¿è¡åå¨çï¼èæ¬èº«stringç±»åæ¯éæç±»åï¼è¥éè¿ä¸æ è¿è¡ä¿®æ¹ï¼å°ä¼æ¥éï¼å¦ä½è¿è¡ä¸æ ä¿®æ¹å¢ï¼è¥æ¯å°stringç±»å强å¶è½¬æ¢ä¸º[]byteåçï¼ç¨è½¬æ¢ç±»åè¿è¡æ·è´èµå¼ï¼è¿æ¶ä¼åçæ£çåç䏿 ·è¿è¡å¼ç¨æ·è´ï¼è¿æ¯åstringç±»å䏿 ·è¿è¡å 容æ·è´å¢ï¼è¿è¡éªè¯å¯¹äºç¬¬ä¸ä¸ªé®é¢å¯ä»¥å°stringç±»å强å¶ä¸º[]byteåçååè¿è¡ä¸æ ä¿®æ¹ï¼å¯¹äºç¬¬äºä¸ªé®é¢çæµæ¯è¿è¡å 容æ·è´ï¼å¼ºå¶ä¸è½æ¹åæ¬èº«ç±»åç屿§ãç´æ¥ä¸ä»£ç ï¼package mainimpor...…</p> 540 <div class="post-list__meta"> 541 <time datetime="2018-03-24 00:00:00 +0000" class="post-list__meta--date date"> 542 <img src="/images/calendar.png" width="20px" /> 543 2018-03-24</time> 544 <div class = "tag-img-icon"> 545 <img src="/images/tag-icon.svg" width="20px" /> 546 </div> 547 <a href="/tags"> 548 <div class = "post-list-icon-mate"> 549 <span class="post-list__meta--tags-right">Go</span> 550 </div> 551 <div class = "post-list-small-mate"> 552 <a class="btn-border-small" href=/2018/03/GoForceTrait/>é è¯»å ¨æ » </a> 553 </div> 554 </div> 555 <hr class="post-list__divider" /> 556 </li> 557 558 <li> 559 <h2 class="post-list__post-title post-title"><a href="/2018/03/DockerCommand/" title="è®¿é® Dockerå½ä»¤å°ç»">Dockerå½ä»¤å°ç»</a></h2> 560 <p class="excerpt">åºæ¬å½ä»¤docker run docker run 容卿 è¯ : è¿è¡å®¹å¨ï¼è¯¥å½ä»¤å®é 䏿¯ docker
560create å docker start çç»åã docker run 容卿 è¯ å½ä»¤ ï¼ å®¹å¨å¯å¨æ¶æ§è¡ç¸åºçå½ä»¤ã-d docker run -d 容卿 è¯ : 以åå°å®æ¤è¿ç¨å½¢å¼è¿è¡å®¹å¨ã-it docker run -it 容卿 è¯ : ä»¥äº¤äºæ¨¡å¼è¿å ¥å®¹å¨ï¼å¹¶æå¼ç»ç«¯ã--name docker run 容卿 è¯ âname âmy_testâï¼ å¨å¯å¨å®¹å¨æ¶å¯ä»¥...…</p> 561 <div class="post-list__meta"> 562 <time datetime="2018-03-15 00:00:00 +0000" class="post-list__meta--date date"> 563 <img src="/images/calendar.png" width="20px" /> 564 2018-03-15</time> 565 <div class = "tag-img-icon"> 566 <img src="/images/tag-icon.svg" width="20px" /> 567 </div> 568 <a href="/tags"> 569 <div class = "post-list-icon-mate"> 570 <span class="post-list__meta--tags-right">Docker</span> 571 </div> 572 <div class = "post-list-small-mate"> 573 <a class="btn-border-small" href=/2018/03/DockerCommand/>é è¯»å ¨æ » </a> 574 </div> 575 </div> 576 <hr class="post-list__divider" /> 577 </li> 578 579 <li> 580 <h2 class="post-list__post-title post-title"><a href="/2018/03/UbuntuDockerInstallVim/" title="è®¿é® Ubuntuéå容å¨å®è£ vim">Ubuntuéå容å¨å®è£ vim</a></h2> 581 <p class="excerpt">è¿è¡Ubuntuéå容å¨ä½¿ç¨sudo docker run -it ubuntuè¿è¡Ubuntu容å¨ï¼-it åæ°çä½ç¨æ¯ä»¥äº¤äºæ¨¡å¼è¿å ¥å®¹å¨ï¼å¹¶æå¼ç»ç«¯ã34a11bd82bc9 æ¯å®¹å¨çå é¨ IDã å®è£ vim确认没æå®è£ vimã æä»¤å®è£ vimã æç¤ºï¼Reading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to loca...…</p> 582 <div class="post-list__meta"> 583 <time datetime="2018-03-06 00:00:00 +0000" class="post-list__meta--date date"> 584 <img src="/images/calendar.png" width="20px" /> 585 2018-03-06</time> 586 <div class = "tag-img-icon"> 587 <img src="/images/tag-icon.svg" width="20px" /> 588 </div> 589 <a href="/tags"> 590 <div class = "post-list-icon-mate"> 591 <span class="post-list__meta--tags-right">Docker</span> 592 </div> 593 <div class = "post-list-small-mate"> 594 <a class="btn-border-small" href=/2018/03/UbuntuDockerInstallVim/>é è¯»å ¨æ » </a> 595 </div> 596 </div> 597 <hr class="post-list__divider" /> 598 </li> 599 600 </ol> 601 602 <hr class="post-list__divider " /> 603 604<nav class="pagination" role="navigation"> 605 606 <!-- ç¾åº¦æç´¢ --> 607
607<script type="text/javascript">(function(){document.write(unescape('%3Cdiv id="bdcs"%3E%3C/div%3E'));var bdcs = document.createElement('script');bdcs.type = 'text/javascript';bdcs.async = true;bdcs.src = 'http://znsv.baidu.com/customer_search/api/js?sid=12441349038163667913' + '&plate_url=' + encodeURIComponent(window.location.href) + '&t=' + Math.ceil(new Date()/3600000);var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(bdcs, s);})(); 608 </script>
608 609 610 611 <span class="pagination__page-number">1 / 2</span> 612 613 <a class="older-posts pagination__older btn btn-small btn-tertiary" href="/page/2/#blog">æ´æ© →</a> 614 615</nav> 616 617 618</div> 619 620 <section class="footer"> 621 <footer> 622 <div class = "footer_div"> 623 <nav class="cover-navigation navigation--social"> 624 <ul class="navigation"> 625 626 627 628 629 <!-- Github --> 630 <li class="navigation__item_social"> 631 <a href="https://github.com/clodfisher" title="@clodfisher ç Github" target="_blank"> 632 <i class='social fa fa-github fa-2x'></i> 633 <span class="label">Github</span> 634 </a> 635 </li> 636 637 638 639 640 641 642 <!-- RSS --> 643 <li class="navigation__item_social"> 644 <a href="/feed.xml" rel="author" title="RSS" target="_blank"> 645 <i class='social fa fa-rss fa-2x'></i> 646 <span class="label">RSS</span> 647 </a> 648 </li> 649 650 651 <!-- Email --> 652 <li class="navigation__item_social"> 653 <a href="mailto:[email protected]" title="Contact me"> 654 <i class='social fa fa-envelope fa-2x'></i> 655 <span class="label">Email</span> 656 </a> 657 </li> 658 659 660 </ul> 661 </nav> 662 663 </div> 664 665 <div class = "footer_div"> 666 <p class="copyright text-muted"> 667 Copyright © Hunter Yuan 2020 Theme by <a href="https://clodfisher.github.io/">clodfisher</a> | 668 <iframe 669 style="margin-left: 2px; margin-bottom:-5px;" 670 frameborder="0" scrolling="0" width="91px" height="20px" 671 src="https://ghbtns.com/github-btn.html?user=clodfisher&repo=clodfisher.github.io&type=star&count=true" > 672 </iframe> 673 </p> 674 <div align="right"> 675 <link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.3.0/css/font-awesome.min.css"> 676 677 <!-- 访é®ç»è®¡ --> 678 <span id="busuanzi_container_site_pv"> 679 æ¬ç«æ»è®¿é®é 680 <span id="busuanzi_value_site_pv"></span>次 681 </span> 682 683 </div> 684 <div> 685 </footer> 686</section> 687 688 </div> 689 </div> 690 691
691<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.min.js"></script>
vendor: 1 bytes, line 691
691
692<script type="text/javascript" src="/js/main.js"></script>
692 693
694<script type="text/javascript" src="/js/highlight.pack.js"></script>
vendor: 1 bytes, line 694
694
695<script>hljs.initHighlightingOnLoad();</script>
695 696 697 698 699 700 </body> 701 702</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.