当前位置: 首页 > 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;却并非易事。本文将从四…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...

rm视觉学习1-自瞄部分

首先先感谢中南大学的开源&#xff0c;提供了很全面的思路&#xff0c;减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接&#xff1a;https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架&#xff1a; 代码框架结构&#xff1a;readme有…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...