Linux shell编程学习笔记55:hostname命令——获取或设置主机名,显示IP地址和DNS、NIS

0 前言
2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。
1. hostname命令 的功能、格式和选项说明
我们可以使用命令 hostname --help 来查看hostname命令的帮助信息。
[purpleendurer @ bash ~ ]hostname --help
Usage: hostname [-b] {hostname|-F file} set host name (from file)hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted namehostname display host name{yp,nis,}domainname {nisdomain|-F file} set NIS domain name (from file){yp,nis,}domainname display NIS domain namednsdomainname display dns domain namehostname -V|--version|-h|--help print info and exitProgram name:{yp,nis,}domainname=hostname -ydnsdomainname=hostname -dProgram options:-a, --alias alias names-A, --all-fqdns all long host names (FQDNs)-b, --boot set default hostname if none available-d, --domain DNS domain name-f, --fqdn, --long long host name (FQDN)-F, --file read host name or NIS domain name from given file-i, --ip-address addresses for the host name-I, --all-ip-addresses all addresses for the host-s, --short short host name-y, --yp, --nis NIS/YP domain nameDescription:This command can get or set the host name or the NIS domain name. You canalso get the DNS domain or the FQDN (fully qualified domain name).Unless you are using bind or NIS for host lookups you can change theFQDN (Fully Qualified Domain Name) and the DNS domain name (which ispart of the FQDN) in the /etc/hosts file.
[purpleendurer @ bash ~ ]
1.1 hostname命令的功能
此命令可以获取或设置主机名或 NIS 域名。
1.2 hostname命令的格式
| 命令 | 功能 |
|---|---|
| hostname [-b] {hostname|-F file} | 设置主机名称(或从文件获取) |
| hostname [-a|-A|-d|-f|-i|-I|-s|-y] | 显示格式化的名称 |
| hostname | 显示主机名称 |
| hostname -V|--version|-h|--help | 打印版本或帮助信息并退出 |
1.3 hostname命令的选项说明
以下是将内容转换为网页表格的结果:
| 选项 | 说明 | 备注 |
|---|---|---|
| -a --alias | 显示主机别名 | |
| -A --all-fqdns | 显示所有FQDN名称 | FQDN:Fully Qualified Domain Name,详见3.3 |
| -b --boot | 如果没有可用的主机名,则设置默认主机名 | |
| -d, --domain | 显示DNS域名 | DNS:Domain Name System |
| -f --fqdn --long | 显示FQDN名称 | |
| -F, --file | 从给定文件中读取主机名或NIS域名 | |
| -h --help | 打印帮助信息并退出 | |
| -i, --ip-address | 显示主机的ip地址 | |
| -I --all-ip-addresses | 显示主机所有的ip地址 | NIS:Network Information Service,详见:3.4 |
| -s --short | 显示短主机名称,在第一个点处截断 | |
| -V --version | 打印版本信息并退出 | |
| -y --yp --nis | 显示NIS域名 |
2 hostname命令使用实例
2.1 hostname : 显示主机名
[purpleendurer @ bash ~ ]hostname # 显示主机名
edu
[purpleendurer @ bash ~ ]

主机名为:edu
2.2 hostname 临时主机名 : 临时修改主机名
[purpleendurer @ bash ~ ]hostname bash # 将主机名临时必为bash
hostname: you must be root to change the host name
[purpleendurer @ bash ~ ]

修改主机名需要root权限。
2.3 hostname -a :显示主机别名
[purpleendurer @ bash ~ ]hostname -a # 显示主机别名[purpleendurer @ bash ~ ]

当前主机没有别名
2.4 hostname -A : 显示所有FQDN名称
[purpleendurer @ bash ~ ]hostname -A # 显示所有FQDN名称
edu
[purpleendurer @ bash ~ ]

2.5 hostname -b 主机名:如果没有可用的主机名,则设置默认主机名
[purpleendurer @ bash ~ ]hostname -b
edu
[purpleendurer @ bash ~ ]hostname -b bash
hostname: you must be root to change the host name
[purpleendurer @ bash ~ ]

2.6 hostname -d : 显示DNS域名
[purpleendurer @ bash ~ ]hostname -d # 显示DNS域名
[purpleendurer @ bash ~ ]
![]()
2.7 hostname -f : 显示FQDN名称
[purpleendurer @ bash ~ ]hostname -f # 显示FQDN名称
edu
[purpleendurer @ bash ~ ]

2.8 hostname -i : 显示主机的ip地址
[purpleendurer @ bash ~ ]hostname -i # 显示主机的ip地址
172.25.109.178
[purpleendurer @ bash ~ ]

当前主机的IP地址是:172.25.109.178
2.9 hostname -I : 显示主机所有的ip地址
[purpleendurer @ bash ~ ]hostname -I # 显示主机所有的ip地址
172.25.109.175
[purpleendurer @ bash ~ ]

