elasticsearch 的查询 /_nodes/stats 各字段意思

/_nodes/stats 字段意思   “”

    1 {  
2  "_nodes": {

3
"total": 1, 4 "successful": 1, 5 "failed": 0 6 }, 7 "cluster_name": "ELKTEST", 8 "nodes": { 9 "lnlHC8yERCKXCuAc_2DPCQ": { 10 "timestamp": 1534242595995, 11 "name": "OPS01-ES01", 12 "transport_address": "10.9.125.148:9300", 13 "host": "10.9.125.148", 14 "ip": "10.9.125.148:9300", 15 "roles": [ 16 "master", 17 "data", 18 "ingest" 19 ], 20 "attributes": { 21 "ml.machine_memory": "8203104256", 22 "xpack.installed": "true", 23 "ml.max_open_jobs": "20", 24 "ml.enabled": "true" 25 }, 26 "indices": { 27 "docs": { 28 "count": 8111612, # 显示节点上有多少文档 29 "deleted": 16604 # 有多少已删除的文档还未从数据段中删除 30 }, 31 "store": { 32 "size_in_bytes": 2959876263 # 显示该节点消耗了多少物理存储 33 }, 34 "indexing": { #表示索引文档的次数,这个是通过一个计数器累加计数的。当文档被删除时,它不会减少。注意这个值永远是递增的,发生在内部索引数据的时候,包括那些更新操作 35 "index_total": 17703152, 36 "index_time_in_millis": 2801934, 37 "index_current": 0, 38 "index_failed": 0, 39 "delete_total": 46242, 40 "delete_time_in_millis": 2130, 41 "delete_current": 0, 42 "noop_update_total": 0, 43 "is_throttled": false, 44 "throttle_time_in_millis": 0 # 这个值高的时候,说明磁盘流量设置太低 45 }, 46 "get": { 47 "total": 185179, 48 "time_in_millis": 22341, 49 "exists_total": 185178, 50 "exists_time_in_millis": 22337, 51 "missing_total": 1, 52 "missing_time_in_millis": 4, 53 "current": 0 54 }, 55 "search": { 56 "open_contexts": 0, # 主动检索的次数, 57 "query_total": 495447, # 查询总数 58 "query_time_in_millis": 298344, # 节点启动到此查询消耗总时间, query_time_in_millis / query_total的比值可以作为你的查询效率的粗略指标。比值越大,每个查询用的时间越多,你就需要考虑调整或者优化。 59 "query_current": 0,
         #后面关于fetch的统计,是描述了查询的第二个过程(也就是query_the_fetch里的fetch)。fetch花的时间比query的越多,表示你的磁盘很慢,或者你要fetch的的文档太多。或者你的查询参数分页条件太大,(例如size等于1万
60 "fetch_total": 130194, 61 "fetch_time_in_millis": 51211, 62 "fetch_current": 0, 63 "scroll_total": 22, 64 "scroll_time_in_millis": 2196665, 65 "scroll_current": 0, 66 "suggest_total": 0, 67 "suggest_time_in_millis": 0, 68 "suggest_current": 0 69 }, 70 "merges": { # 包含lucene段合并的信息,它会告诉你有多少段合并正在进行,参与的文档数,这些正在合并的段的总大小,以及花在merge上的总时间。
                如果你的集群写入比较多,这个merge的统计信息就很重要。merge操作会消耗大量的磁盘io和cpu资源。如果你的索引写入很多,你会看到大量的merge操作
71 "current": 0, 72 "current_docs": 0, 73 "current_size_in_bytes": 0, 74 "total": 68341, 75 "total_time_in_millis": 18490611, 76 "total_docs": 1016579669, 77 "total_size_in_bytes": 344453480895, 78 "total_stopped_time_in_millis": 0, 79 "total_throttled_time_in_millis": 1557, 80 "total_auto_throttle_in_bytes": 4345437596 81 }, 82 "refresh": { 83 "total": 729643, 84 "total_time_in_millis": 7843558, 85 "listeners": 0 86 }, 87 "flush": { 88 "total": 5161, 89 "periodic": 12, 90 "total_time_in_millis": 53116 91 }, 92 "warmer": { 93 "current": 0, 94 "total": 718343, 95 "total_time_in_millis": 38069 96 }, 97 "query_cache": { 98 "memory_size_in_bytes": 0, 99 "total_count": 0, 100 "hit_count": 0, 101 "miss_count": 0, 102 "cache_size": 0, 103 "cache_count": 0, 104 "evictions": 0 105 }, 106 "fielddata": { #显示了fielddata使用的内存,fielddata用于聚合、排序等。这里也有一个淘汰数,不像filter_cache,这里的淘汰数很有用,它必须是0或者接近0,因为fielddata 不是缓存,任何淘汰的代价都是很大的,必须要避免的。如果你看到了淘汰,你必须重新评估你的内存情况,关于fielddata的限制,以及查询,或者三者全部。 107 "memory_size_in_bytes": 25312, 108 "evictions": 0 109 }, 110 "completion": { 111 "size_in_bytes": 0 112 }, 113 "segments": { 告诉你当前节点的lucene 段的个数,这可能是一个很重要的数字。大多数的索引应该在50到150个段左右,即便是几T大小的数十亿的文档。大量的段会带来合并的问题(例如:合并赶不上段的产生)。注意这个统计是对一个节点上所有的索引而言的
              其中内存的统计,可以告诉你Lucene的段自身需要多少内存。这里包括基础的数据结构,包括提交列表,词典,bloom过滤器等。段的数量多会增加承载这些数据结构的开销,这个内存的使用就是对这个开销的度量。
114 "count": 1171, 115 "memory_in_bytes": 17486054, 116 "terms_memory_in_bytes": 11679054, 117 "stored_fields_memory_in_bytes": 1628744, 118 "term_vectors_memory_in_bytes": 0, 119 "norms_memory_in_bytes": 1017280, 120 "points_memory_in_bytes": 745044, 121 "doc_values_memory_in_bytes": 2415932, 122 "index_writer_memory_in_bytes": 42232420, 123 "version_map_memory_in_bytes": 10812921, 124 "fixed_bit_set_memory_in_bytes": 148136, 125 "max_unsafe_auto_id_timestamp": 1534205010926, 126 "file_sizes": {} 127 }, 128 "translog": { 129 "operations": 2422069, 130 "size_in_bytes": 2187759163, 131 "uncommitted_operations": 1092028, 132 "uncommitted_size_in_bytes": 1116860690, 133 "earliest_last_modified_age": 0 134 }, 135 "request_cache": { 136 "memory_size_in_bytes": 524054, 137 "evictions": 0, 138 "hit_count": 157346, 139 "miss_count": 15441 140 }, 141 "recovery": { 142 "current_as_source": 0, 143 "current_as_target": 0, 144 "throttle_time_in_millis": 0 145 } 146 }, 147 "os": { 148 "timestamp": 1534242596057, 149 "cpu": { 150 "percent": 7, 151 "load_average": { 152 "1m": 0.02, 153 "5m": 0.05, 154 "15m": 0.12 155 } 156 }, 157 "mem": { 158 "total_in_bytes": 8203104256, 159 "free_in_bytes": 147980288, 160 "used_in_bytes": 8055123968, 161 "free_percent": 2, 162 "used_percent": 98 163 }, 164 "swap": { 165 "total_in_bytes": 536866816, 166 "free_in_bytes": 531492864, 167 "used_in_bytes": 5373952 168 }, 169 "cgroup": { 170 "cpuacct": { 171 "control_group": "/", 172 "usage_nanos": 47396754950801 173 }, 174 "cpu": { 175 "control_group": "/", 176 "cfs_period_micros": 100000, 177 "cfs_quota_micros": -1, 178 "stat": { 179 "number_of_elapsed_periods": 0, 180 "number_of_times_throttled": 0, 181 "time_throttled_nanos": 0 182 } 183 }, 184 "memory": { 185 "control_group": "/", 186 "limit_in_bytes": "9223372036854775807", 187 "usage_in_bytes": "7463514112" 188 } 189 } 190 }, 191 "process": { 192 "timestamp": 1534242596058, 193 "open_file_descriptors": 1317, 194 "max_file_descriptors": 65536, 195 "cpu": { 196 "percent": 7, 197 "total_in_millis": 44676020 198 }, 199 "mem": { 200 "total_virtual_in_bytes": 12394913792 201 } 202 }, 203 "jvm": { 204 "timestamp": 1534242596059, 205 "uptime_in_millis": 463947765, 206 "mem": { 207 "heap_used_in_bytes": 1039819544, 208 "heap_used_percent": 19, 209 "heap_committed_in_bytes": 5333843968, 210 "heap_max_in_bytes": 5333843968, 211 "non_heap_used_in_bytes": 186193160, 212 "non_heap_committed_in_bytes": 198041600, 213 "pools": { 214 "young": { 215 "used_in_bytes": 179829784, 216 "max_in_bytes": 279183360, 217 "peak_used_in_bytes": 279183360, 218 "peak_max_in_bytes": 279183360 219 }, 220 "survivor": { 221 "used_in_bytes": 10640952, 222 "max_in_bytes": 34865152, 223 "peak_used_in_bytes": 34865152, 224 "peak_max_in_bytes": 34865152 225 }, 226 "old": { 227 "used_in_bytes": 849348808, 228 "max_in_bytes": 5019795456, 229 "peak_used_in_bytes": 3773164872, 230 "peak_max_in_bytes": 5019795456 231 } 232 } 233 }, 234 "threads": { 235 "count": 118, 236 "peak_count": 122 237 }, 238 "gc": { 239 "collectors": { 240 "young": { 241 "collection_count": 92158, 242 "collection_time_in_millis": 1728982 243 }, 244 "old": { 245 "collection_count": 19, 246 "collection_time_in_millis": 2384 247 } 248 } 249 }, 250 "buffer_pools": { 251 "direct": { 252 "count": 45, 253 "used_in_bytes": 135044601, 254 "total_capacity_in_bytes": 135044600 255 }, 256 "mapped": { 257 "count": 2827, 258 "used_in_bytes": 2924840579, 259 "total_capacity_in_bytes": 2924840579 260 } 261 }, 262 "classes": { 263 "current_loaded_count": 17649, 264 "total_loaded_count": 17806, 265 "total_unloaded_count": 157 266 } 267 }, 268 "thread_pool": { 269 "analyze": { 270 "threads": 0, 271 "queue": 0, 272 "active": 0, 273 "rejected": 0, 274 "largest": 0, 275 "completed": 0 276 }, 277 "fetch_shard_started": { 278 "threads": 0, 279 "queue": 0, 280 "active": 0, 281 "rejected": 0, 282 "largest": 0, 283 "completed": 0 284 }, 285 "fetch_shard_store": { 286 "threads": 0, 287 "queue": 0, 288 "active": 0, 289 "rejected": 0, 290 "largest": 0, 291 "completed": 0 292 }, 293 "flush": { 294 "threads": 2, 295 "queue": 0, 296 "active": 0, 297 "rejected": 0, 298 "largest": 2, 299 "completed": 10481 300 }, 301 "force_merge": { 302 "threads": 0, 303 "queue": 0, 304 "active": 0, 305 "rejected": 0, 306 "largest": 0, 307 "completed": 0 308 }, 309 "generic": { 310 "threads": 7, 311 "queue": 0, 312 "active": 0, 313 "rejected": 0, 314 "largest": 7, 315 "completed": 1252071 316 }, 317 "get": { 318 "threads": 4, 319 "queue": 0, 320 "active": 0, 321 "rejected": 0, 322 "largest": 4, 323 "completed": 138926 324 }, 325 "index": { 326 "threads": 4, 327 "queue": 0, 328 "active": 0, 329 "rejected": 0, 330 "largest": 4, 331 "completed": 46253 332 }, 333 "listener": { 334 "threads": 2, 335 "queue": 0, 336 "active": 0, 337 "rejected": 0, 338 "largest": 2, 339 "completed": 16 340 }, 341 "management": { 342 "threads": 5, 343 "queue": 0, 344 "active": 1, 345 "rejected": 0, 346 "largest": 5, 347 "completed": 802281 348 }, 349 "ml_autodetect": { 350 "threads": 0, 351 "queue": 0, 352 "active": 0, 353 "rejected": 0, 354 "largest": 0, 355 "completed": 0 356 }, 357 "ml_datafeed": { 358 "threads": 0, 359 "queue": 0, 360 "active": 0, 361 "rejected": 0, 362 "largest": 0, 363 "completed": 0 364 }, 365 "ml_utility": { 366 "threads": 25, 367 "queue": 0, 368 "active": 0, 369 "rejected": 0, 370 "largest": 25, 371 "completed": 25 372 }, 373 "refresh": { 374 "threads": 2, 375 "queue": 0, 376 "active": 1, 377 "rejected": 0, 378 "largest": 2, 379 "completed": 16523282 380 }, 381 "rollup_indexing": { 382 "threads": 0, 383 "queue": 0, 384 "active": 0, 385 "rejected": 0, 386 "largest": 0, 387 "completed": 0 388 }, 389 "search": { 390 "threads": 7, 391 "queue": 0, 392 "active": 0, 393 "rejected": 0, 394 "largest": 7, 395 "completed": 722194 396 }, 397 "security-token-key": { 398 "threads": 0, 399 "queue": 0, 400 "active": 0, 401 "rejected": 0, 402 "largest": 0, 403 "completed": 0 404 }, 405 "snapshot": { 406 "threads": 0, 407 "queue": 0, 408 "active": 0, 409 "rejected": 0, 410 "largest": 0, 411 "completed": 0 412 }, 413 "warmer": { 414 "threads": 2, 415 "queue": 0, 416 "active": 0, 417 "rejected": 0, 418 "largest": 2, 419 "completed": 389633 420 }, 421 "watcher": { 422 "threads": 20, 423 "queue": 0, 424 "active": 0, 425 "rejected": 0, 426 "largest": 20, 427 "completed": 46242 428 }, 429 "write": { 430 "threads": 4, 431 "queue": 0, 432 "active": 0, 433 "rejected": 0, 434 "largest": 4, 435 "completed": 1162801 436 } 437 }, 438 "fs": { 439 "timestamp": 1534242596059, 440 "total": { 441 "total_in_bytes": 321965260800, 442 "free_in_bytes": 316715397120, 443 "available_in_bytes": 316715397120 444 }, 445 "least_usage_estimate": { 446 "path": "/data/elasticsearch/data/nodes/0", 447 "total_in_bytes": 321965260800, 448 "available_in_bytes": 316714684416, 449 "used_disk_percent": 1.63078972276503 450 }, 451 "most_usage_estimate": { 452 "path": "/data/elasticsearch/data/nodes/0", 453 "total_in_bytes": 321965260800, 454 "available_in_bytes": 316714684416, 455 "used_disk_percent": 1.63078972276503 456 }, 457 "data": [ 458 { 459 "path": "/data/elasticsearch/data/nodes/0", 460 "mount": "/data (/dev/vdb)", 461 "type": "xfs", 462 "total_in_bytes": 321965260800, 463 "free_in_bytes": 316715397120, 464 "available_in_bytes": 316715397120 465 } 466 ], 467 "io_stats": { 468 "devices": [ 469 { 470 "device_name": "vdb", 471 "operations": 7009127, 472 "read_operations": 43871, 473 "write_operations": 6965256, 474 "read_kilobytes": 789805, 475 "write_kilobytes": 384479626 476 } 477 ], 478 "total": { 479 "operations": 7009127, 480 "read_operations": 43871, 481 "write_operations": 6965256, 482 "read_kilobytes": 789805, 483 "write_kilobytes": 384479626 484 } 485 } 486 }, 487 "transport": { 488 "server_open": 0, 489 "rx_count": 10, 490 "rx_size_in_bytes": 5428, 491 "tx_count": 10, 492 "tx_size_in_bytes": 5428 493 }, 494 "http": { 495 "current_open": 23, 496 "total_opened": 2739 497 }, 498 "breakers": { 499 "request": { 500 "limit_size_in_bytes": 3200306380, 501 "limit_size": "2.9gb", 502 "estimated_size_in_bytes": 0, 503 "estimated_size": "0b", 504 "overhead": 1, 505 "tripped": 0 506 }, 507 "fielddata": { 508 "limit_size_in_bytes": 3200306380, 509 "limit_size": "2.9gb", 510 "estimated_size_in_bytes": 25312, 511 "estimated_size": "24.7kb", 512 "overhead": 1.03, 513 "tripped": 0 514 }, 515 "in_flight_requests": { 516 "limit_size_in_bytes": 5333843968, 517 "limit_size": "4.9gb", 518 "estimated_size_in_bytes": 0, 519 "estimated_size": "0b", 520 "overhead": 1, 521 "tripped": 0 522 }, 523 "accounting": { 524 "limit_size_in_bytes": 5333843968, 525 "limit_size": "4.9gb", 526 "estimated_size_in_bytes": 17486054, 527 "estimated_size": "16.6mb", 528 "overhead": 1, 529 "tripped": 0 530 }, 531 "parent": { 532 "limit_size_in_bytes": 3733690777, 533 "limit_size": "3.4gb", 534 "estimated_size_in_bytes": 17511366, 535 "estimated_size": "16.7mb", 536 "overhead": 1, 537 "tripped": 0 538 } 539 }, 540 "script": { 541 "compilations": 27, 542 "cache_evictions": 0 543 }, 544 "discovery": { 545 "cluster_state_queue": { 546 "total": 0, 547 "pending": 0, 548 "committed": 0 549 }, 550 "published_cluster_states": { 551 "full_states": 0, 552 "incompatible_diffs": 0, 553 "compatible_diffs": 0 554 } 555 }, 556 "ingest": { 557 "total": { 558 "count": 0, 559 "time_in_millis": 0, 560 "current": 0, 561 "failed": 0 562 }, 563 "pipelines": { 564 "xpack_monitoring_6": { 565 "count": 0, 566 "time_in_millis": 0, 567 "current": 0, 568 "failed": 0 569 }, 570 "xpack_monitoring_2": { 571 "count": 0, 572 "time_in_millis": 0, 573 "current": 0, 574 "failed": 0 575 } 576 } 577 }, 578 "adaptive_selection": { 579 "lnlHC8yERCKXCuAc_2DPCQ": { 580 "outgoing_searches": 0, 581 "avg_queue_size": 0, 582 "avg_service_time_ns": 61180, 583 "avg_response_time_ns": 326251, 584 "rank": "0.3" 585 } 586 } 587 } 588 } 589 }

 

