认识Linux用户

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

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

Linux终端

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

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

tty命令查看终端

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

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

字符界面终端

[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

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

ping

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

telnet 10.0.0.100 22

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

返回SSH服务版本信息

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

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

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

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

Moba Xterm启动界面

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

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

首先创建一个远程会话

选择SSH类型的会话

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

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

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

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

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

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

MobaXterm连接三台服务器

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

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

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

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

开启MobaXtrem的右键粘贴功能

  1. 定制字体

Linux登录提示

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

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

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

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

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文件的内容

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文件

修改完成后按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

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

设置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)

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

  1. ssh开启图形界面_【工具大道】ssh登录Linux服务器,并显示图形化界面

    点击关注微信公众号 "程序员的文娱情怀" 分享提纲: 1. 概述 2. mac版实现ssh登录,显示图形化 1. 概述 平时ssh登录到Linux服务器都是在命令行下进行操作的,简 ...

  2. linux图形界面历史,桌面应用|用 ROX 桌面重温 Linux 历史

    这篇文章是 Linux 桌面 24 天特别系列的一部分.如果你想来一次有趣的时光之旅,ROX 桌面非常值得一试. ROX 桌面已经不再积极开发,而它的遗留问题至今仍然存在,但即使在它活跃开发的时候,它 ...

  3. Linux图形界面与命令行界面

    文章目录 一.Linux图形界面 1.X Window System(C/S)模式 2.窗口管理器 3.显示管理器 4.Widget库 5.桌面环境 二.Linux命令行界面 1.仿真终端窗口 2.文 ...

  4. linux图形界面鼠标变成小手_扔掉鼠标,用键盘控制一切~

    如今大家使用计算机,必不可少地需要鼠标和键盘.鼠标的存在极大地方便了用户在使用个人计算机的过程中的操作,特别是windows操作系统. 但是当以linux作为个人操作系统的时候,肯定会意识到一定情况下 ...

  5. 使用GTK+和Glade快速开发Linux图形界面

    * 使用 GTK+ 和 Glade 快速开发 Linux 图形界面 ** GTK+ 简介 *** 基本概念 GTK+ 是一种用于创建图形界面的库. 嗯, gnome 用的就是它, 不过并不是说只 有在 ...

  6. alpine安装图形界面Xfce

    alpine安装图形界面Xfce,这个官方文档很细:https://wiki.alpinelinux.org/wiki/Xfce_Setup#Prerequisites 我只是做个记录,做个笔记好日后 ...

  7. Linux新手入门系列:Linux图形界面

    本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识.Web程序.mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路. 注意: ...

  8. linux图形界面基本知识(X、X11、Xfree86、Xorg、GNOME、KDE之间的关系)

    LINUX初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE,GNOME等之间是什么关系.常常混淆概念,本文以比较易于理解的方式来解释X,X11,XFREE,WM,KDE,GNO ...

  9. linux 图形界面 x x11 gnome xorg kde 之间的关系

    LINUX初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE,GNOME等之间是什么关系.常常混淆概念,本文以比较易于理解的方式来解释X,X11,XFREE,WM,KDE,GNO ...

最新文章

  1. CSS超出部分隐藏,显示滚动条
  2. windows bat 进入或跳转到其它目录命令
  3. 混凝土墙开洞_易县混凝土剪力墙切割常见问题
  4. 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
  5. mysql在test库中创建表stu_1.在mysql的test数据库中新建表,表名为student,表结构如下:...
  6. python文件和目录访问File and Directory Access
  7. jenkin环境搭建
  8. html桌面程序实例spark,【01】Spark 简单实例
  9. 斐讯k1潘多拉专版固件_斐讯路由器刷潘多拉固件+宽带并发多拨号视频教程+工具下载(K1K2)...
  10. MATLAB 神经网络函数
  11. SpringBoot接入微信公众号模板消息推送
  12. day7 局部变量和封装
  13. linux开启路由器功能
  14. 纳兰传奇人生里的情深意短
  15. aws课程_AWS DeepRacer,Reinforcement Learning 101和一门关于AI管治的小课程
  16. 一篇讲给自己听的k8s网络模型
  17. AWS Key Management Service(KMS)
  18. android4.2 拦截power键,Android 屏蔽Power键 Home键
  19. Ristretto 简介:一个高性能 GO 缓存
  20. NodeJS结束进程

热门文章

  1. I must be strong and carry on
  2. Prince2与PMP的区别
  3. hdfs java读写hdfs demo
  4. catia怎么将特征参数化_VSLAM中特征点的参数化表示
  5. [转载] 整理下java中stringBuilder和stringBuffer两个类的区别
  6. PHP array_pop()函数与示例
  7. weakhashmap_Java WeakHashMap putAll()方法与示例
  8. 窦学计算机基础期末考试,关于新生开学考计算机基础
  9. 第 5-3 课:线程池——Executors + 面试题
  10. 面试突击第 3 期 | Redis 如何实现查询附近的人?视频实战版