在CentOS操作系统中,命令行界面(CLI)是系统管理、服务器运维和自动化脚本执行的核心工具,无论是图形化界面(GUI)下的终端模拟器,还是纯文本模式(TTY)下的控制台,亦或是远程连接的SSH,掌握多种打开命令行的方法对用户至关重要,本文将详细说明CentOS系统中打开命令行的各类场景及具体操作步骤,帮助不同需求的用户快速上手。
本地环境中打开命令行的方法
本地环境指直接操作物理机或虚拟机,通过键盘、显示器与系统交互的场景,分为图形界面和纯文本模式两种情况。
图形界面(GUI)下打开终端模拟器
CentOS默认提供图形界面(如GNOME、KDE Plasma等),终端模拟器是GUI中访问命令行的窗口,功能与物理终端一致,支持多标签、分屏、复制粘贴等操作,不同桌面环境的终端名称和打开方式略有差异,具体如下:
桌面环境 | 终端名称 | 打开方式(图形界面) | 快捷键 |
---|---|---|---|
GNOME(默认) | Terminal | 点击左上角“活动”→ 搜索“Terminal”或“终端”→ 点击启动;或右键点击桌面空白处→“打开终端” | Ctrl+Alt+T |
KDE Plasma | Konsole | 点击“应用程序”→“系统”→“Konsole终端”;或右键点击任务栏→“添加应用程序”→搜索“Konsole” | Ctrl+Alt+T |
XFCE | Terminal | 点击“应用程序”→“系统工具”→“终端”;或右键点击桌面→“终端” | Ctrl+Alt+T |
MATE | MATE Terminal | 点击“应用程序”→“系统工具”→“终端”;或右键点击桌面→“打开终端” | Ctrl+Alt+T |
操作细节:
- 终端启动后,默认显示当前用户的命令行环境,可输入
whoami
查看当前用户,pwd
查看当前工作目录,ls
列出目录内容。 - 若需管理员权限,可在命令前加
sudo
(如sudo yum update
),或直接在终端中输入su -
切换至root用户(需输入root密码)。 - 支持多标签:在GNOME Terminal中,按
Ctrl+Shift+T
新建标签,Ctrl+Shift+W
关闭标签;Ctrl+Shift+N
新建窗口。
纯文本模式(TTY)下直接进入命令行
CentOS支持纯文本模式启动(无图形界面),直接通过物理键盘和显示器操作,适用于服务器、无环境GUI的虚拟机或资源受限场景,进入方式分为“临时进入”和“默认启动”两种。
(1)临时进入纯文本模式(GUI运行时)
若当前处于图形界面,可通过快捷键切换到纯文本控制台:
- 按
Ctrl+Alt+F2
~Ctrl+Alt+F6
中的任意组合(如Ctrl+Alt+F2
),可切换到TTY2~TTY6文本终端,每个终端独立运行,互不干扰。 - 切换后需输入用户名和密码登录,登录后即可使用命令行。
- 返回图形界面:按
Ctrl+Alt+F1
(默认图形终端在TTY1,不同桌面环境可能不同,如GNOME通常在TTY1)。
(2)默认启动进入纯文本模式
若希望系统开机直接进入命令行(无GUI),需修改启动目标(CentOS 7及以后使用systemd管理启动):
- 临时修改(当前会话有效):
输入systemctl set-default multi-user.target
,重启后进入纯文本模式;
恢复GUI模式:systemctl set-default graphical.target
,重启即可。 - 永久修改(配置文件):
编辑/etc/inittab
文件(CentOS 7及以后此文件可能为空,需通过systemd管理),或直接修改GRUB配置:
打开/etc/default/grub
,找到GRUB_CMDLINE_LINUX_DEFAULT
行,修改为GRUB_CMDLINE_LINUX_DEFAULT="text"
,然后运行grub2-mkconfig -o /boot/grub2/grub.cfg
更新GRUB,重启系统即可。
远程连接命令行的方法
当无法直接操作本地主机(如服务器远程管理)时,可通过网络协议连接到CentOS的命令行,常用SSH(安全)和Telnet(不安全,已淘汰)两种方式,推荐SSH。
SSH(Secure Shell)连接
SSH是加密的网络协议,支持安全远程登录和文件传输,是Linux系统远程管理的标准工具。
(1)服务端配置(CentOS需安装SSH服务)
- 安装OpenSSH服务器:
sudo yum install openssh-server
- 启动并设置开机自启:
sudo systemctl start sshd
&&sudo systemctl enable sshd
- 检查服务状态:
sudo systemctl status sshd
(显示“active (running)”即成功) - 防火墙开放22端口(SSH默认端口):
sudo firewall-cmd --permanent --add-service=ssh
&&sudo firewall-cmd --reload
(2)客户端连接(本地操作)
- Linux/macOS本地终端:使用
ssh
命令,格式为ssh [用户名]@[服务器IP]
,例如ssh root@192.168.1.100
(首次连接会提示“Are you sure you want to continue connecting?”,输入yes
即可)。 - Windows本地:可使用PuTTY(需下载安装)、Windows 10/11内置的OpenSSH客户端(在“设置”→“应用”→“可选功能”中安装),打开PuTTY,输入服务器IP和端口(22),选择“SSH”协议,点击“Open”,输入用户名和密码登录。
- SSH密钥认证(更安全):
本地生成密钥对:ssh-keygen -t rsa -b 4096
(按提示回车即可,密钥默认存于~/.ssh/id_rsa
)。
将公钥上传至服务器:ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
(输入服务器密码后,公钥会追加到服务器的~/.ssh/authorized_keys
)。
后续连接无需密码,直接ssh root@192.168.1.100
即可登录。
Telnet连接(不推荐)
Telnet是明文传输协议,密码和命令易被窃听,仅建议在测试网络连通性时临时使用(生产环境禁用)。
- 服务端安装:
sudo yum install telnet-server
,启动sudo systemctl start telnet.socket
,防火墙开放23端口。 - 客户端连接:Linux/macOS用
telnet [IP] [端口]
(如telnet 192.168.1.100 23
),Windows用Telnet客户端(需开启“Windows功能”)。 - 风险提示:Telnet所有数据(包括密码)均明文传输,建议仅用于内网测试,正式场景务必使用SSH。
注意事项
- 权限管理:普通用户默认无
sudo
权限,需通过visudo
编辑/etc/sudoers
文件添加(如username ALL=(ALL) ALL
);root权限操作需谨慎,避免误删系统文件。 - 网络连接:远程连接前确保服务器IP、端口正确,防火墙和SELinux(
sudo getenforce
检查,若为Enforcing需配置策略)允许访问。 - 命令基础:新手需掌握基础命令,如
cd
(切换目录)、ls
(列表)、cp
(复制)、mv
(移动/重命名)、rm
(删除)、mkdir
(创建目录)、touch
(创建文件)等,可通过man [命令]
查看帮助(如man ls
)。
相关问答FAQs
Q1:CentOS 7/8如何默认进入命令行模式,且开机不启动图形界面?
A:通过systemd修改默认启动目标即可,执行以下命令:
# 设置默认进入多用户模式(纯文本命令行) sudo systemctl set-default multi-user.target # 若需恢复图形界面,执行: # sudo systemctl set-default graphical.target
执行后重启系统(reboot
),将直接进入命令行登录界面,不再加载图形界面。
Q2:SSH连接CentOS服务器时提示“Permission denied (publickey,password)”怎么办?
A:通常是由于认证方式配置问题导致,可按以下步骤排查:
- 确认密码认证是否开启:检查SSH服务配置文件
/etc/ssh/sshd_config
,确保PasswordAuthentication yes
(若禁用,需改为yes
并重启SSH服务:sudo systemctl restart sshd
)。 - 检查用户名和密码:确认输入的用户名存在且密码正确,可尝试
su - [用户名]
切换用户验证密码。 - 检查密钥认证权限:若使用密钥认证,确保服务器
~/.ssh
目录权限为700(chmod 700 ~/.ssh
),authorized_keys
文件权限为600(chmod 600 ~/.ssh/authorized_keys
)。 - 检查SELinux和防火墙:确认SELinux未阻止SSH连接(
sudo grep ssh /var/log/audit/audit.log
查看日志),防火墙开放22端口(sudo firewall-cmd --list-ports
检查)。
通过以上步骤可解决大部分SSH认证失败问题。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17048.html