目录
1.hostnamectl:可用于查询和更改系统主机名设置,并且可以实现对主机名称的永久修改。
附录(时间信息和配置情况timedatectl相关项内容):
为啥要调整系统主机名称呢?
如果我们初学者来说,调整主机名称不过是改一个名字而已,但对于公司而言,可能有上百台主机分别掌管不同的功能,因此调整主机名称其实是很有必要的。
参数 | 解释说明 |
-H | 实现操作远程主机(用得少) |
status | 显示当前主机名设置与主机的详细信息 |
set-hostname | 设置系统主机名称 |
详解设置系统主机名称(重要):
hostnamectl set-hostname xm-xx-aliyun-db
说明(表述可能不够严谨,只是为了方便理解):
①设置主机名称的命令就是这个hostnamectl set-hostname
②xm是厦门的意思(因为博主是厦门人),这里一般是机房所在地的字母开头
③xx是机柜信息
④aliyun表示这个主机负责的业务(视情况而定)
⑤db是指这台主机在这个业务线中充当的是数据库的服务器(视情况而定)
注:在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hostname 的相关内容。
常用参数:
参数 | 作用说明 |
-s | 显示短主机名称,在第一个点处截断 |
-i | 显示网卡的IP地址信息 ,默认会包含IPv6和IPv4(所有网卡) |
-I(大写i) | 显示网卡的IP地址信息,默认只显示IPv4(所有网卡) |
hostname:查看主机名称和临时修改主机名称,只能对系统主机名称环境变量进行修改。
hostnamectl(推荐):查看主机名称和永久修改主机名称,可以对系统主机名称环境变量进行修改,以及主机名称配置文件修改
什么是系统命令提示信息符号(命令行提示符)呢?
就是[root@xxx ~]#这个东西啦,只有看见它你才可以输入命令,由此得名。而且我们可以通过一些设置,让这个提示符显示更多系统环境信息。
由于PS1本质上是一个变量,所以我们可以用echo来查看PS1的值是多少,比如说我的:
PS1配置参数 | 含义 |
\d | 代表日期,格式为 weekday month date,例如:Mon Aug 1 |
\t | 显示时间为24小时格式,例如:HH:MM:SS |
\T | 显示时间为12小时格式 |
\A | 显示时间为24小时格式,例如:HH:MM |
\h | 仅显示主机名称的短格式 |
\H | 显示主机名称的完整格式 |
\u | 显示当前登录主机用户名称 |
\w | 显示完整的路径,其中家目录会以 ~ 代替 |
\W | 利用basename获取工作目录名称,只会列出最后一个目录 |
\$ | 提示字符,如果是root,则提示符为#,普通用户则为$ |
(1)实现临时修改:
直接输入命令
export PS1='[\u@\h \W \A]\$'? --我添加了\A参数,你也可以试试其他的
(2)实现永久修改:
这需要在etc/profile文件中添加,使得PS1环境变量永久更改
首先进入编辑profile文件
vim etc/profile
输入G定位到最后一行,按o换行并进入编辑模式,输入(和临时修改一样的命令)
export PS1='[\u@\h \W \A]\$'
保存退出后,重新加载该文件
source /etc/profle
这样就是永久修改了
?注:环境变量永久更改的详细可以参考我的这篇文章!如何让别名或者环境变量永久生效
我们先来了解Linux系统的颜色是怎么输出的,我直接给出方法
\e[32;1? --此参数配置(有很多种,下面给出表格),表示进行颜色添加设置,相当于开始
\e[0m? ? --此参数配置(唯一),表示上色结束设置,相当于结束
被这两条命令夹住的信息,就会变色!举个例子
配置参数 | 颜色说明 |
\e[30;1m | 灰色 |
\e[31;1m | 红色 |
\e[32;1m | 绿色 |
\e[33;1m | 黄色 |
\e[34;1m | 蓝色 |
\e[35;1m | 粉色 |
\e[36;1m | 浅蓝色 |
\e[37;1m | 亮白色 |
了解完颜色输出后,我们就可以开始改变命令提示符的颜色啦!
与提示符信息修改一致
vim /etc/profile
在最后面添加上这几个变量(全部设置变量来表示)
千万别忘记了编辑完要重新加载一下文件
source /etc/profile
最终效果
系统时间设置作用说明:
1.可以保证系统日志相关文件的准确性
2.可以保证部分服务网络通讯的可靠性
3.可以保证系统服务自动化操作严谨性
为什么需要调节Linux系统时间呢?我们不是只需要使用服务器的功能不就好了吗?
其实是这样,假如说在公司的架构环境下有多台主机,主机之间是有网络的关联关系的,两台主机怎么才算连接呢?首先得看能不能ping通,但光有这个是没用的,因为两台主机的关联更多是需要程序上的校验,校验通过才能进行连接,其中的校验内容有一项就是这个时间。时间不对还可能造成很多问题,这里就不一一叙述了,废话不多说,接下来我们来校准时间吧!
常用参数:
参数 | 解释说明 |
status | 显示当前系统的时间信息和配置情况 |
set-time TIME | 手工调整系统时间信息 |
set-timezone ZONE | 设置系统的时区信息 |
list-timezones | 显示已知可以配置的时区信息 |
set-local-rtc BOOL | 表示是否控制本地的硬件时间信息 |
set-ntp BOOL | 表示是否开启本地的网络时间同步功能 |
注:使用命令timedatectl --help可以看到所有用法。
我们先看看此时的时区是否准确,使用命令
timedatectl status或timedatectl
看看我的,这里面的信息我们先关注Time zone这一栏,显示的明显不是我们的国区时间
我们就使用这个命令,看到Linux收录的所有可用的时区
list-timezones? ? --会显示一个文档,空格下一页,b上一页,显示格式是:大洲/地区
然后在里面选取你所需要的时区,为了演示,这里我选择上海的,复制好后我们继续操作
timedatectl set-timezone Asia/Shanghai? --设置时区时间为上海
设置好后我们重新看配置信息,发现已经调整好了
时区调整好后,我们需要继续调整时间信息,先下载一个软件
yum install -y ntpdate? ? --同步时间需要这个与之相关的命令
ntpdate ntp.aliyun.com? --和阿里云的这个服务器同步时间
但是我们总不能每次要看时间的时候都和阿里云的服务器统一一下时间,这个时候只需要我们开启自动时间同步即可(不过这一般默认是开启的)。
timedatectl set-ntp 1? --激活启用同步
如何看我们现在的时间是否已经同步了呢?还是在status里面找NTP synchoronized是否是yes
如果等了很长时间没有变为yes,我们就需要看相关服务是否开启了,输入命令
systemctl status chronyd? --时间同步服务状态
我这里显示的active说明服务开启了,如果你的服务是关闭的,也不用担心,输入命令
systemctl start chronyd? ?--开启时间同步服务
接着再重复先前的命令,确认时间是否同步就好啦。
项 | 表示信息 |
Local time | 表示当前所在时区的本地时间 |
Universal time | 表示国际标准时间信息 |
RTC time | 表示硬件环境时间信息 |
Time zone | 表示系统所在时间信息 |
NTP enabled | 表示网络时间同步功能是否启动 |
NTP synchronized | 表示网络时间服务是否正常工作 |
什么是系统字符编码呢?
因为计算机不能直接存储?字,存储的是编码。计算机只能处理?进制的数据。所以人为规定了一套“翻译”,这就是系统字符编码。
美国发布的,用1个字节(8位?进制)来表示?个字符,共可以表示2^8=256个字符。
美国的国家语言是英语,只要能表示0-9、 a-z、 A-Z、特殊符号。
每个国家为了显示本国的语言,都对ASCII码进行了扩展。用2个字节(16位?进制)来表示?个汉字,共可以表示?2^16= 65536个汉字。
中国的ANSI编码是GB2312编码(简体),对6763汉字进行编码,含600多特殊字符。另外还有GBK(简体)。
日本的ANSI编码是JIS编码。
中国台湾的ANSI编码是BIG5编码(繁体)。
对GB2312进行了扩展,?来显示罕见的、古汉语的汉字。现在已经收录了2.1万左右。并提供了1890个汉字码?位。 K的含义就是“扩展”。
?4个字节(32位?进制)来表示?个字符,想法不错,但效率太低。例如,字母A用ASCII表示的话?个字节就够,可用Unicode编码的话,得用4个字节表示,造成了空间的极大浪费。
根据字符的不同,选择其编码的长度。比如:?个字符A用1个字节表示,?个汉字用2个字节表示。?毫无疑问,开发中都用UTF-8编码,准没错。
中?能够使用的字符集两种:?第?种: UTF-8。 UTF-8是国际通用字库,里面涵盖了所有地球上所有?类的语言文字,比如阿拉伯文、汉?语……?第?种: GBK(对GB2312进行了扩展)。 gb2312 是国标,是中国的字库,里面仅涵盖了汉字和?些常用外文,比如日文片假名,和常见的符号。?字库规模: UTF-8(字很全) > gb2312(只有汉字)
UTF-8和gb2312的比较,保存大小: UTF-8(更臃肿、加载更慢) > gb2312 (更小巧,加载更快)
UTF-8:字多,有各种国家的语言,但是保存尺寸大,文件臃肿;
gb2312:字少,只?中?和少数外语和符号,但是尺寸小,文件小巧。
参数 | 解释说明 |
status | 查看显示目前的字符编码设置 |
set-locale LOCALE... | 设置系统的字符编码信息 |
list-locales | 列出系统已知的字符编码信息 |
调整系统的字符编码:
我们先看一下当前的字符编码设置是什么
localectl 或 localectl status
在切换字符集前,我们可以先查看有什么可以设置的字符集
localectl list-locales? --查看可以设置的字符集
输入/,进入搜索,输入你需要的字符集,这里我想找中文的字符集,就输入zh,在一列zh开头的字符集中找到zh_CN.utf8,然后复制这一段。
使用命令,就切换成你需要的字符集了。
localectl set-locale LANG=zh_CN.utf8