alpine linux图形界面_跟光磊学Linux运维-Linux入门与基本使用

本文介绍了Linux的基本概念,包括用户管理、终端类型、内存占用对比等,并详细讲解了如何使用MobaXterm远程登录Linux系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

认识Linux用户

在安装CentOS8.2时,设置过root用户的密码,同时也创建了用户guanglei。
其中root用户是系统自带的管理员账户,也被称为超级用户,root用户接近系统完整的控制能力,对系统损害几乎有无限的能力。运维人员在生产环境使用Linux时,除非必要,否则不要用root用户登录系统,而是使用普通账号(例如guanglei)来登录。等到需要root用户权限来执行某些操作时,从普通用户切换到root用户。

跟光磊学Linux系统运维系列都会使用root用户登录,因为不是生产环境。

Linux终端

终端(Terminal)来源于Unix,早期的Unix没有图形界面,都是使用鼠标、键盘、显示器连接服务器然后通过基于字符界面的终端来登录系统

6fd1e7300c10750596a1d1d654e2c336.png


现在的终端都是软件模拟的,一台服务器可以提供多个终端来提供给多个用户使用,每个终端都有不同的类型,可以通过tty命令查看当前登录的终端类型

c778a2fbfa699dfb2fe3904a6277d38a.png

tty命令查看终端

[guanglei@centos8 ~]$ tty/dev/pts/0

/dev/pts/0表示第一个伪终端,终端的编号从0开始,然后依次递增,后面使用XShell或者Moba xterm远程连接Linux时登录的终端也是伪终端。
除了伪终端以外,Linux还提供了6个虚拟终端,可以使用Ctrl+Alt+[F1-F6]之间来切换。其中Ctrl+Alt+F2是图形终端,其他的都是基于命令的字符终端。

c2b535ccbb06d7b19e072e82bc8755a4.png

字符界面终端

[root@centos8 ~]#tty/dev/tty5

who命令可以查看当前登录的终端信息

[root@centos8 ~]# whoroot     pts/0        2020-10-04 07:58 (10.0.0.1)guanglei tty2         2020-10-04 08:03 (tty2)guanglei tty3         2020-10-04 08:05guanglei tty5         2020-10-04 08:06

而runlevel表示当前的运行级别,其中5表示图形界面,3表示字符界面

[root@centos8 ~]# runlevel # 查看当前系统的运行级别,5表示图形界面模式N 5

Linux的图形界面运行占用系统内存1.4G,可以使用free -h命令来查看内存使用情况

[root@centos8 ~]# free -h              total        used        free      shared  buff/cache   availableMem:          7.8Gi       1.4Gi       5.7Gi        14Mi       649Mi       6.1GiSwap:         4.0Gi          0B       4.0Gi

之前使用Ctrl+Alt+F5 只是临时切换到字符终端,并没有关闭系统的图形界面(使用Ctrl+Alt+F2可以切换到图形界面),如果想要从图形界面切换到字符界面(关闭图形界面),可以使用命令init 3实现

[root@centos8 ~]# init 3 # 将当前的运行模式切换为字符界面[root@centos8 ~]# runlevel #查看当前系统的运行模式,5表示切换之前的图形界面模式,3表示切换之后的字符界面模式5 3

当从图形界面模式切换到字符界面模式后,再次使用free -h 命令查看系统使用的内存情况,此时系统已经使用的内存为391MB,相比图形界面模式的1.4G少了1G左右的内存。
生产环境通常不会运行图形界面,而是使用字符界面。

[root@centos8 ~]# free -h               total        used        free      shared  buff/cache   availableMem:          7.8Gi       391Mi       6.7Gi       9.0Mi       653Mi       7.1GiSwap:         4.0Gi          0B       4.0Gi

查看Ubuntu-Server-20.04.1在字符界面下内存的使用情况

