一、登录系统
1.控制台登录和概念:
无论是图形化登录还是文本登录,都是基于 Linux 控制台(Console)进行登录,控制台是系统的主要输入输出设备接口、是用户空间与内核交互的“物理/逻辑通道”。
物理层面:可以映射到多种物理接口上,通过虚拟终端(TTY1-TTY6)呈现。
逻辑层面:内核通过
/dev/console这个设备文件来管理它。虚拟控制台:Linux 内核把这个唯一的物理控制台,“虚拟”成了多个虚拟终端(Virtual TTY, 简称 VT)。无论是看到黑底白字,还是看到精美的 GNOME 登录框,它们本质上都是运行在某个特定的虚拟终端(VT)上的进程。
按
Ctrl+Alt+F1切换到的是 VT1 (/dev/tty1)。按
Ctrl+Alt+F2切换到的是 VT2 (/dev/tty2)。...以此类推,一共有6个控制台F1 - F6 。在现代发行版本中,字符文本控制台一般是F2 - F6,图形化控制台默认是F1。
目前openEuler没有自带的图形化桌面,可以安装第三方图形化桌面:
ukui 麒麟的桌面
yum install ukui -y 安装ukui
dde 统信的桌面
yum install dde -y 安装ukui
gnome RHEL所采用的桌面
install gnome-desktop -y
systemctl set-default graphical.target 设置系统通过图形化启动
reboot 重启验证
或 startx :在不修改系统启动目标(systemd target)的情况下,手动从命令行启动图形界面。
2.WEB登录(Cockpit)