当前主机只有一个IP地址:172.25.109.178
2.10 hostname -s :显示短主机名称,在第一个点处截断
[purpleendurer @ bash ~ ]hostname -s # 显示短主机名称,在第一个点处截断
edu
[purpleendurer @ bash ~ ]

2.11 hostname -y :显示NIS域名
[purpleendurer @ bash ~ ]hostname -y # 显示NIS域名
hostname: Local domain name not set
[purpleendurer @ bash ~ ]

3 补充说明
3.1 环境变量 HOSTNAME 也保存了当前的主机名。
[purpleendurer @ bash ~ ]echo $HOSTNAME
edu
[purpleendurer @ bash ~ ]

3.2 使用 hostname 命令设置的主机名是有效期的
在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重启之后还是原来的主机名。
如果需要永久修改主机名,需要修改 /etc/hosts 和 /etc/sysconfig/network 的相关内容并进行重启;也可以使用 hostnamectl 命令进行永久修改。
3.3 Fully Qualified Domain Name (FQDN)
Fully Qualified Domain Name (FQDN)是一种网络标识符,用于唯一地标识互联网上的主机。它是一个包含主机名和域名的完整字符串,表示一个特定的网络资源的位置。FQDN在互联网基础设施中扮演着重要的角色,它不仅提供了对网络资源的唯一标识,还有助于实现域名解析、路由和通信等网络功能。
一个标准的FQDN通常包含三个部分:主机名、二级域名和顶级域名。这三部分之间通过点号(.)连接,形成一个层次结构。以下是一个FQDN的示例:www.example.com。
- 主机名(Hostname):主机名是FQDN的第一个部分,它标识了特定网络中的主机或服务器。在示例中,主机名是www,通常用于表示网络服务器。
- 二级域名(Second-level Domain):二级域名是主机名后面的部分,提供更具体的信息或定位。在示例中,二级域名是example,它通常是组织、公司或个人的名称。
- 顶级域名(Top-level Domain):顶级域名是FQDN的最后一部分,通常表示国家、组织或类型。在示例中,顶级域名是com,代表商业类域名。
FQDN的示例不仅限于网站地址,还可以用于标识网络上的任何资源,例如邮件服务器、文件服务器或数据库服务器。这种层次结构使得FQDN成为一个可扩展、有层次的命名系统,为互联网上的资源提供了清晰的标识。
3.4 Network Information Service(NIS)
NIS 是 Network Information Service 的缩写,是一个分布式数据库,可帮助您在网络中一致地维护配置文件。它提供存储和循环服务器配置信息的大型机客户端索引服务。值得注意的是,它有助于管理 PC 网络环境中计算机之间的主机和客户端名称。
在一个大型的网域当中有多部 Linux 主机,并且每部主机都需要设定相同的账号与密码时,如果能够有一部账号主控服务器来管理网域中所有主机的账号, 当其他的主机有用户登入的需求时,才到这部主控服务器上面要求相关的账号、密码等用户信息, 如此一来,如果想要增加、修改、删除用户数据,只要到这部主控服务器上面处理即可, 这样就能够降低重复设定使用者账号的步骤了。
一般一个稍微大点儿的环境中, NIS 的组成有:一台 NIS Master Server、一台或者多台 NIS Slave Server、多台 NIS Client。这样组成了一个稍微“冗余”的结构,可以避免核心的 NIS Master 故障后,整个网络无法进行登录。
相关文章:
Linux shell编程学习笔记55:hostname命令——获取或设置主机名,显示IP地址和DNS、NIS
0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。 1. hostname命令 的功能、格式和选项说明 我们可以使用命令 hostname --help 来查看hostname命令…...
【鸟哥】Linux笔记-硬件搭配
在Linux这个系统当中,几乎所有的硬件设备文件都在/dev这个目录内。打印机与软盘呢?分别是/dev/lp0, /dev/fd0。 几个常见的设备与其在Linux当中的文件名: 如果你的机器使用的是跟网际网络供应商 (ISP) 申请使用的云端…...
代码随想三刷数组篇
代码随想三刷数组篇1 704. 二分查找题目代码27. 移除元素题目代码977.有序数组的平方题目代码209.长度最小的子数组题目代码59.螺旋矩阵II题目代码704. 二分查找 题目...
windows环境下重建oracle监听
由于某种原因导致数据库监听启动失败,需要重新创建监听。 过程如下: 第一步:修改 listenr.ora 文件 ,增加新的监听配置 LISTENER4 (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST DESKTOP-BE6GDNT)(PORT 152…...
单元测试框架Pytest的基本操作
Pytest基本操作 1. 详解1.1 命名规则:1.2 自定义查找规则:1.3 3种运行方式1.4 执行顺序2. 断言2.1 定义2.2 断言的规则3. mark3.1 mark的作用3.2 mark的标记方式3.3 注册标签名3.4 skip跳过标记4. pytest的参数化5. pytest的夹具(fixture测试夹具)5.1. 作用5.2. 夹具应用场…...
Java web应用性能分析之【java进程问题分析工具】
Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 前面大概讲了java进程问题分析流程,这里再小结一下分析工具,后面也会小结一下java进程问题分析定位。 1.分析工具 1.1.linux命令工具 参考:Java web应用性能分析之【Linux服务器性…...
02-2.3.2_2 单链表的查找
喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。 此外,《程序员必备技能》专栏和《程序员必备工具》专栏(该专栏暂未开设)日后会逐步更新,感兴趣的小伙伴可以点一下订阅、收藏、关注! 谢…...
设计模式(十四)行为型模式---访问者模式(visitor)
文章目录 访问者模式简介分派的分类什么是双分派?结构UML图具体实现UML图代码实现 优缺点 访问者模式简介 访问者模式(visitor pattern)是封装一些作用于某种数据结构中的元素的操作,它可以在不改变这个数据结构(实现…...
【Matplotlib作图-3.Ranking】50 Matplotlib Visualizations, Python实现,源码可复现
目录 03 Ranking 3.0 Prerequisite 3.1 有序条形图(Ordered Bar Chart) 3.2 棒棒糖图(Lollipop Chart) 3.3 点图(Dot Plot) 3.4 斜率图(Slope Chart) 3.5 杠铃图(Dumbbell Plot) References 03 Ranking 3.0 Prerequisite Setup.py # !pip install brewer2mpl import n…...
加入不正确的位置编码会破坏掉原本的信息吗?
会 位置编码的作用 在Transformer中,位置编码的主要作用是让模型感知输入序列中各个词的位置。因为Transformer完全依赖自注意力机制,它本身并没有序列信息,位置编码的引入就是为了补充这一点。 加法操作的合理性 位置编码通过加法操作与…...
区块链合约开发流程
区块链合约开发,尤其是以太坊智能合约开发,是一个多步骤的过程,从需求分析到部署和维护,每一步都需要仔细规划和执行。以下是详细的开发流程。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合…...
建筑企业有闲置资质怎么办?
如果建筑企业拥有闲置资质,可以考虑以下几种方式来充分利用这些资质: 1. 租赁或转让资质: 将闲置的建筑资质租赁给其他企业或个人使用,或者通过转让的方式将资质出售给有需要的企业或个人。 2. 提供咨询服务: 利用建…...
Java开发-特殊文本文件,日志技术
目录 01.特殊文件,日志技术概述 02.特殊文件:Properties属性文件 编辑Properties案例 特殊文件:XML文件 XML的作用和应用场景 读取XML文件中的数据 XML的生成 约束XML文件的编写[了解] 日志技术 日志技术的体系 编辑 编辑 Logback日志框架的概述 Logback快…...
Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践
系列文章目录 Django入门全攻略:从零搭建你的第一个Web项目Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作Django ORM实战:模型字段与元选项配置,以及链式过滤与QF查询详解Django ORM深度游ÿ…...
无人机路径规划:基于鸽群优化算法PIO的无人机三维路径规划MATLAB代码
一、无人机模型介绍 无人机三维航迹规划_无人机航迹规划-CSDN博客 二、部分代码 close all clear clc warning (off) global model global gca1 gca2 gca3 gca4 model CreateModel(); % Create search map and parameters load(BestPosition5.mat); load(ConvergenceCurve5…...
ArcGIS属性域和子类型
01 属性域 道路的车道数值是小于10的。在编辑道路的此属性时,为了限制其值在10以内,可以使用属性域。当输入数据超过10时,就会限制输入。 限制输入这个功能是Pro特有的,在ArcMap中输入超出限制的值也是合法的,需要手动…...
电子电器架构 --- 什么是域控制器?
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…...
链表头部插入结点
Linked List Inserting a node at beginning #include<stdlib.h>//为了用malloc #include<stdio.h> struct node {int data;struct node* next;//在cpp中可以只写 Node *Link;//为了表意明确,Link也经常被命名为next }; struct node* head…...
k8s集群修改apiserver的ip地址
有时候由于服务器的调整,导致ip的的变化,k8s集群的api大管家的ip变动会导致kubectl的接口都无法正常使用,这是只需要将k8s主节点配置文件的ip替换即可。 例如无需要将原来的192.168.146.202的ip替换成192.168.85.202,执行一下操作…...
C语言编程技巧:深度挖掘与高效实践
C语言编程技巧:深度挖掘与高效实践 在编程的世界里,C语言以其高效、灵活和底层控制能力强等特点,一直备受开发者们的青睐。然而,要想真正掌握C语言的精髓,并编写出高效、健壮的代码,却并非易事。本文将从四…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
