文章目录

  • 背景
  • YAML
    • 注意事项
    • 数据类型
      • 对象
      • 数组
      • 纯量
      • 复合结构
      • 引用
    • 严格类型
  • 静态IP
  • 动态IP
  • 配置生效
  • 查看ip
  • 参考鸣谢

背景

Ubuntu 18.04 不再使用 ifupdown 配置网络,而改用 netplan

/etc/network/interfaces 配置固定IP是无效的,重启网络的命令 services network restrart/etc/init.d/networking restart 也是无效的。

netplan 的配置文件采用的是 yaml 文件。

YAML

注意事项

  • 大小写敏感。
  • 使用缩进表示层级关系。
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可。
  • '#'表示注释。

数据类型

对象

键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)。

animal: pets
# js:
{"animal": "pets"
}# 行内表示法
hash: { name: Steve, foo: bar }
# js:
{"hash": {"name": "Steve","foo": "bar"}
}

数组

一组按次序排列的值,又称为序列(sequence) / 列表(list)。

- Cat
- Dog
- Goldfish
# js:
["Cat","Dog","Goldfish"
]
# 行内表示法
animal: [Cat, Dog]
# js:
{"animal": ["Cat","Dog"]
}

纯量

纯量(scalars):单个的、不可再分的值。

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null
  • 时间
  • 日期
# Excerpted from https://www.runoob.com/w3cnote/yaml-intro.html
boolean: - TRUE  #true,True都可以- FALSE  #false,False都可以
float:- 3.14- 6.8523015e+5  #可以使用科学计数法
int:- 123- 0b1010_0111_0100_1010_1110    #二进制表示
null:nodeName: 'node'parent: ~  #使用~表示null
string:- 哈哈- 'Hello world'  #可以使用双引号或者单引号包裹特殊字符- newlinenewline2    #字符串可以拆成多行,每一行会被转化成一个空格
date:- 2018-02-17    #日期必须使用ISO 8601格式,即yyyy-MM-dd
datetime: -  2018-02-17T15:02:31+08:00    #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区

注意

  • 尽管 symfonyYAML 解析器能够把 onoffyesno 等解析为布尔值,但是它们已经在 YAML 1.2 标准中被移除。

  • 字符串最为复杂。

    # 如果字符串之中包含空格或特殊字符,需要放在引号之中。
    str: 'Complex/*example*/'
    # js:
    {"str": "Complex/*example*/"
    }# 单引号和双引号都可以使用,双引号不会对特殊字符转义
    s1: '内容\n字符串'
    s2: "内容\n字符串"
    # js:
    {"s1": "内容\\n字符串","s2": "内容\n字符串"
    }# 单引号之中如果还有单引号,必须连续使用两个单引号转义。
    str: 'labor''s day'
    # js:
    {"str": "labor's day"
    }# 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
    str: I am a multi-line string
    # js:
    {"str": "I am a multi-line string"
    }# 多行字符串可以使用|保留换行符,也可以使用>折叠换行。
    this: |FooBar
    that: >FooBar
    # js:
    {"this": "Foo\nBar\n","that": "Foo Bar\n"
    }# +表示保留文字块末尾的换行,-表示删除字符串末尾的换行。
    s1: |Foos2: |+Foos3: |-Foo
    # js:
    {"s1": "Foo\n","s2": "Foo\n\n\n","s3": "Foo"
    }
    

复合结构

languages:- YAML- C/C++- Python
websites:YAML: yaml.org C/C++: cplusplus.comPython: python.org # js:
{"languages": ["YAML","C/C++","Python"],"websites": {"YAML": "yaml.org","C/C++": "cplusplus.com","Python": "python.org"}
}

引用

& 锚点和 *别名,可以用来引用。

- &showell Steve
- Clark
- Brian
- Oren
- *showell# js:
["Steve","Clark","Brian","Oren","Steve"
]

严格类型

使用 !! 表达的严格型态。

d: !!float 123             # 浮点数,使用!!表达的严格型态
e: !!str 123               # 字串,使用严格型态
f: !!str Yes               # 字串,使用严格型态

静态IP

network:ethernets:eth0:dhcp4: falseaddresses: [192.168.10.60/24]gateway4: 192.168.10.1nameservers:addresses: [223.5.5.5]search: []version: 2

动态IP

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:ethernets:eth0:addresses: []dhcp4: trueoptional: trueversion: 2

配置生效

sudo netplan apply
# if has errors
sudo netplan --debug apply

查看ip

ip addr

参考鸣谢

YAML 入门教程

阮一峰 - YAML 语言教程

YAML官网

如何在 Ubuntu 18.04 LTS 中配置 IP 地址

