Linux 常用命令 -hostnamectl【主机名控制】

简介

hostnamectl 命令中的 “hostname” 顾名思义,指的是计算机在网络上的名称,“ctl” 是 “control” 的缩写,意味着控制。hostnamectl 命令用于查询和修改系统主机名以及相关的设置。它通过与 systemd 系统管理器交互,允许用户以简单的方式管理主机名,而无需直接编辑配置文件。主机名在网络中用于标识设备,方便用户和服务进行通信和识别。

使用方式

hostnamectl [OPTIONS...] {COMMAND}

常用选项

  • --no-ask-password:执行需要管理权限的操作时,不再提示用户输入密码认证。

  • --static, --transient, --pretty:当用 status 命令(或未指定具体命令)时,如果指定了其中某个选项,hostnamectl 会只显示对应种类的主机名。

    如果将它们与 set-hostname 命令一起使用,则只会更新选中的相应主机名。如果同时使用多个(>1)此类选项,则所有指定的主机名类型都会被更新。

  • -H, --host=:使用该选项可以远程执行操作。通过指定要连接的主机名,或者采用 “用户名@主机名” 的格式进行远程主机的连接。主机名后可以附加 SSH 监听端口号,用冒号分隔;若后面再跟上容器名(以斜杠 / 分隔),则直接连接到指定主机上的某个容器。此处使用 SSH 建立通信。如果要列出容器名,可以使用 machinectl -H HOST。若是 IPv6 地址,需要用 [] 括起来。

  • -M, --machine=:在本地机器上执行操作。指定一个容器名来进行连接。可以选择在其前面加上用户名和一个 @ 字符来指定连接用户。如果使用特殊字符串 .host 代替容器名称,则会建立与本地系统的连接(这对于连接到特定用户的用户总线很有用:--user --machine=lennart@.host)。 如果未使用 @ ,则以 root 用户身份建立连接。 如果使用 @ ,则可以省略左侧或右侧(但不能同时省略),在这种情况下,将假定为本地用户名和 .host

  • -h, --help:显示帮助信息。

  • --version:显示版本信息。

  • --json=MODE:以 JSON 格式输出信息。MODEshortprettyoff,分别表示尽可能简短的输出,不包含任何冗余的空格或换行符、美观的格式化版本,带有缩进和换行符以及关闭 JSON 输出(默认)。

命令

  • status: 显示系统主机名和相关信息。 如果没有指定命令,则默认执行此命令。

  • hostname [NAME]:如果没有提供参数,则显示系统主机名。 如果提供可选参数 NAME,则将系统主机名更改为 NAME。默认情况下,这将同时更改 pretty hostnamestatic hostnametransient hostname;但是,如果使用了一个或多个 --static--transient--pretty 中的选项,则只会更改选定的主机名。

    如果要设置 pretty hostname,并且同时设置 statictransient hostname,则在更新后者之前,将简化指定的主机名,使其符合所使用的字符集。 这是通过删除特殊字符和空格来完成的。 这确保了 pretty hostnamestatic hostname 始终紧密相关,同时仍然遵循特定名称的有效性规则。如果仅设置 transient 和/或 static hostname,而未涉及 pretty hostname,则不会简化主机名字符串。

    static hostnametransient hostname 必须分别是单个 DNS 标签(一个由 7 位 ASCII 小写字符组成的字符串,没有空格或点,限制为 DNS 域名标签允许的格式),或者是由单个点分隔的此类标签序列,形成有效的完整域名。 主机名最多只能有 64 个字符,这是 Linux 限制(DNS 允许更长的名称)。

  • icon-name [NAME]:如果不带参数,则显示系统的图标名称。如果提供可选参数 NAME,则将图标名称更改为 NAME。图标名称供某些图形应用程序用于可视化显示此主机。

  • chassis [TYPE]:如果不带参数,则显示机箱类型。 如果提供可选参数 TYPE,则将机箱类型更改为 TYPE。机箱类型供某些图形应用程序用于可视化主机或更改用户交互。当前,定义了以下机箱类型: desktop(台式机)、laptop(笔记本电脑)、convertible(二合一电脑)、server(服务器)、tablet(平板电脑)、handset(手机)、watch(手表)、embedded(嵌入式)。 此外,还有特殊的机箱类型 vm(虚拟机)和 container(容器),用于缺乏物理机箱的虚拟化系统。

  • deployment [ENVIRONMENT]:如果不带参数,则显示部署环境。 如果提供可选参数 ENVIRONMENT,则将部署环境更改为 ENVIRONMENTENVIRONMENT 必须是一个不包含任何控制字符的单词。 建议使用以下值之一: development(开发)、integration(集成)、staging(预发布)、production(生产)。

  • location [LOCATION]:如果不带参数,则显示系统的位置字符串。 如果提供可选参数 LOCATION,则将系统的位置字符串更改为 LOCATIONLOCATION 应该是一个人类友好的、自由格式的字符串,用于描述系统的物理位置(如果已知且适用)。 它可以像 Berlin, Germany(德国,柏林)这样通用,也可以像 Left Rack, 2nd Shelf(左侧机架,第二层)这样具体。