guanglei@ubuntu-server:~$ free -h              total        used        free      shared  buff/cache   availableMem:          3.8Gi       250Mi       3.2Gi       1.0Mi       341Mi       3.3GiSwap:         7.8Gi          0B       7.8Gi

查看CentOS7.8在图形界面下内存的使用情况

[root@centos7 ~]# free -h              total        used        free      shared  buff/cache   availableMem:           3.8G        492M        3.0G         14M        357M        3.1GSwap:          4.1G          0B        4.1G[root@centos7 ~]# runlevelN 5

如果想要开启图形界面,只需要使用init 5命令切换到图形界面即可。

CentOS7.8和CentOS8.2都可以使用该命令切换到图形界面,而UbuntuServer20.04.1不能切换,因为没有安装图形

[root@centos8 ~]# init 5
7da664ac3fadfd35712e0e1a7921beab.png

init 5开启图形

有些程序(例如firefox浏览器,gedit编辑器)只能在图形界面运行,无法在字符界面运行。

在终端上启动gedit编辑器和火狐浏览器

[guanglei@centos8 ~]$ gedit[guanglei@centos8 ~]$ firefox

远程登录Linux

目前在VMWare WorkStation中安装了三台虚拟机,分别是CentOS7.8,CentOS8.2,Ubuntu Server20.04.1,在实际的工作场景中通常都是使用远程连接工具来登录服务器,然后进行日常的运维工作。目前主流的远程工具有XShell,MobaXterm,但是遗憾的是它们目前(2020/10/03)都只支持Windows系统,macOS系统的同学可以使用SecureCRT。

在连接服务器之前,首先需要获取服务的IP地址,使用hostname -I命令就可以获取三台服务器的IP地址

CentOS8获取IP地址

[guanglei@centos8 ~]$ hostname -I10.0.0.100 192.168.122.1 

CentOS7.8获取IP地址

[root@centos7 ~]# hostname -I10.0.0.103 192.168.122.1

Ubuntu Server 20.04获取IP地址

guanglei@ubuntu-server:~$ hostname -I10.0.0.101 

获取到IP地址之后,在XShell所在的物理机(Windows)上打开终端,然后使用ping命令来ping刚刚所获取到的三台服务器的ip,如果ping不通是无法使用XShell连接的。

ping 10.0.0.100ping 10.0.0.101ping 10.0.0.103
15946ce964c222990560f57ce5574945.png

ping

如果网络都是通的,还要检测端口是否通畅,因为SSH服务默认开启的是22端口,检测端口可以使用telnet命令

telnet 10.0.0.100 22

这里以10.0.0.100的机器为例,如果telnet 10.0.0.100 22能够返回OpenSSH服务的版本,表示端口通畅。

89f7c64ded46afdeb56e95464300c98d.png
54dbc82219029f76b6188991ab602d49.png

返回SSH服务版本信息

如果服务器的SSH端口通畅,那么此时就可以使用XShell或者是MobaXterm来远程连接三台服务器了。

在明确三台服务器的IP以及确认了telnet连接22端口通畅时,就可以使用远程连接工具来远程登录Linux了。 因为XShell是收费,而MobaXterm有个免费版本,官网也给出了免费版和付费版两者的比较

0db345300c42e841ef05510e31fa897c.png

我这里就使用MobaXterm来演示登录Linux,在官网下载Moba Xterm时建议选择下载安装版

2c6032884bee2ecc81b472987723f75f.png

而MobaXterm的安装过程和普通软件的安装没有什么不同,默认的安装路径是C:Program Files (x86)MobatekMobaXterm,直接跟着安装程序提示安装即可。

Moba Xterm启动界面

f7a48f22d8b81dd448f7208bb5f427a0.png

在启动MobaXterm后就可以来远程登录Linux

这里以CentOS7.8为例,介绍MobaXterm如何远程登录Linux

首先创建一个远程会话

f924b038f2b710ef12047a8bcbd44fc4.png

选择SSH类型的会话