转载于:https://www.cnblogs.com/zhengyionline/p/9476711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

看完Java的动态代理技术——Pythoner笑了

Java的动态代理常用来包装原始方法调用,用于增强或改写现有方法的逻辑,它在Java技术领域被广为使用,在阿里的Sofa RPC框架序列化中你能看到它的身影,Hibernate的实体类功能增强也是以动态代理的方式解决的,还有Spring吹…

shell实现从1加到100

#!/bin/bash # test"while do done"PATH/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATHsum0 for i in $(seq 1 100); do let sumi done echo "The sum is > $sum "

面试常考的数据结构Java实现

1、线性表 2、线性链表 3、栈 4、队列 5、串 6、数组 7、广义表 8、树和二叉树 二叉树:每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 二叉…

Java5线程并发库之LOCK(锁)CONDITION(条件)实现线程同步通信

为什么80%的码农都做不了架构师?>>> Lock(锁)&Condition(条件)实现线程同步通信 接下来介绍,java5线程并发库里面的锁。跟锁有关的类和接口主要是位于java.util.concurrent.locks包。 Lock…

互联网,可预见的未来

我记忆中的1998年代,PC迅猛发展,CPU速度逐年翻番,持续了7年,但下一个7年到现在,基本上没有太大提升;显示器从14英寸CRT发展到2005的21英寸LED,后来也没有继续进化。为什么?当人对计算…