返回值

成功执行返回 0,失败返回一个非零错误码。

参考示例

显示当前的主机信息

hostnamectl status

使用 status 命令可以显示系统主机名及相关信息:

jay@jaylinuxlenovo:~/test$ hostnamectl statusStatic hostname: jay-homeIcon name: computer-laptopChassis: laptopDeployment: aMachine ID: 8e0c9a****************9024baeb91Boot ID: 2b0874****************661a844b6d
Operating System: Ubuntu 22.04.5 LTS              Kernel: Linux 5.15.0-131-genericArchitecture: x86-64Hardware Vendor: LenovoHardware Model: Lenovo G50-80

只查看系统主机名

hostnamectl hostname 

使用 hostname 不加参数可以单独查看主机名这一项:

jay@jaylinuxlenovo:~/test$ hostnamectl hostname 
jay-home

设置系统主机名

hostnamectl hostname new-hostname

使用 hostname 加参数可以将主机名设置成指定参数中的名称,注意该操作会需要权限:

jay@jaylinuxlenovo:~/test$ hostnamectl hostname new-hostname
==== AUTHENTICATING FOR org.freedesktop.hostname1.set-static-hostname ===
Authentication is required to set the statically configured local hostname, as well as the pretty hostname.
Authenticating as: jay
Password: 
==== AUTHENTICATION COMPLETE ===
jay@jaylinuxlenovo:~/test$ hostnamectl hostname 
new-hostname

使用 JSON 格式输出主机信息

hostnamectl status --json=pretty

加入 --json 选项就可以将信息以 JSON 格式输出。此处我使用 pretty 模式可以显示得更友好:

jay@jaylinuxlenovo:~/test$ hostnamectl status --json=pretty
{"Hostname" : "jay-home","StaticHostname" : "jay-home","PrettyHostname" : null,"DefaultHostname" : "localhost","HostnameSource" : "static","IconName" : "computer-laptop","Chassis" : "laptop","Deployment" : "a","Location" : null,"KernelName" : "Linux","KernelRelease" : "5.15.0-131-generic","KernelVersion" : "#141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025","OperatingSystemPrettyName" : "Ubuntu 22.04.5 LTS","OperatingSystemCPEName" : null,"OperatingSystemHomeURL" : "https://www.ubuntu.com/","HardwareVendor" : "Lenovo","HardwareModel" : "Lenovo G50-80","ProductUUID" : null
}

注意事项

  • 修改主机名通常需要 root 或具有 sudo 权限的用户。
  • 在某些系统上,修改主机名后可能需要重启系统或重启网络服务才能使更改完全生效。建议在修改主机名后重启系统。
  • hostnamectl 区分的三种不同的主机名分别为 pretty hostname:一个用户友好的主机名,可以包含各种特殊字符(例如:“Lennart’s Laptop”)、static hostname:用户配置的主机名(例如:“lennarts-laptop”) 以及 transient hostname:备用值,通常从网络配置中获取(例如:“node12345678”)。
  • 如果设置了有效的 static hostname ,则不会使用 transient hostname。
  • pretty hostname 对使用的字符和长度几乎没有限制,而 static hostname 和 transient hostname 则限制为通常接受的 Internet 域名字符,并且最大长度为 64 个字符。

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

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

