当前位置: 首页 > news >正文

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深度游&#xff…...

无人机路径规划:基于鸽群优化算法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&#xff1b;//为了表意明确&#xff0c;Link也经常被命名为next }; struct node* head…...

k8s集群修改apiserver的ip地址

有时候由于服务器的调整&#xff0c;导致ip的的变化&#xff0c;k8s集群的api大管家的ip变动会导致kubectl的接口都无法正常使用&#xff0c;这是只需要将k8s主节点配置文件的ip替换即可。 例如无需要将原来的192.168.146.202的ip替换成192.168.85.202&#xff0c;执行一下操作…...

C语言编程技巧:深度挖掘与高效实践

C语言编程技巧&#xff1a;深度挖掘与高效实践 在编程的世界里&#xff0c;C语言以其高效、灵活和底层控制能力强等特点&#xff0c;一直备受开发者们的青睐。然而&#xff0c;要想真正掌握C语言的精髓&#xff0c;并编写出高效、健壮的代码&#xff0c;却并非易事。本文将从四…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...