03c3db6a4739651e7e91470acd6ab03a.png

设置远程机器信息, 书签设置可以设置更改会话的名称以及会话的Icon,设置完毕后点击左下角的OK就可以登录系统

ac0ea05e7a5ca978c09d5a3ff36ad3d2.png

首次登录系统时系统会提示需要输入密码

40f0ddc8ac301bee1c19cccc657099d2.png

输入密码回车后,MobaXterm提示是否保存密码,这里点击Yes

7ac2addb3b979240dc090f9a064fb402.png

如果密码正确,则会登录成功

c6f8a9791c2a6a17ddf8ac2923578018.png

MobaXtrem登录CentOS7.8后,使用tty命令查看终端

[root@centos7 ~]# tty/dev/pts/1

MobaXterm连接三台服务器

3107c3b5f19a9b29ceaf28a89e50a5f9.png

当连接Ubunutu Server 20.04.1时,只能使用户普通用户登录,不能使用root账号登录系统

MobaXtrem提供了Remote Monitoring,可以用于监控远程服务器的硬件信息。

6c097fc59c39f317dc0544f2327519db.png

SFTP视图可以实现文件的上传和下载,默认展示的是当前登录用户的家目录

cd683becbd15301188b04c12f9d2a436.png
  1. 开启MobaXtrem右键黏贴
    如果你使用过SecureCRT(另一款远程SSH连接工具),它默认是支持鼠标左键选中文本,右键粘贴文本。MobaXtrem中也支持,不过默认是关闭的,这里可以在菜单栏settings
bdcc515e616e929913ed5ef330006ca1.png


开启MobaXtrem的右键粘贴功能

585f66f84075bba96f7ee40300b0f0a7.png
  1. 定制字体
0b5bed3885368ac46605f3c6748af252.png

Linux登录提示

在Linux登录前,默认会显示/etc目录下的issue文件内容

[root@centos8 ~]# cat /etc/issue # 查看issue文件内容SKernel  on an m

S 表示操作系统版本
Kernel on an m 表示内核版本

登录前提示别写Welcome,否则系统被黑容易产生法律纠纷。

59be11e6ee1fe34cab426e2e5a30f613.png

issue文件内容

查看Ubuntu Server 20.04.1的issue文件

guanglei@ubuntu-server:~$ cat /etc/issueUbuntu 20.04.1 LTS  l

在登录Linux成功之后,默认会显示/etc目录下motd文件内容,默认该文件是空的

[root@centos8 ~]# cat /etc/motd #查看/etc目录下的motd文件内容

如果想要登录成功之后显示相关内容,可以修改/etc/motd文件。

执行命令

cat </etc/motd                                   _oo0oo_                                 088888880                                 88" . "88                                 (| -_- |)                                  0 = /0                               ___/'---'___                             .' |     |// '.                            / |||  :  |||//                            /_ ||||| -:- |||||-                           |   |   -  /// |   |                          | _|  ''---/''  |_/ |                            .-__  '-'  __/-.  /                        ___'. .'  /--.--  '. .'___                     ."" '<  '._____/___.' >'  "".                    | | : '-  '.;' _ /';.'/ - ' : | |                       '_.   _ __ /__ _/   .-' /  /                ====='-.____'.___ _____/___.-'____.-'=====                                  '=---='               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                        佛祖保佑    iii    永不死机 EOT

然后重新开启会话,登录系统成功后会显示/etc文件的内容

afc4cb30ddacc1d79e0a0d7a5b068af5.png

Linux 主机名设置

hostname可以查看当前机器的主机名

查看UbuntuServer-20.04.1主机名

guanglei@ubuntu-server:~$ hostname # 查看UbuntuServer-20.04.1主机名ubuntu-server

查看CentOS7.8主机名

[root@centos7 ~]# hostname #查看CentOS7.8主机名centos7.ittimeline.net

查看CentOS8.2主机名