Cockpit 不需要任何图形化桌面环境即可运行,最初由红帽推出并自带,开源,可被其他发行版本使用。
安装cockpit( 舵手)
yum install cockpit -y
systemctl enable --now cockpit.socket
查询IP地址
ip addr
关闭防火墙或者放行端口
systemctl stop firewalld
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload
通过浏览器登录 https://ip地址:9090 来进行访问
3.RHEL的订阅
只有 RHEL(及其衍生商业版)有“订阅”机制,CentOS Stream / Rocky Linux 等没有订阅机制。
RHEL 的官方软件源(cdn.redhat.com)是需要 HTTPS 证书验证的,这个证书由 subscription-manager 管理。如果你没有订阅,就没有证书,dnf 就会报错。而其他版本软件源(Repositories)是公开、免费、匿名的。
订阅的四种方式
1.图形界面的Red Hat Subscription Manager程序
2.图形界面的设置-Subscription
3.命令行subscription-manager
4.Web页面
二、修改语言
1.临时生效:
LANG=en_US.UTF-8 设置为英文的语言
LANG=zh_CN.UTF-8 设置为中文的语言
(LANG 不是命令,而是 Linux 的环境变量)
2.永久有效:
vi /etc/locale.conf
LANG=en_US.UTF-8 设置为英文的语言
LANG=zh_CN.UTF-8 设置为中文的语言
source /etc/locale.conf 当前立即生效
三、基本命令和语法
一条完整的Linux命令的组成:命令 选项 参数,空格作为分隔符
命令:执行具体行为的指令
选项:对命令的修饰、功能的补充
长格式:--选项,无法连用必须用空格分隔
短格式:-选项,可以连用(不分先后),但不是每个长格式都有对应的短格式
参数:要操作的对象
1.多个命令执行
命令分隔符
命令1 ; 命令2
顺序执行,不管前一条成功还是失败,都会执行下一条。
与列表操作符
&&:如果左边的命令列表返回状态码 0 (成功),才执行右边。
||:如果左边的命令列表返回状态码非 0 (失败),才执行右边。
2.命令提示符
[root@rhel9 ~]#
[用户名@主机名 当前所在的工作目录] 特权提示符
~ 表示处在用户的家目录,默认情况默认家目录路径是
/root和/home/<普通用户>@ 仅作为用户和主机名之间的分隔符号
特权提示符:#表示当前的用户是root用户,$表示普通用户
FQDN/主机名
命令提示符显示的主机名是短主机名,在同一局域网内,通常可以通过/etc/hosts直接解析为ip。
FQDN (Fully Qualified Domain Name,完全限定域名)的格式为主机名 + . + 域名
如web01.example.com、db-master.prod.internal 。用来跨网段通信,或在互联网或大型网络中作为全球唯一的标识。
修改主机名的方式
hostname 主机名,重启后失效hostnamectl hostname 主机名;bash修改
/etc/hostname文件nmtui图形网络配置界面修改
四、快捷操作
TAB 补全
补全的对象正常情况下应该是命令、文件、目录、选项、参数
如果补全的对象不具有唯一性,则需要双击来全部列出
Clear 命令 / Ctrl + L 清屏
Home / End 跳转到行首/行尾
Ctrl + d 正常结束输入,程序认为“数据读完了”,通常会正常执行完剩余逻辑后退出
Ctrl + C 中断/终止 程序被强行杀死,立即停止运行,通常不会保存未处理的数据
以下仅限图形化界面
Ctrl + Shift + t 快速打开一个新的同窗口标签页
Alt + 数字 多窗口时,跳转到指定标签页
Ctrl + Shift + 加号 扩大终端字体 / Ctrl + 减号 缩小终端字
Ctrl+Shift+C/V 复制/黏贴
五.认识基础命令
查看登录信息
1.who
列出现在在线的用户,whoami可以查看自己当前操作的用户
需要注意,who只能看到“本地虚拟控制台 (tty)”登录的用户。SSH和图形化界面的伪终端 (Pseudo-Terminal, PTS)是看不到的。
2.w
列出现在在线的用户、在做什么、占用等,是uptime的基础上补充了用户信息。
3.last (较新发行版本已不提供)
历史记录,看过去谁登录过、登录了多久、是否异常关机
lastb 登录失败记录
lastlog 所有用户最近一次成功登录时间
4.uptime
当前时间、系统运行时长 (Uptime)、当前登录用户数、平均负载 (Load Average: 1分钟、5分钟、15分钟)
date
查看系统的时间和日期
[root@node ~]# date
Sat Jul 27 04:04:49 PM CST 2024
星期 月份 日 当前的时间 CST 中央标准时间 年份
UTC 世界协调时间,所有其他时区都是通过相对于 UTC 的偏移量来定义的(例如:UTC+8, UTC-5)。
如果是中国服务器,CST是China Standard Time = UTC+8 (北京时间)
如果是美国服务器,CST是Central Standard Time = UTC-6date -s 按格式修改系统时间
# 格式:'YYYY-MM-DD HH:MM:SS'
date -s "2026-01-01"
date -s "2026-03-20 15:30:00"date -d 以特定格式输出描述的时间,而非当前时间
date -d "时间描述字符串" [+"输出格式"]
# 获取昨天的日期,并以特定格式输出
date -d "yesterday" +"%Y%m%d"
# 输出示例: 20260319
# 计算:2026年1月1日 之后的 100 天
date -d "2026-01-01 +100 days"
# 输出示例: 2026年 04月 11日 星期六 00:00:00 CST
# 计算:从 1970-01-01 开始往后数 19918 天的日期,此处+F%是只输出年月日的格式化参数
date +%F -d '1970-01-01 19918days'
# 如果不加输出格式,默认显示完整的时间字符串。
date -d '2024-12-12 12:12:12'
2024年 12月 12日 星期四 12:12:12 CSTcal
查看日历
id [用户名]
查看当前或其他用户的属组和SELinux上下文信息
passwd [用户名]
修改自己或其他用户的密码,只有root用户才可以给其他用户修改密码,且既不需要密码验证,又无视密码强度策略。而普通用户既要验证自己的密码,也需要符合密码强度策略。
su - 用户名
root用户无需验证,而普通用户切换需要验证密码,且无法切换到没有密码的用户
exit:从当前用户退出到上一个用户
su与su -的区别、login与bash的区别等详细内容在后续章节
pwd
打印出当前所在的工作目录
ls [路径]
列出当前或者指定目录下的内容,具体用法在后续章节
history
查看历史命令条目,具体用法在后续章节
六、查询帮助
1.man手册
man 命令
打开这个命令的完整说明文档
man -f 命令
返回命令的简介(man手册的开头),快速确认命令是做什么用的
man -k 关键字
列出含有关键词的手册条目的简介(等同于apropos命令)
# 搜索network interface
man -k network interface
ifconfig (8) - configure a network interface
ip (8) - show / manipulate routing, network devices......
netstat (8) - Print network connections, routing tables......
# (8) 表示该命令属于手册第8章,同一个名字可能同时存在于命令、函数等不同章节中man手册的章节
1. 用户命令,普通用户在 Shell 中使用的可执行程序或指令
2. 系统内核提供的函数接口
3. 系统的C标准库函数,主要针对程序员
4. 特殊设备文件
5. 文件的格式,各种配置文件的格式说明
6. 游戏,屏幕保护程序、简单游戏或好玩的命令
7. 软件包和其他的帮助杂项
8. 仅供 root/管理员使用的系统维护指令
9. Linux 内核内部的函数接口,是内核模块内部互相调用的函数
在openEuler中往往软件包和帮助内容是分开的,需要手动安装
软件包-help或者软件包-doc才能在man手册中查询到,如dnf install vsftpd-doc -yman 数字 命令
指定在手册的哪个章节检索命令
man手册的操作按键
man 并不直接显示内容,而是将格式化后的文本传递给less,键位是一致的1
查看按键说明:h
向下翻页:空格/pagedown/f ;向上翻页:pageup/b
向下或向上翻半页:d/u
向下或向上移动一行:j/k
回到开头/末尾:g/G
搜索关键词:/关键词
在关键词之间向下和向上查找 n/N
退出man手册:q
2.whatis
whatis 和 man -f 是等价的
whatis 命令并不是直接去扫描硬盘上的每一个文件,而是去查询一个预先生成的数据库。精简的 Linux 发行版中,默认没有生成这个数据库,需要手动执行 mandb 扫描系统中所有的 man 手册页。
3.whereis和which
which 用来查 “我输入这个命令时,系统到底会执行哪一个文件”(查可执行文件的绝对路径)。
whereis 用来查 “这个命令相关的所有文件都在哪”(可执行文件、源码、手册页)。
4.info和pinfo
info 是由 GNU 计划推行的文档格式,旨在取代 man 提供更详尽的说明。pinfo 是为了解决 info 命令“难用”而诞生的,它读取的依然是和info相同的内容,带有高亮显示。
因为开发者往往不会写两次文档,所以很多时候man和info得到的内容是一样的,info 版本可能保留了更多的超链接结构,而 man 版本是纯线性文本。
info: 操作逻辑对新手极不友好,因为它模仿了 Emacs 编辑器。
b (Beginning):跳转页首
e (End):跳转页尾
s (Search):搜索内容
n (Next):跳到本章的下一个节点。
p (Prev):跳到本章的上一个节点。
u (Up):回到上一级父节点(目录)。
d(Directory):跳到总目录节点
l (Last):回到你刚才看过的那个节点。
m (Menu):后接菜单项名称,可以跳转。
[ / ]:在全局文档的所有节点间顺序切换。
pinfo (浏览器风格):改成了网页浏览逻辑。
支持类似 less 的 / 全文搜索
方向键 ↑ ↓:上下移动光标。
Enter:当光标在带星号 * 的链接上时,进入该链接。
← (左方向键):就像浏览器的“后退”,回到上级或上个页面。
→ (右方向键):进入选中的链接。
5.help
查询命令的格式、支持的选项、语法
需要注意的是help和--help参数还不一样,help是Shell内置命令,显示内置命令的简要说明,而--help查询的内容来自外部程序
Usage: ls [OPTION]... [FILE]...
[] 表示是可选项,可以省去
... 表示列表,可以接多个参数或选项
大写字母 表示是必选项,不可省去
+FORMAT 表示有特定的格式,会在说明中列出
a|b|c 表示多选一
<> 表示有默认的值
[MMDDhhmm[[CC]YY][.ss]] 特殊的固定格式写法6.其他
官方的文档
红帽的知识库 access.redhat.com
欧拉的知识库 https://docs.openeuler.org
查询产品的文档
/usr/share/doc/软件包名称
第三方软件
curl cheat.sh/命令名、tldr等