相关文章

力扣-二叉树-101 对称二叉树

思路 分解问题为,该节点的左孩子的左子树和右孩子的右子树是不是同一棵树 && 该节点的左孩子的右字数和右孩子的左子树是不是同一课树 && 该节点的左右孩子的值相不相同 代码 class Solution {public boolean isSymmetric(TreeNode root) {// 层…

Nginx技术方案【学习记录】

文章目录 1. 需求分析1.1 应用场景1.2 实现目标 2. Nginx反向代理与实现均衡负载2.1 部署架构2.2 架构描述2.2.1 Nginx代理服务器2.2.2 API服务器与API服务器(Backup)2.2.3 nginx.conf配置文件2.2.4 测试方法 3. 高速会话缓存技术3.1 问题背景3.2 使用 R…

Ubuntu22.04怎么退出Emergency Mode(紧急模式)

1.使用nano /etc/fstab命令进入fstab文件下; 2.将挂载项首行加#注释掉,修改完之后使用ctrlX退出; 3.重启即可退出紧急模式!

Unity 红点系统

首先明确一个,即红点系统的数据结构是一颗树,并且红点的数据结构的初始化需要放在游戏的初始化中,之后再是对应的红点UI侧的注册,对应的红点UI在销毁时需要注销对红点UI的显示回调注册,但是不销毁数据侧的红点注册 - …

极新携手火山引擎,共探AI时代生态共建的破局点与增长引擎

在生成式AI与行业大模型的双重驱动下,人工智能正以前所未有的速度重构互联网产业生态。从内容创作、用户交互到商业决策,AI技术渗透至产品研发、运营的全链条,推动效率跃升与创新模式变革。然而,面对AI技术迭代的爆发期&#xff0…

【Redis】SDS结构

目录 1、背景2、SDS底层实现 1、背景 redis作为高性能的内存数据库,对字符串操作(如键、值的存储)有极高的要求。c语言原生字符串(以\0结尾的字符串数据)有一些缺点:长度计算需要遍历(O(n)时间…

STM32硬件I2C驱动OLED屏幕

本文基于STM32硬件I2C驱动SSD1306 OLED屏幕,提供完整的代码实现及关键注意事项,适用于128x32或128x64分辨率屏幕。代码通过模块化设计,支持显示字符、数字、汉字及位图,并优化了显存刷新机制。 零、完整代码 完整代码: 1&#x…

鸿蒙 PC 发布之后,想在技术上聊聊它的未来可能

最近鸿蒙 PC 刚发布完,但是发布会没公布太多技术细节,基本上一些细节都是通过自媒体渠道获取,首先可以确定的是,鸿蒙 PC 本身肯定是无法「直接」运行 win 原本的应用,但是可以支持手机上「原生鸿蒙」的应用&#xff0c…

【JAVA】抽象类与接口:设计模式中的应用对比(16)

核心知识点详细解释 Java抽象类和接口的定义、特点和使用场景 抽象类 抽象类是使用 abstract 关键字修饰的类。它不能被实例化,主要用于作为其他类的基类,提供一些通用的属性和方法。抽象类可以包含抽象方法和具体方法。抽象方法是使用 abstract 关键…

HTML 颜色全解析:从命名规则到 RGBA/HSL 值,附透明度设置与场景应用指南

一、HTML 颜色系统详解 HTML 中的颜色可以通过多种方式定义,包括颜色名称、RGB 值、十六进制值、HSL 值等,同时支持透明度调整。以下是详细分类及应用场景: 1. 颜色名称(预定义关键字) HTML 预定义了 140 个标准颜色名…

LVS负载均衡群集和keepalive

目录 一. 集群概述 1.1 集群的定义 1.2 集群的分类 1. 高可用集群 HA 2. 高性能运输群集 HPC 3.负载均衡群集 LB 4. 分布式存储集群 二. LVS概述 2.1 LVS的定义 2.2 LVS的工作原理 2.3 LVS 的三种工作模式 2.4 LVS 三种工作模式的对比 2.5 LVS 调度算法 1. 静态…

ZTE 7551N 中兴小鲜60 远航60 努比亚小牛 解锁BL 刷机包 刷root 展讯 T760 bl

ZTE 7551N 中兴小鲜60 远航60 努比亚小牛 解锁BL 刷机包 刷root 3款机型是一个型号,包通用, ro.product.system.modelZTE 7551N ro.product.system.nameCN_P720S15 #################################### # from generate-common-build-props # Th…

单片机-STM32部分:12、I2C

飞书文档https://x509p6c8to.feishu.cn/wiki/MsB7wLebki07eUkAZ1ec12W3nsh 一、简介 IIC协议,又称I2C协议,是由PHILP公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备,IIC属于半双工同步通信方式。 IIC是一种同步…

Virtualized Table 虚拟化表格 el-table-v2 表头分组 多级表头的简单示例

注意添加这个属性,会影响到有多少个层级的表头: :header-height“[50, 40]”,即后面的columnIndex 如果有fix的列CustomizedHeader会被调用多次,如果有多个层级的表头,也会被调用多次, 实际被调用次数是(fix数 1 * 表头层级数量) 以下代码均删除了JSX TS版本代码 <templ…

防御保护-----第十二章:VPN概述

文章目录 第二部分&#xff0c;数据安全第十二章&#xff1a;VPN概述VPN概述VPN分类VPN关键技术隧道技术身份认证技术加解密技术数据认证技术 数据的安全传输密码学发展史 对称加密算法 --- 传统密码算法密钥解释流加密分组加密 --- 块加密算法填充算法PKCS7算法分组模式 公钥密…

前端项目打包部署流程j

1.打包前端项目(运行build这个文件) 2.打包完成后&#xff0c;控制台如下所示:(没有报错即代表成功) 3.左侧出现dist文件夹 4.准备好我们下载的nginx(可以到官网下载一个),然后在一个没有中文路径下的文件夹里面解压。 5.在继承终端内打开我们的项目&#xff0c;找到前面打包好…

Go语言标识符

文章目录 标识符的组成规则Go语言关键字预定义标识符标识符命名惯例 特殊标识符标识符访问权限控制 在Go语言中&#xff0c;标识符(Identifier)是用来命名变量、函数、类型、常量等程序实体的名称。 标识符的组成规则 1、必须以字母或下划线(_)开头&#xff1a; 字母包括Unico…

CST软件对OPERACST软件联合仿真汽车无线充电站对人体的影响

上海又收紧了新能源车的免费上牌政策。所以年前一些伙伴和我探讨过买新能源汽车的问题&#xff0c;小伙伴们基本纠结的点是买插电还是纯电&#xff1f;我个人是很抗拒新能源车的&#xff0c;也开过坐过。个人有几个观点&#xff1a; 溢价过高&#xff0c;不保值。实际并不环保…

吴恩达机器学习笔记:多变量梯度下降

1.多维特征 之前我们探讨了单变量/特征的回归模型&#xff0c;现在我们对房价模型增加更多的特征&#xff0c;例如房间数楼层等&#xff0c;构成一个含有多个变量的模型&#xff0c;模型中的特征为 &#xff08; x 1 &#xff0c; x 2 &#xff0c; x 3... x n &#xff09; &…

【Linux Nano Vim快捷键大全】

Nano 快捷键大全 常用高频操作 功能描述快捷键组合替代按键/备注使用频率显示帮助CtrlGF1高保存文件CtrlOF3高退出编辑器CtrlXF2高剪切当前行CtrlKF9高粘贴内容CtrlUF10高搜索文本CtrlWF6高替换文本Ctrl\AltR高撤销操作AltU无中重做操作AltE无中跳转到行号Ctrl_AltG中插入文件…