[root@centos8 ~]# hostname #查看CentOS8.2主机名centos8.ittimeline.net

Linux系统的主机名存储在/etc/hostname文件中,hostname实际上读取的就是/etc/hostname文件

查看/etc/hostname文件内容

guanglei@ubuntu-server:~$ cat /etc/hostname #查看/etc/hostname文件内容ubuntu-server

如果想要修改主机名,只要修改该文件即可,但是/etc/hostname文件只能由系统管理员修改,使用sudo nano /etc/hostname命令来修改hostname文件,其中nano是linux内置的一个文编辑器,使用起来比vim简单,建议初学者使用nano来编辑文件。

guanglei@ubuntu-server:~$ sudo nano /etc/hostname #使用nano编辑器来编辑hostname文件

nano编辑器修改hostname文件

efd32509794b099528faef727584408b.png


修改完成后按ctrl+x退出编辑器,然后按y保存修改,按回车写入/etc/hostname文件。

然后可以使用cat /etc/hostname命令查看hostname文件修改的内容

guanglei@ubuntu-server:~$ cat /etc/hostname #查看UbuntuServer20.04.1系统的主机名ubuntu-server-20.04.1.ittimeline.net

hostname文件修改完成后需要重启系统才会生效,重启系统可以使用sudo reboot命令实现。

guanglei@ubuntu-server:~$ sudo reboot # 重启系统

系统重启后在MobaXterm中按R就可以重连系统,重新登录系统后输入hostname就可以查看到对应的主机名。

guanglei@ubuntu-server-20:~$ hostname #查看UbuntuServer20.04 系统的主机名ubuntu-server-20.04.1.ittimeline.net

除了使用nano编辑器修改/etc/hostname文件然后重启系统,修改的hostname会永久生效以外(因为修改文件存储在磁盘上,会永久保存,而修改内存的数据只是临时生效),还可以使用hostnamectl set-hostname 来同时修改内存中的hostname和/etct/hostname文件。

root@ubuntu-server-20:~# hostnamectl set-hostname  ubuntu20.04.ittimeline.netroot@ubuntu-server-20:~# cat /etc/hostnameubuntu20.04.ittimeline.net

即使再次重启系统,修改的hostname也会永久生效,重启系统除了reboot命令以外,还可以使用init 6命令来重启。

root@ubuntu-server-20:~# init 6
bb6299bc3560a8a49d95b5f79bfdf77a.png

hostnamectl set-hostname查看主机名


生产环境的主机名一般使用地名-二级地名-服务名-节点名加公司域名的方式来命名主机名,例如 sh-hp-elk-node1.ittimeline.net,需要注意的是主机名不能使用下划线命名。

Ubuntu Server root用户设置密码

由于在安装UbuntuServer 20.04.1时没有办法像CentOS7.8和CentOS8.2那样设置root用户的密码,这里需要手动设置root账号的密码,
首先使用sudo passwd root命令来设置root账号的密码,然后输入当前登录普通用户guanglei的账号密码,再输入两次root账号的密码即可。

guanglei@ubuntu-server:~$ sudo passwd root # 设置root用户密码[sudo] password for guanglei:New password:Retype new password:passwd: password updated successfully
a83402bab59bbef43c32d41529d3f599.png

设置root账号的密码

root账号的密码设置成功之后,就可以使用su命令从guanglei切换到root,然后使用who命令可以查看当前系统登录的用户名

guanglei@ubuntu-server-20:~$ su root #切换到root用户Password:root@ubuntu-server-20:/home/guanglei# whoami # 查看当前登录的用户名称root

Ubuntu Server 还有一种切换root用户的方式

guanglei@ubuntu-server-20:~$ sudo -i #切换root账号[sudo] password for guanglei:root@ubuntu-server-20:~# whoamiroot

who am i 命令可以查看当前登录的终端以及时间

root@ubuntu-server-20:~# who am iguanglei pts/0        2020-10-04 02:32 (10.0.0.1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值