什么时候用GET?什么时候用POST?

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、 GET和POST两种方法都是将数据送到服务器,但你该用哪一种呢? HTTP标准包含这两种方法是为了达到不同的目的…

逻辑运算符与逻辑表达式

1 #include <stdio.h>2 3 int main()4 {5 int a0;int b0;6 if(a&&b)//a&&ba的逻辑值为0&#xff0c;则执行else7 {8 printf("a&&b is true\n");9 } 10 else 11 { 12 printf("a&&…

linux/shell相关知识点

阿里Linux Shell脚本面试25个经典问答 Linux运维工程师12道面试题整理 感谢作者分享&#xff01;

20180601]函数与标量子查询2.txt

[20180601]函数与标量子查询2.txt --//昨天看http://www.cnblogs.com/kerrycode/p/9099507.html链接,里面提到: 通俗来将&#xff0c;当使用标量子查询的时候&#xff0c;ORACLE会将子查询结果缓存在哈希表中&#xff0c; 如果后续的记录出现同样的值&#xff0c;优化器通过缓存…

ODP 使用 ArrayBind 时可能会遇到的巨坑 'System.IConvertible' 的解决方法

Unable to cast object of type System.Nullable1[System.Int16][] to type System.IConvertible 一段代码99%不会出错&#xff0c;0.1%会报上边的错&#xff0c;debug费了老鼻子时间&#xff0c;发现此坑很深。异常是 cmd.ExecuteNonQuery() 抛的&#xff0c;实际是 para.Valu…