Linux - Ubuntu 18.04 网络配置(YAML)相关推荐

  1. 在Linux Ubuntu 18.04.x上安装和配置ActiveMQ-Artemis

    目录 假设/期望 Linux命令和Vim "root"用户 背景 面向消息的中间件(MoM) 为什么要使用MoM? Apache ActiveMQ Artemis Artemis支 ...

  2. Ubuntu 18.04 server配置多用户深度学习服务器

    Ubuntu 18.04 server配置多用户深度学习服务器 1 重装系统 2 安装图形界面 2.1 更改Ubuntu 镜像源 2.2 安装图形界面 2.3安装gcc , make等库 3 安装Nv ...

  3. 在 Ubuntu 18.04 中配置静态 IP 地址及灵活切换IP的办法

    Ubuntu 18.04 使用 Netplan 来配置 IP 地址,Netplan 是一个新的命令行网络配置工具. 新的 IP 配置方法不会再用到 /etc/network/interfaces 这个 ...

  4. ubuntu 18.04 netplan 配置多网卡、多路由、多ip

    ubuntu 18.04 netplan 配置多网卡.多路由.多ip.bonding Ubuntu 18.04采用Netplan 来管理网络配置,下面说下netplan 多网卡的复杂配置 1.单网卡 ...

  5. Linux/Ubuntu 18.04 截图软件Shutter详细教程,包括启用图片编辑Edit功能,延时截图等

    目录 Linux/Ubuntu 18.04 截图软件Shutter详细教程,包括启用Edit功能,延时截图等 安装Shutter 指令介绍 设置常用快捷键 启用Edit功能 延时截图 方法1 方法2 ...

  6. Linux Ubuntu 18.04 LTS安装指南

    Linux Ubuntu 18.04 LTS安装指南 最近在倒腾Linux, 写一个安装指南, 以后备用. 1. Linux Ubuntu系统安装 下载Linux Ubuntu 18.04 LTS 版 ...

  7. ubuntu 18.04 网络图标不见的解决办法

    ubuntu 18.04 网络图标不见的解决办法 ubuntu 18.04 网络图标不见的解决办法_Stupid_human的博客-CSDN博客 sudo service network-manage ...

  8. 服务器接收消息写日志,在Ubuntu 18.04上配置Rsyslog集中式日志服务器的方法

    本文介绍在Ubuntu 18.04操作系统上配置Rsyslog集中式日志服务器的方法. 前言 登录任何Linux系统对于分析和排除与系统和应用程序相关的任何问题至关重要,借助Graylog等工具(参考 ...

  9. Ubuntu 18.04 网卡配置

    ubuntu18.04 server,启用了新的网络工具netplan,对比与16.04及之前的版本,命令行配置网络参数跟之前的版本有比较大的差别 其网络配置文件为:/etc/netplan/50-c ...

最新文章

  1. “cmake 点点”表示在上一级目录(CMakeLists.txt所在目录)编译
  2. g++配置选项-std=c++11
  3. Extjs 集合了1713个icon图标的CSS文件
  4. 线下沙龙 × 上海 | 小身材大能量!用英伟达智能小车Jetbot玩转深度学习
  5. macbook图形化编程_如何判断MacBook使用的是哪种图形芯片(并进行切换)
  6. mysql重连服务器失败_java – MySQL连接器错误“服务器时区值中...
  7. linux使用苹果字体,Ubuntu 8.04字体美化之安装苹果丽黑字体教程(图)
  8. 笔记本上的CNN搞定了MNIST
  9. Typora本地图片上传
  10. linux 添加隐藏wi-fi,隐藏wifi怎么设置?
  11. 获取变量数据类型(JS)
  12. 单摆运动属于什么现象_物理模型中的隐含条件是什么
  13. c#动态编译并动态生成dll
  14. 开课吧课堂之未被捕获的异常
  15. oracle数据库学习相关笔记-相关约束
  16. 绩效管理-目标拆解技巧
  17. 北京某电信运营商数据中心暖通节能技术和应用
  18. 如何写好SCI论文的标题? - 易智编译EaseEditing
  19. 就业感言:我的培训经历,真实记录这一路!
  20. 统治我们世界的十大真实算法(The real 10 algorithms that dominate our world)

热门文章

  1. 外网访问内网FTP Server【内网穿透】
  2. 双十二哪款高性价比蓝牙耳机值得买?高性价比国产蓝牙耳机推荐
  3. win10/win11自带的截图和剪贴板快捷键,摆脱第三方截图工具的烦恼
  4. 小米首款翻盖折叠屏手机曝光 采用无开孔全面屏
  5. 抖音很火的三屏视频用手机如何制作?看完涨知识了
  6. 新媒体运营怎么做?有什么技巧?
  7. What is DDS? 什么是DDS?(Data Distribute Service,数据分发服务)
  8. 免费电子图书下载:Visual Studio .NET Tips and Tricks
  9. 不选真肉,吃植物肉,是不是在交智商税?
  10. 疫苗预约|疫苗管理|前后端分离Springboot+Vue儿童疫苗预约系统