-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathindex.html
More file actions
247 lines (245 loc) · 55.7 KB
/
Copy pathindex.html
File metadata and controls
247 lines (245 loc) · 55.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<!doctype html><html lang=zh-cn class=no-js><title>linux udev</title><meta charset=utf-8><meta name=robots content=index,nofollow><meta http-equiv=x-ua-compatible content="IE=edge,chrome=1"><meta http-equiv=x-dns-prefetch-control content=on><meta name=viewport content="width=device-width,initial-scale=1"><meta name=referrer content=origin-when-cross-origin><meta name=description content="https://www.cnblogs.com/fah936861121/p/6496608.html udevadm info -a -p $(udevadm info -q path -n /dev/sg2) Ubuntu之udev用法总结 一、udev简介 u即user space,dev是device,通过它的名字,我们就可以简"><meta name=author content=rinetd><meta name=google-site-verification content=ifeWsnNpU7w8vP3ii_Cjq-P9LKw3ngVitnMWv4XmJqk><link rel=canonical href=../../linux/linux-udev/><link rel=icon href=../../public/favicon.ico><link rel="shortcut icon" href=../../public/favicon.ico><link rel=stylesheet href=../../front/css/main.min.css><link href=https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css rel=stylesheet><link rel=stylesheet href=//cdn.bootcss.com/video.js/6.2.8/alt/video-js-cdn.min.css><body class="single single-post single-format-standard col-3cm full-width topbar-enabled chrome"><div id=wrapper><header id=header class="top-menu-mobile-on one-mobile-menu top_menu header-ads-desktop topbar-transparent"><nav class="nav-container group mobile-menu mobile-sticky" id=nav-mobile data-menu-id=header-1><div class=mobile-title-logo-in-header><p class=site-title><a class=custom-logo-link href rel=home title="Pytool | Home">Pytool</a></div><div class="ham__navbar-toggler-two collapsed" title=Menu aria-expanded=false><div class=ham__navbar-span-wrapper><span class="line line-1"></span><span class="line line-2"></span><span class="line line-3"></span></div></div><div class=nav-text>linux udev</div><div class="nav-wrap container"><ul class="nav container-inner group mobile-search"><li><form class="searchform themeform" action=https://demo-hueman.presscustomizr.com/><div><input class=search name=s onblur="if(this.value=='')this.value='To search type and hit enter';" onfocus="if(this.value=='To search type and hit enter')this.value='';" value="To search type and hit enter"></div></form></ul><ul id=menu-topbar-menu class="nav container-inner group"><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home"><a href>Home</a><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../wechat/>Wechat</a><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../hardware/>Hardware</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/kernel/>Kernel</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/hisilicon/>Hisilicon</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/rtmp/>Rtmp</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/rk3399/>Rk3399</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/dts/>Dts</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/rk3288/>Rk3288</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/%E8%BD%A6%E8%81%94%E7%BD%91/>车联网</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hardware/android-%E5%BA%95%E5%B1%82/>Android-底层</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../language/>Language</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/clang/>Clang</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/golang/>Golang</a><ul class=sub-menu><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/golang/cgo/>Cgo</a><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/golang/hugo/>Hugo</a><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/golang/sys/>Sys</a><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/golang/goher/>Goher</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/cpp/>Cpp</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/python/>Python</a><ul class=sub-menu><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/python/scrapy/>Scrapy</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/java/>Java</a><ul class=sub-menu><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/java/hadoop/>Hadoop</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/awesome/>Awesome</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/php/>Php</a><ul class=sub-menu><li class="menu-item menu-item-type-custom menu-item-object-custom"><a href=../../language/php/magento/>Magento</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../language/android/>Android</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../linux/>Linux</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/shell/>Shell</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/cmd/>Cmd</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/nginx/>Nginx</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/ip/>Ip</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/git/>Git</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/haproxy/>Haproxy</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../linux/lvs/>Lvs</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../macos/>Macos</a><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../ai/>Ai</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/yolo/>Yolo</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/caffe/>Caffe</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/math/>Math</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/ncnn/>Ncnn</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/dataset/>Dataset</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../ai/pytorch/>Pytorch</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../frontend/>Frontend</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../frontend/css/>Css</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../frontend/vue/>Vue</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../devops/>Devops</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/docker/>Docker</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/elk/>Elk</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/ansible/>Ansible</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/prometheus/>Prometheus</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/drone/>Drone</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/kubernetes/>Kubernetes</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/oauth2/>OAuth2</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/etcd/>Etcd</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/apidoc/>Apidoc</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../devops/%E7%B3%BB%E7%BB%9F%E7%9B%91%E6%8E%A7/>系统监控</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../database/>Database</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../database/mysql/>Mysql</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../database/mongo/>Mongo</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../database/redis/>Redis</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../windows/>Windows</a><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../hacker/>Hacker</a><ul class=sub-menu><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hacker/01_%E7%AB%AF%E5%8F%A3%E6%89%AB%E6%8F%8F/>01_端口扫描</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hacker/00_%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E9%9A%A7%E9%81%93/>00_端口转发(隧道)</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hacker/01-info-gather/>01-Info-Gather</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hacker/02-spoof/>02-Spoof</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../hacker/shells/>Shells</a></ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../work/>Work</a><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href=../../edit/>Edit</a><li class=item><a class=text href=../../series/>series</a><li class=item><a class=text href=../../categories/>categories</a><li class=item><a class=text href=../../tags/>tags</a><li class=item><a class=text href=../../me/>about</a></ul></div></nav><nav class="nav-container group desktop-menu desktop-sticky" id=nav-topbar data-menu-id=header-2><div class=nav-text>linux udev</div><div class=topbar-toggle-down><i class="fas fa-angle-double-down" aria-hidden=true data-toggle=down title="Expand menu"></i><i class="fas fa-angle-double-up" aria-hidden=true data-toggle=up title="Collapse menu"></i></div><div class="nav-wrap container"><ul id=menu-topbar-menu-1 class="nav container-inner group"><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home"><a href=../../>Home</a><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../wechat/>Wechat</a><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../hardware/>Hardware</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/kernel/>Kernel</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/hisilicon/>Hisilicon</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/rtmp/>Rtmp</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/rk3399/>Rk3399</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/dts/>Dts</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/rk3288/>Rk3288</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/%E8%BD%A6%E8%81%94%E7%BD%91/>车联网</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hardware/android-%E5%BA%95%E5%B1%82/>Android-底层</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../language/>Language</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/clang/>Clang</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/golang/>Golang</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/cpp/>Cpp</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/python/>Python</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/java/>Java</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/awesome/>Awesome</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/php/>Php</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../language/android/>Android</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../linux/>Linux</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/shell/>Shell</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/cmd/>Cmd</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/nginx/>Nginx</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/ip/>Ip</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/git/>Git</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/haproxy/>Haproxy</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../linux/lvs/>Lvs</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../macos/>Macos</a><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../post/>Post</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/english/>English</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/seo/>Seo</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/life/>Life</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/wiki/>Wiki</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/software/>Software</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/basic/>Basic</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../post/reship/>Reship</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../ai/>Ai</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/yolo/>Yolo</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/caffe/>Caffe</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/math/>Math</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/ncnn/>Ncnn</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/dataset/>Dataset</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../ai/pytorch/>Pytorch</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../frontend/>Frontend</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../frontend/css/>Css</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../frontend/vue/>Vue</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../devops/>Devops</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/docker/>Docker</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/elk/>Elk</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/ansible/>Ansible</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/prometheus/>Prometheus</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/drone/>Drone</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/kubernetes/>Kubernetes</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/oauth2/>OAuth2</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/etcd/>Etcd</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/apidoc/>Apidoc</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../devops/%E7%B3%BB%E7%BB%9F%E7%9B%91%E6%8E%A7/>系统监控</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../database/>Database</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../database/mysql/>Mysql</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../database/mongo/>Mongo</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../database/redis/>Redis</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../windows/>Windows</a><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../hacker/>Hacker</a><ul class=sub-menu><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hacker/01_%E7%AB%AF%E5%8F%A3%E6%89%AB%E6%8F%8F/>01_端口扫描</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hacker/00_%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E9%9A%A7%E9%81%93/>00_端口转发(隧道)</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hacker/01-info-gather/>01-Info-Gather</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hacker/02-spoof/>02-Spoof</a><li class="menu-item menu-item-type-taxonomy menu-item-object-post_tag"><a href=../../hacker/shells/>Shells</a></ul><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../work/>Work</a><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href=../../edit/>Edit</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../series/>series</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../categories/>categories</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../tags/>tags</a><li class="menu-item menu-item-type-post_type menu-item-object-page"><a href=../../me/>about</a></ul></div></nav></header><div class=container id=page><div class=container-inner><div class=main><div class="main-inner group"><div class=content><div class="pad group page-title"><ul class="meta-single group"><li><span class="fa fa-folder-open"></span><li class=category><a href=../../categories/linux/ rel="category tag">linux</a></ul></div><div class="pad group"><article class="post type-post status-publish format-standard has-post-thumbnail hentry category-lifestyle tag-classical-grid tag-masonry-grid tag-standard-list"><div class="post-inner group"><h1 class=post-title>linux udev</h1><p class=post-byline>by · 2019年08月07日 · 2687 Words ·
~6min reading time |
<a href=https://gitlab.com/rinetd/blog/edit/master/linux/linux-udev.md target=_blank>Improve on <i class="fa fa-gitlab"></i></a><div class=clear></div><div class="entry themeform"><div class=entry-inner></br>原文链接:<a target=_blank href=../../linux/linux-udev/> linux udev</a><p><a href=https://www.cnblogs.com/fah936861121/p/6496608.html target=_blank>https://www.cnblogs.com/fah936861121/p/6496608.html</a><p><code>udevadm info -a -p $(udevadm info -q path -n /dev/sg2)</code><p>Ubuntu之udev用法总结<br>一、udev简介<br>u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制。udev是一个针对2.6内核的文件系统。提供一种基于用户空间的动态设备节点管理和命名的解决方案。用于取代落后的devfs<p>udev与硬件平台无关,属于用户空间的进程,是一个后台程序,它脱离驱动层的关联,而建立在操作系统之上,只要修改配置文件使之生效,无需重启操 作系统,它需要sysfs的支持,当底层设备发生插拔的时候,底层驱动通过netlink发送事件(uevent)给udev后台程序,udev监听这些 事件,并在上层做相应的设备节点的创建,命名,权限控制等。<p>它有以下优点:<p>1.动态管理:当设备添加/删除时,udev的守护进程侦听到来自内核的uevent,以此添加或者删除/dev下的设备文件,所以,udev只为 已经连接的设备产生设备文件,而不会在/dev/下产生大量虚无的设备文件.在发生热插拔时,设备的变化的相关信息会输出到内核的/sys(sysfs文 件系统),udev利用sysfs的信息来进行相应的设备节点的管理<p>2.自定义命名规则:通过规则文件,udev在/dev/下为所有的设备定义了内核设备名称,比如/dev/sda,/dev/hda,/dev /fd(这些都是驱动层定义的设备名)等等。由于udev是在用户空间运行,Linux用户可以自己定义规则文件,产生标识性强的设备文件,比如/dev /boot_disk,/dev/root_disk,/dev/color_printer等等<p>3.设定设备的权限和所有者/组。同样在规则文件中,可以自己定义设备相关的权限和所有者/组。<br>(详细说明可以通过man udev查看)<br>2.2.4 udev 的值和可调用的替换操作符<p>在键值对中的键和操作符都介绍完了,最后是值 (value)。Linux 用户可以随意地定制 udev 规则文件的值。例如:my_root_disk, my_printer。同时也可以引用下面的替换操作符:<p>$kernel, %k:设备的内核设备名称,例如:sda、cdrom。<br>$number, %n:设备的内核号码,例如:sda3 的内核号码是 3。<br>$devpath, %p:设备的 devpath路径<br>$id, %b:设备在 devpath里的 ID 号。<br>$sysfs{file}, %s{file}:设备的 sysfs里 file 的内容。其实就是设备的属性值。<br>例如:$sysfs{size} 表示该设备 ( 磁盘 ) 的大小。<br>$env{key}, %E{key}:一个环境变量的值。<br>$major, %M:设备的 major 号。<br>$minor %m:设备的 minor 号<br>$result, %c:PROGRAM 返回的结果。<br>$parent, %P:父设备的设备文件名。<br>$root, %r:udev_root的值,默认是 /dev/<br>$tempnode, %N:临时设备名。<br>%%:符号 % 本身。<br>$$:符号 $ 本身。<p>###<br>/etc/udev/rules.d/<pre><code class=language-sh>SUBSYSTEMS=="scsi",ATTR{vendor}=="Generic",ATTR{max_sectors}=="240",ATTR{max_sectors}="2048"
KERNEL=="sd[a-z]*", SUBSYSTEMS=="usb", ATTRS{idProduct}=="0769",ATTRS{idVendor}=="05e3",RUN+="/bin/rm -fr /dev/%k"
KERNEL=="sg[0-9]", SUBSYSTEMS=="usb", ATTRS{idProduct}=="0769", ATTRS{idVendor}=="05e3", MODE="0666", OPTIONS+="last_rule"
</code></pre><p>OPTIONS选项<br>另外一个有用的赋值是OPTIONS列表. 不多的可用的选项有:<br>all_partitions - 为一个块设备创建所有可能的分区, 而不是初始检测到的那些分区.<br>ignore_device - 完全忽略事件.<br>last_rule - 确保后面的所有规则不会有效.<br>例如, 下面规则设置我的硬盘节点的组所有权,并且后面的规则对它没有任何效果:<br>KERNEL=="sda", GROUP="disk", OPTIONS+="last_rule"<h3 id=1-利用udev自动挂载usb设备>1.利用udev自动挂载usb设备</h3><pre><code class=language-sh>KERNEL!="sd[b-z]?", GOTO="automount_exit"
# 检测add事件
ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/mkdir /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/mount -o uid=1000,user,codepage=936,utf8 $root/%k /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
ACTION=="remove", SUBSYSTEM=="block", RUN+="/bin/umount /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}", RUN+="/bin/rmdir /media/%E{ID_FS_LABEL}-%E{ID_FS_UUID}"
LABEL="automount_exit"
</code></pre><p>保存为 /etc/udev/rules.d/ 下的某个文件。<p>第一行用 glob 跳过名称非 sd[b-z]? 字样的。<p>%E{ID_FS_LABEL} 是卷标,%E{ID_FS_UUID} 是 UUID,<br>第二行就是检测 add 事件,先根据卷标和 UUID 在 /media/下创建一个目录然后挂载。<p>第三行是相应的卸载命令。<h3 id=二-udev使用例子-解决多个设备插拔造成设备号变化的问题>二、udev使用例子,解决多个设备插拔造成设备号变化的问题</h3><p>Ubuntu连接多个设备,或这重复插拔设备的时候,识别出的设备号会变化。例如反复插U盘,识别出的设备号可能是/dev/sdb,/dev/sdc,/dev/sdd…(硬盘始终是/dev/sda)<br>网上之前的博客中可以利用udev直接修改U盘等设备的设备号,尝试了一下会出错,百度发现是udev后续版本去掉了这个功能。<br>目前思路是建立设备的链接,固定链接的名称,后续可以通过固定的链接(link)来操作设备。步骤如下:<p>1.先插入U盘,通过sudo fdisk -l 观察到的U盘信息如下:<pre><code>Device Boot Start End Sectors Size Id Type
/dev/sdd1 256 56062207 56061952 26.8G c W95 FAT32 (LBA)
/dev/sdd4 * 56062208 60062499 4000292 1.9G 16 Hidden FAT16
</code></pre><p>(这里看到U盘的Boot分区分配了1.9G,不科学啊)<p>2.编写Udev配置文件<br>udev的配置文件在/etc/udev下面<p>/etc/udev/rules.d/$ ls<br>hwdb.d rules.d udev.conf<p>其中udev.conf是udev默认的配置文件。<br>用户自定义的配置文件在rules.d文件下。<br>在rules.d目录下新建10-usb.rules。其中内容如下:<p>ACTIONS=="add",KERNEL=="sdd1",SUBSYSTEMS=="block",SYMLINK+="USB1_link"<p>简单介绍一下上面的语法:<br>Udev中,双等号为判断,+=,:=,=均为“赋值操作”。<br>以上有三个判断条件:<br>ACTIONS==“add”——插入设备<br>KERNEL==“sdd4”——设备号为/dev/sdd4<br>SUBSYSTEMS==“block”——设备类型为“块设备”<br>如果满足上述三个条件,则将创建此设备的软链接USB1_link.<p>3.Kernel和subsystems查询方法<br>其中kernel和subsystems信息,可以通过udevadm命令查询<br>例如,如下命令查询sdd的U盘信息<p><code>udevadm info -a -p /sys/block/sdd</code><p>其中sdd的信息如下(可以查询到sdd的Kernel和SUBSYSTEM信息):<p>looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host6/target6:0:0/6:0:0:0/block/sdd':<pre><code>KERNEL=="sdd"
SUBSYSTEM=="block"
DRIVER==""
...
</code></pre><p>我们需要知道的是sdd1(U盘中的具体盘符的信息),需要通过如下方法获取。<br>下列命令获取sdd1设备的设备目录<p><code>udevadm info -q path -n /dev/sdd1</code><p>输出如下:<p>/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host6/target6:0:0/6:0:0:0/block/sdd/sdd1<p>将上面的一串作为早先udevadm info -a -p命令的输入路径,即这样写:<p><code>udevadm info -a -p $(udevadm info -q path -n /dev/sdd1)</code><p>输出最开头的结果路下:<p>looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/host6/target6:0:0/6:0:0:0/block/sdd/sdd1':<pre><code>KERNEL=="sdd1"
SUBSYSTEM=="block"
DRIVER==""
...
</code></pre><p>4.使得udev文件生效的方法<br>通常,使得配置后的文件生效,需要采用热插拔的方法更新udev规则,不过有更简单的方法如下:<p><code>sudo udevadm test /sys/class/block/sdd1</code><br>1<br>结果如图<p>/etc/udev/rules.d$ ls -al /dev/USB1*<br>lrwxrwxrwx 1 root root 4 12月 14 09:51 /dev/USB1_link -> sdd1<p>5.其他注意事项<br>1.如果在10-usb.rules中加入语句NAME+=“string”,则执行更新命令的时候,会有如下error:<p>NAME="lzy_USB3" ignored, kernel device nodes can not be renamed; please fix it in /etc/udev/rules.d/10-local.rules:1<p>经查是udev后续版本不再支持直接修改设备号。<p>2.本例子中udev的设备是通过设备号sdd1来识别的,其实该设备号每次插拔的时候都有变化,可以设置其他参数匹配对应的硬件,来保证对应设备接入之后,生成对应的硬件。<p>参考博客<br>[1] <a href=https://blog.csdn.net/fjb2080/article/details/4876314 target=_blank>https://blog.csdn.net/fjb2080/article/details/4876314</a><br>[2] <a href=http://www.cnblogs.com/cslunatic/p/3171837.html target=_blank>http://www.cnblogs.com/cslunatic/p/3171837.html</a><h2 id=3-https-blog-csdn-net-qq-29729577-article-details-50825134>[3]<a href=https://blog.csdn.net/qq_29729577/article/details/50825134 target=_blank>https://blog.csdn.net/qq_29729577/article/details/50825134</a></h2><p>版权声明:本文为CSDN博主「lzylzy112233」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。<br>原文链接:<a href=https://blog.csdn.net/lzylzy112233/article/details/84997466 target=_blank>https://blog.csdn.net/lzylzy112233/article/details/84997466</a></div><div class=clear></div></div></div></article><div class=clear></div><p class=post-tags><span class="fa fa-tags">Tags:</span>
<a rel=tag href=../../tags/linux>linux</a><div id=related-posts><div class=related-inner></div></div><section id=comments class=themeform></section><section id=comments class=themeform></section></div></div><div class="sidebar s1 collapsed" data-position=left data-layout=col-3cm data-sb-id=s1><a class=sidebar-toggle title="Expand Sidebar"><i class="fas icon-sidebar-toggle"></i></a><div class=sidebar-content><div class="sidebar-top group"><p>Follow:<ul class=social-links><li><a class=social-tooltip href=mailto: title=Email><i class="fa fa-envelope"></i></a><li><a class=social-tooltip href=//github.com/ title=GitHub><i class="fa fa-github"></i></a><li><a class=social-tooltip title="RSS Feed" aria-label="RSS Feed" href=../../feed target=_blank style=color:#ffffffb2><i class="fa fa-rss"></i></a></ul></div><ul class="post-nav group"><li class=previous><a href=../../hardware/rk3399/rk3399/ rel=prev><i class="fa fa-chevron-left"></i><strong>Previous Post</strong>
<span>rk3399</span></a></ul><div id=categories-2 class="widget widget_categories"><h3>分类</h3><ul><li class="cat-item cat-item-1"><a href=../../categories/ai/>Ai</a>
<small>(7)</small><li class="cat-item cat-item-1"><a href=../../categories/algorithm/>Algorithm</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/android/>Android</a>
<small>(17)</small><li class="cat-item cat-item-1"><a href=../../categories/ansible/>Ansible</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/beats/>Beats</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/busybox/>Busybox</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/caffe/>Caffe</a>
<small>(21)</small><li class="cat-item cat-item-1"><a href=../../categories/cgo/>Cgo</a>
<small>(10)</small><li class="cat-item cat-item-1"><a href=../../categories/clang/>Clang</a>
<small>(42)</small><li class="cat-item cat-item-1"><a href=../../categories/cmd/>Cmd</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/cpp/>Cpp</a>
<small>(7)</small><li class="cat-item cat-item-1"><a href=../../categories/cross_compile/>Cross_compile</a>
<small>(9)</small><li class="cat-item cat-item-1"><a href=../../categories/css/>Css</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/dart/>Dart</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/database/>Database</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/dataset/>Dataset</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/deeplearning/>Deeplearning</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/devops/>Devops</a>
<small>(70)</small><li class="cat-item cat-item-1"><a href=../../categories/docker/>Docker</a>
<small>(18)</small><li class="cat-item cat-item-1"><a href=../../categories/dts/>Dts</a>
<small>(5)</small><li class="cat-item cat-item-1"><a href=../../categories/elasticsearch/>Elasticsearch</a>
<small>(9)</small><li class="cat-item cat-item-1"><a href=../../categories/english/>English</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/freertos/>Freertos</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/front-end/>Front-End</a>
<small>(20)</small><li class="cat-item cat-item-1"><a href=../../categories/golang/>Golang</a>
<small>(136)</small><li class="cat-item cat-item-1"><a href=../../categories/hacker/>Hacker</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/hardware/>Hardware</a>
<small>(22)</small><li class="cat-item cat-item-1"><a href=../../categories/hi3519a/>Hi3519a</a>
<small>(4)</small><li class="cat-item cat-item-1"><a href=../../categories/hi3559/>Hi3559</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/hisi/>Hisi</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/hisilicon/>Hisilicon</a>
<small>(57)</small><li class="cat-item cat-item-1"><a href=../../categories/jetson/>Jetson</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/js/>Js</a>
<small>(9)</small><li class="cat-item cat-item-1"><a href=../../categories/jumpserver/>Jumpserver</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/kernel/>Kernel</a>
<small>(16)</small><li class="cat-item cat-item-1"><a href=../../categories/libev/>Libev</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/linux/>Linux</a>
<small>(94)</small><li class="cat-item cat-item-1"><a href=../../categories/linux-system/>Linux-System</a>
<small>(8)</small><li class="cat-item cat-item-1"><a href=../../categories/linux-%E5%91%BD%E4%BB%A4/>Linux-命令</a>
<small>(120)</small><li class="cat-item cat-item-1"><a href=../../categories/mac/>Mac</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/machinelearn/>Machinelearn</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/machinelearning/>Machinelearning</a>
<small>(11)</small><li class="cat-item cat-item-1"><a href=../../categories/macos/>Macos</a>
<small>(12)</small><li class="cat-item cat-item-1"><a href=../../categories/math/>Math</a>
<small>(7)</small><li class="cat-item cat-item-1"><a href=../../categories/matplotlib/>Matplotlib</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/mpp/>Mpp</a>
<small>(12)</small><li class="cat-item cat-item-1"><a href=../../categories/mysql/>Mysql</a>
<small>(10)</small><li class="cat-item cat-item-1"><a href=../../categories/ncnn/>Ncnn</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/network/>Network</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/nginx/>Nginx</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/nnie/>Nnie</a>
<small>(6)</small><li class="cat-item cat-item-1"><a href=../../categories/node/>Node</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/numpy/>Numpy</a>
<small>(4)</small><li class="cat-item cat-item-1"><a href=../../categories/opencpu/>Opencpu</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/opencv/>Opencv</a>
<small>(10)</small><li class="cat-item cat-item-1"><a href=../../categories/pandas/>Pandas</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/platform/>Platform</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/post/>Post</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/pyqt/>Pyqt</a>
<small>(8)</small><li class="cat-item cat-item-1"><a href=../../categories/python/>Python</a>
<small>(31)</small><li class="cat-item cat-item-1"><a href=../../categories/pytorch/>Pytorch</a>
<small>(6)</small><li class="cat-item cat-item-1"><a href=../../categories/raspi/>Raspi</a>
<small>(4)</small><li class="cat-item cat-item-1"><a href=../../categories/rk3288/>Rk3288</a>
<small>(23)</small><li class="cat-item cat-item-1"><a href=../../categories/rk3399/>Rk3399</a>
<small>(9)</small><li class="cat-item cat-item-1"><a href=../../categories/rtmp/>Rtmp</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/scikit/>Scikit</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/shell/>Shell</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/socket/>Socket</a>
<small>(5)</small><li class="cat-item cat-item-1"><a href=../../categories/stm32/>Stm32</a>
<small>(6)</small><li class="cat-item cat-item-1"><a href=../../categories/stm8/>Stm8</a>
<small>(9)</small><li class="cat-item cat-item-1"><a href=../../categories/wechat/>Wechat</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/weixin/>Weixin</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/windows/>Windows</a>
<small>(22)</small><li class="cat-item cat-item-1"><a href=../../categories/work/>Work</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/yolo/>Yolo</a>
<small>(16)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF/>前端技术</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%8D%8F%E8%AE%AE/>协议</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/>嵌入式</a>
<small>(23)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%B7%A5%E5%85%B7/>工具</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%B8%B8%E7%94%A8%E7%AE%97%E6%B3%95/>常用算法</a>
<small>(2)</small><li class="cat-item cat-item-1"><a href=../../categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/>微服务</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88/>排列组合</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/%E6%95%B0%E6%8D%AE%E5%BA%93/>数据库</a>
<small>(37)</small><li class="cat-item cat-item-1"><a href=../../categories/%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91/>文本编辑</a>
<small>(30)</small><li class="cat-item cat-item-1"><a href=../../categories/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/>正则表达式</a>
<small>(3)</small><li class="cat-item cat-item-1"><a href=../../categories/%E7%94%9F%E6%B4%BB%E6%8A%80%E5%B7%A7/>生活技巧</a>
<small>(4)</small><li class="cat-item cat-item-1"><a href=../../categories/%E7%A8%8B%E5%BA%8F%E5%91%98/>程序员</a>
<small>(1)</small><li class="cat-item cat-item-1"><a href=../../categories/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/>网络安全</a>
<small>(40)</small><li class="cat-item cat-item-1"><a href=../../categories/%E9%9B%86%E7%BE%A4%E7%9B%91%E6%8E%A7/>集群监控</a>
<small>(7)</small><li class="cat-item cat-item-1"><a href=../../categories/%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2/>静态博客</a>
<small>(15)</small><li class="cat-item cat-item-1"><a href=../../categories/%E9%AB%98%E6%95%B0/>高数</a>
<small>(2)</small></ul></div></div></div><div class="sidebar s2 collapsed" data-position=right data-layout=col-3cm data-sb-id=s2><a class=sidebar-toggle title="Expand Sidebar"><i class="fas icon-sidebar-toggle"></i></a><div class=sidebar-content><div class="sidebar-top group"><p>More</div><ul class="post-nav group"><li class=next><a href=../../hardware/camera/camera/ rel=next><i class="fa fa-chevron-right"></i><strong>Next post</strong>
<span>camera</span></a></ul><div id=tag_cloud-2 class="widget widget_tag_cloud"><h3>标签云</h3><div class="tagcloud post-tags"><a rel=tag href=../../tags/ai/ class=tag-link-7 title="1 Posts">ai<small>(7)</small></a>
<a rel=tag href=../../tags/ansible/ class=tag-link-19 title="1 Posts">ansible<small>(19)</small></a>
<a rel=tag href=../../tags/awesome/ class=tag-link-3 title="1 Posts">awesome<small>(3)</small></a>
<a rel=tag href=../../tags/bfc/ class=tag-link-2 title="1 Posts">bfc<small>(2)</small></a>
<a rel=tag href=../../tags/c/ class=tag-link-5 title="1 Posts">c<small>(5)</small></a>
<a rel=tag href=../../tags/caffe/ class=tag-link-21 title="1 Posts">caffe<small>(21)</small></a>
<a rel=tag href=../../tags/centos7/ class=tag-link-2 title="1 Posts">centos7<small>(2)</small></a>
<a rel=tag href=../../tags/cgo/ class=tag-link-10 title="1 Posts">cgo<small>(10)</small></a>
<a rel=tag href=../../tags/clang/ class=tag-link-42 title="1 Posts">clang<small>(42)</small></a>
<a rel=tag href=../../tags/cmd/ class=tag-link-2 title="1 Posts">cmd<small>(2)</small></a>
<a rel=tag href=../../tags/cpp/ class=tag-link-7 title="1 Posts">cpp<small>(7)</small></a>
<a rel=tag href=../../tags/cross_compile/ class=tag-link-9 title="1 Posts">cross_compile<small>(9)</small></a>
<a rel=tag href=../../tags/css/ class=tag-link-20 title="1 Posts">css<small>(20)</small></a>
<a rel=tag href=../../tags/css3/ class=tag-link-2 title="1 Posts">css3<small>(2)</small></a>
<a rel=tag href=../../tags/curd/ class=tag-link-3 title="1 Posts">curd<small>(3)</small></a>
<a rel=tag href=../../tags/curl/ class=tag-link-2 title="1 Posts">curl<small>(2)</small></a>
<a rel=tag href=../../tags/dataset/ class=tag-link-2 title="1 Posts">dataset<small>(2)</small></a>
<a rel=tag href=../../tags/devops/ class=tag-link-3 title="1 Posts">devops<small>(3)</small></a>
<a rel=tag href=../../tags/docker/ class=tag-link-21 title="1 Posts">docker<small>(21)</small></a>
<a rel=tag href=../../tags/drone/ class=tag-link-22 title="1 Posts">drone<small>(22)</small></a>
<a rel=tag href=../../tags/dts/ class=tag-link-6 title="1 Posts">dts<small>(6)</small></a>
<a rel=tag href=../../tags/elasticsearch/ class=tag-link-9 title="1 Posts">elasticsearch<small>(9)</small></a>
<a rel=tag href=../../tags/emacs/ class=tag-link-12 title="1 Posts">emacs<small>(12)</small></a>
<a rel=tag href=../../tags/encode/ class=tag-link-3 title="1 Posts">encode<small>(3)</small></a>
<a rel=tag href=../../tags/english/ class=tag-link-8 title="1 Posts">english<small>(8)</small></a>
<a rel=tag href=../../tags/es6/ class=tag-link-2 title="1 Posts">es6<small>(2)</small></a>
<a rel=tag href=../../tags/etcd/ class=tag-link-4 title="1 Posts">etcd<small>(4)</small></a>
<a rel=tag href=../../tags/flannel/ class=tag-link-2 title="1 Posts">flannel<small>(2)</small></a>
<a rel=tag href=../../tags/git/ class=tag-link-6 title="1 Posts">git<small>(6)</small></a>
<a rel=tag href=../../tags/github/ class=tag-link-2 title="1 Posts">github<small>(2)</small></a>
<a rel=tag href=../../tags/golang/ class=tag-link-150 title="1 Posts">golang<small>(150)</small></a>
<a rel=tag href=../../tags/gradle/ class=tag-link-3 title="1 Posts">gradle<small>(3)</small></a>
<a rel=tag href=../../tags/haproxy/ class=tag-link-5 title="1 Posts">haproxy<small>(5)</small></a>
<a rel=tag href=../../tags/hardware/ class=tag-link-22 title="1 Posts">hardware<small>(22)</small></a>
<a rel=tag href=../../tags/hexo/ class=tag-link-3 title="1 Posts">hexo<small>(3)</small></a>
<a rel=tag href=../../tags/hi3519a/ class=tag-link-4 title="1 Posts">hi3519a<small>(4)</small></a>
<a rel=tag href=../../tags/hisilicon/ class=tag-link-57 title="1 Posts">hisilicon<small>(57)</small></a>
<a rel=tag href=../../tags/html/ class=tag-link-2 title="1 Posts">html<small>(2)</small></a>
<a rel=tag href=../../tags/http/ class=tag-link-6 title="1 Posts">http<small>(6)</small></a>
<a rel=tag href=../../tags/hugo/ class=tag-link-14 title="1 Posts">hugo<small>(14)</small></a>
<a rel=tag href=../../tags/imagemagick/ class=tag-link-2 title="1 Posts">imagemagick<small>(2)</small></a>
<a rel=tag href=../../tags/ip/ class=tag-link-3 title="1 Posts">ip<small>(3)</small></a>
<a rel=tag href=../../tags/iproute2/ class=tag-link-5 title="1 Posts">iproute2<small>(5)</small></a>
<a rel=tag href=../../tags/iptables/ class=tag-link-17 title="1 Posts">iptables<small>(17)</small></a>
<a rel=tag href=../../tags/javascript/ class=tag-link-19 title="1 Posts">javascript<small>(19)</small></a>
<a rel=tag href=../../tags/jetson/ class=tag-link-3 title="1 Posts">jetson<small>(3)</small></a>
<a rel=tag href=../../tags/jquery/ class=tag-link-12 title="1 Posts">jquery<small>(12)</small></a>
<a rel=tag href=../../tags/js/ class=tag-link-10 title="1 Posts">js<small>(10)</small></a>
<a rel=tag href=../../tags/jumpserver/ class=tag-link-2 title="1 Posts">jumpserver<small>(2)</small></a>
<a rel=tag href=../../tags/jwt/ class=tag-link-3 title="1 Posts">jwt<small>(3)</small></a>
<a rel=tag href=../../tags/kernel/ class=tag-link-16 title="1 Posts">kernel<small>(16)</small></a>
<a rel=tag href=../../tags/kubernetes/ class=tag-link-11 title="1 Posts">kubernetes<small>(11)</small></a>
<a rel=tag href=../../tags/libev/ class=tag-link-3 title="1 Posts">libev<small>(3)</small></a>
<a rel=tag href=../../tags/linux/ class=tag-link-22 title="1 Posts">linux<small>(22)</small></a>
<a rel=tag href=../../tags/linux-system/ class=tag-link-8 title="1 Posts">linux-system<small>(8)</small></a>
<a rel=tag href=../../tags/lvs/ class=tag-link-8 title="1 Posts">lvs<small>(8)</small></a>
<a rel=tag href=../../tags/machinelearn/ class=tag-link-3 title="1 Posts">machinelearn<small>(3)</small></a>
<a rel=tag href=../../tags/machinelearning/ class=tag-link-11 title="1 Posts">machinelearning<small>(11)</small></a>
<a rel=tag href=../../tags/macos/ class=tag-link-14 title="1 Posts">macos<small>(14)</small></a>
<a rel=tag href=../../tags/makefile/ class=tag-link-2 title="1 Posts">makefile<small>(2)</small></a>
<a rel=tag href=../../tags/mariadb/ class=tag-link-9 title="1 Posts">mariadb<small>(9)</small></a>
<a rel=tag href=../../tags/math/ class=tag-link-7 title="1 Posts">math<small>(7)</small></a>
<a rel=tag href=../../tags/matplotlib/ class=tag-link-3 title="1 Posts">matplotlib<small>(3)</small></a>
<a rel=tag href=../../tags/maven/ class=tag-link-2 title="1 Posts">maven<small>(2)</small></a>
<a rel=tag href=../../tags/meteor/ class=tag-link-7 title="1 Posts">meteor<small>(7)</small></a>
<a rel=tag href=../../tags/ml/ class=tag-link-3 title="1 Posts">ml<small>(3)</small></a>
<a rel=tag href=../../tags/mpp/ class=tag-link-12 title="1 Posts">mpp<small>(12)</small></a>
<a rel=tag href=../../tags/mysql/ class=tag-link-61 title="1 Posts">mysql<small>(61)</small></a>
<a rel=tag href=../../tags/ncnn/ class=tag-link-3 title="1 Posts">ncnn<small>(3)</small></a>
<a rel=tag href=../../tags/netns/ class=tag-link-2 title="1 Posts">netns<small>(2)</small></a>
<a rel=tag href=../../tags/network/ class=tag-link-2 title="1 Posts">network<small>(2)</small></a>
<a rel=tag href=../../tags/nginx/ class=tag-link-28 title="1 Posts">nginx<small>(28)</small></a>
<a rel=tag href=../../tags/nmap/ class=tag-link-2 title="1 Posts">nmap<small>(2)</small></a>
<a rel=tag href=../../tags/nnie/ class=tag-link-6 title="1 Posts">nnie<small>(6)</small></a>
<a rel=tag href=../../tags/node/ class=tag-link-4 title="1 Posts">node<small>(4)</small></a>
<a rel=tag href=../../tags/nosql/ class=tag-link-8 title="1 Posts">nosql<small>(8)</small></a>
<a rel=tag href=../../tags/npm/ class=tag-link-3 title="1 Posts">npm<small>(3)</small></a>
<a rel=tag href=../../tags/numpy/ class=tag-link-4 title="1 Posts">numpy<small>(4)</small></a>
<a rel=tag href=../../tags/oauth2/ class=tag-link-2 title="1 Posts">oauth2<small>(2)</small></a>
<a rel=tag href=../../tags/opencv/ class=tag-link-10 title="1 Posts">opencv<small>(10)</small></a>
<a rel=tag href=../../tags/openssl/ class=tag-link-3 title="1 Posts">openssl<small>(3)</small></a>
<a rel=tag href=../../tags/pandoc/ class=tag-link-2 title="1 Posts">pandoc<small>(2)</small></a>
<a rel=tag href=../../tags/php/ class=tag-link-4 title="1 Posts">php<small>(4)</small></a>
<a rel=tag href=../../tags/post/ class=tag-link-4 title="1 Posts">post<small>(4)</small></a>
<a rel=tag href=../../tags/powershell/ class=tag-link-2 title="1 Posts">powershell<small>(2)</small></a>
<a rel=tag href=../../tags/prometheus/ class=tag-link-8 title="1 Posts">prometheus<small>(8)</small></a>
<a rel=tag href=../../tags/pyqt/ class=tag-link-8 title="1 Posts">pyqt<small>(8)</small></a>
<a rel=tag href=../../tags/python/ class=tag-link-33 title="1 Posts">python<small>(33)</small></a>
<a rel=tag href=../../tags/pytorch/ class=tag-link-6 title="1 Posts">pytorch<small>(6)</small></a>
<a rel=tag href=../../tags/raspi/ class=tag-link-4 title="1 Posts">raspi<small>(4)</small></a>
<a rel=tag href=../../tags/redis/ class=tag-link-2 title="1 Posts">redis<small>(2)</small></a>
<a rel=tag href=../../tags/reflect/ class=tag-link-3 title="1 Posts">reflect<small>(3)</small></a>
<a rel=tag href=../../tags/responsive/ class=tag-link-2 title="1 Posts">responsive<small>(2)</small></a>
<a rel=tag href=../../tags/restful/ class=tag-link-6 title="1 Posts">restful<small>(6)</small></a>
<a rel=tag href=../../tags/rk3288/ class=tag-link-22 title="1 Posts">rk3288<small>(22)</small></a>
<a rel=tag href=../../tags/rk3399/ class=tag-link-9 title="1 Posts">rk3399<small>(9)</small></a>
<a rel=tag href=../../tags/route/ class=tag-link-2 title="1 Posts">route<small>(2)</small></a>
<a rel=tag href=../../tags/rsync/ class=tag-link-2 title="1 Posts">rsync<small>(2)</small></a>
<a rel=tag href=../../tags/rtmp/ class=tag-link-2 title="1 Posts">rtmp<small>(2)</small></a>
<a rel=tag href=../../tags/scikit/ class=tag-link-3 title="1 Posts">scikit<small>(3)</small></a>
<a rel=tag href=../../tags/scrapy/ class=tag-link-8 title="1 Posts">scrapy<small>(8)</small></a>
<a rel=tag href=../../tags/scss/ class=tag-link-2 title="1 Posts">scss<small>(2)</small></a>
<a rel=tag href=../../tags/sed/ class=tag-link-3 title="1 Posts">sed<small>(3)</small></a>
<a rel=tag href=../../tags/seo/ class=tag-link-5 title="1 Posts">seo<small>(5)</small></a>
<a rel=tag href=../../tags/shell/ class=tag-link-11 title="1 Posts">shell<small>(11)</small></a>
<a rel=tag href=../../tags/socket/ class=tag-link-5 title="1 Posts">socket<small>(5)</small></a>
<a rel=tag href=../../tags/sqlite/ class=tag-link-2 title="1 Posts">sqlite<small>(2)</small></a>
<a rel=tag href=../../tags/ssh/ class=tag-link-3 title="1 Posts">ssh<small>(3)</small></a>
<a rel=tag href=../../tags/stm32/ class=tag-link-11 title="1 Posts">stm32<small>(11)</small></a>
<a rel=tag href=../../tags/stm8/ class=tag-link-9 title="1 Posts">stm8<small>(9)</small></a>
<a rel=tag href=../../tags/swagger/ class=tag-link-2 title="1 Posts">swagger<small>(2)</small></a>
<a rel=tag href=../../tags/swarm/ class=tag-link-2 title="1 Posts">swarm<small>(2)</small></a>
<a rel=tag href=../../tags/sysbench/ class=tag-link-2 title="1 Posts">sysbench<small>(2)</small></a>
<a rel=tag href=../../tags/sysctl/ class=tag-link-2 title="1 Posts">sysctl<small>(2)</small></a>
<a rel=tag href=../../tags/systemctl/ class=tag-link-2 title="1 Posts">systemctl<small>(2)</small></a>
<a rel=tag href=../../tags/tc/ class=tag-link-2 title="1 Posts">tc<small>(2)</small></a>
<a rel=tag href=../../tags/tcpdump/ class=tag-link-2 title="1 Posts">tcpdump<small>(2)</small></a>
<a rel=tag href=../../tags/timezone/ class=tag-link-2 title="1 Posts">timezone<small>(2)</small></a>
<a rel=tag href=../../tags/tshark/ class=tag-link-2 title="1 Posts">tshark<small>(2)</small></a>
<a rel=tag href=../../tags/ubuntu/ class=tag-link-2 title="1 Posts">ubuntu<small>(2)</small></a>
<a rel=tag href=../../tags/ulimit/ class=tag-link-2 title="1 Posts">ulimit<small>(2)</small></a>
<a rel=tag href=../../tags/vim/ class=tag-link-14 title="1 Posts">vim<small>(14)</small></a>
<a rel=tag href=../../tags/webpack3/ class=tag-link-2 title="1 Posts">webpack3<small>(2)</small></a>
<a rel=tag href=../../tags/windows/ class=tag-link-18 title="1 Posts">windows<small>(18)</small></a>
<a rel=tag href=../../tags/wireshark/ class=tag-link-2 title="1 Posts">wireshark<small>(2)</small></a>
<a rel=tag href=../../tags/xidel/ class=tag-link-2 title="1 Posts">xidel<small>(2)</small></a>
<a rel=tag href=../../tags/xml/ class=tag-link-2 title="1 Posts">xml<small>(2)</small></a>
<a rel=tag href=../../tags/yaml/ class=tag-link-2 title="1 Posts">yaml<small>(2)</small></a>
<a rel=tag href=../../tags/yolo/ class=tag-link-16 title="1 Posts">yolo<small>(16)</small></a>
<a rel=tag href=../../tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/ class=tag-link-2 title="1 Posts">微服务<small>(2)</small></a></div></div></div></div>`</div></div></div></div></div><script>var HUParams={"_disabled":[],"SmoothScroll":{"Enabled":true,"Options":{"touchpadSupport":false}},"centerAllImg":"1","timerOnScrollAllBrowsers":"1","extLinksStyle":"1","extLinksTargetExt":"1","extLinksSkipSelectors":{"classes":["btn","button"],"ids":[]},"imgSmartLoadEnabled":"1","imgSmartLoadOpts":{"parentSelectors":[".container .content",".container .sidebar","#footer","#header-widgets"],"opts":{"excludeImg":[".tc-holder-img"],"fadeIn_options":100}},"goldenRatio":"1.618","gridGoldenRatioLimit":"350","sbStickyUserSettings":{"desktop":true,"mobile":true},"isWPMobile":"","menuStickyUserSettings":{"desktop":"stick_up","mobile":"stick_up"},"isDevMode":"","ajaxUrl":"https:\/\/demo-hueman.presscustomizr.com\/?huajax=1","frontNonce":{"id":"HuFrontNonce","handle":"798e5956c0"},"userStarted":{"with":"before|1.0.4","on":{"date":"2017-05-22 16:30:22.000000","timezone_type":3,"timezone":"UTC"}},"isWelcomeNoteOn":"","welcomeContent":""};</script><script src=https://cdn.bootcss.com/lodash-compat/3.10.2/lodash.min.js></script><script src=https://cdn.bootcss.com/jquery/1.9.0/jquery.min.js></script><script src=../../front/js/scripts.js></script><footer id=footer><section class=container id=footer-bottom><div class=container-inner><a id=back-to-top href=#><i class="fa fa-angle-up"></i></a><div class="pad group"><div class="grid one-half"><div id=copyright><p>Copyright (c) 2017. All rights reserved. (版权所有) <a href=http://www.miitbeian.gov.cn/>鲁ICP备17074587号-1</a></div></div><div class="grid one-half last"><ul class=social-links><li><a class=social-tooltip title="On WeiBo" href=http://weibo.com/rinetd target=_blank><i class="fa fa-weibo"></i></a><li><a class=social-tooltip title="On Twitter" href=https://twitter.com/rinetd target=_blank><i class="fa fa-twitter"></i></a><li><a class=social-tooltip title="On GitHub" href=https://github.com/rinetd target=_blank><i class="fa fa-github"></i></a></ul></div></div></div></section></footer><div class=back-to-top id=back-to-top><i class="fa fa-angle-double-up"></i></div><script>$(".topbar-toggle-down").click(function(){$("#nav-topbar").css("overflow","visible");});</script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5HM5XM2" height=0 width=0 style=display:none;visibility:hidden></iframe></noscript><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-5HM5XM2');</script>