eclipse快速定位到错误处

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程 以前都是按着滚动条往下拉&#xff0c;找到错误的地方&#xff0c;有时比较多的时候就很麻烦。 其实eclipse是可以直接快速定位的&#x…

C语言中的“”和“”

先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用<<运算符.例如: int i 1; i i << 2; //把i里的值左移2位 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成 000...0100,也就是10进制的4,所以…

网站性能优化的三重境界

这篇文章是关于网站性能优化体验的&#xff0c;性能优化是一个复杂的话题&#xff0c;牵涉的东西非常多&#xff0c;我只是按照我的理解列出了性能优化整个过程中需要考虑的种种因素。点到为止&#xff0c;包含的内容以浅显的介绍为主&#xff0c;如果你有见解能告知我那再好不…

Linux使用RSA实现免密登录(原理)

参考文献Linux密钥rsa加密原理和ssh使用密钥实现免密码登录 感谢作者分享&#xff01;

PYTHON 爬虫笔记十一:Scrapy框架的基本使用

Scrapy框架详解及其基本使用 scrapy框架原理 Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架。 其可以应用在数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的&#xff0c; 也可…

java设计把两个字符串的值交换 而不使用中间变量

public class Test {public static void main(String[] args) {String s1 "aaa";String s2 "cccx";s1 s1 s2;s2 s1.substring(0, s1.length()-s2.length());s1 s1.substring(s2.length());System.out.println(s1" - "s2);}}

服务器返回值 解释 ajax提交方式 后台数据刷进前端

转载于:https://www.cnblogs.com/liuliang389897172/p/9120715.html

no typehandler found for property XXXX 解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. ssm框架下 启动服务报错如题。 2. 原因&#xff1a; 我的情况是&#xff0c;代码中实体属性映射书写和数据库字段名字不一致。 数据…

C++主流预处理,编译和链接过程

在C的程序的编写过程中&#xff0c;基本上都碰到过LNK2005的错误吧&#xff0c;下面就针对这个问题详细分析&#xff1a;首先&#xff0c;预处理阶段&#xff1a;这一过程&#xff0c;主要针对#include和#define进行处理&#xff0c;具体过程如下&#xff1a;对于cpp文件中经常…

shell中sed -i特殊字符

可参考文献&#xff1a; Linux生产环境上&#xff0c;最常用的一套“sed“技巧 看懂shell中的各种语句