在Ubuntu系统中,进入命令行界面是系统管理和日常操作的重要技能,无论是服务器环境还是桌面系统,命令行都能提供更高效、更灵活的操作方式,Ubuntu作为基于Linux的操作系统,提供了多种进入命令行界面的方法,具体操作取决于当前系统的运行状态(如是否已启动图形界面)和用户权限(普通用户或root用户),以下将详细介绍不同场景下进入Ubuntu命令行界面的方法、相关配置及注意事项。

通过系统启动选项进入命令行模式
当Ubuntu系统尚未启动图形界面时,用户可以在启动过程中选择进入命令行模式,这种方法适用于需要完全禁用图形界面或进行系统底层修复的场景。
-
开机进入GRUB菜单
启动计算机时,长按Shift键(或根据主板类型快速按Esc键),进入GRUB引导菜单,GRUB是Ubuntu的默认引导加载程序,提供了多种启动选项。 -
选择高级选项
在GRUB菜单中,使用方向键选择"Ubuntu"(默认启动项),然后按E键进入编辑模式,此时会看到启动参数列表,包含linux、initrd等行。 -
修改启动参数
找到以linux开头的行,末尾通常包含ro quiet splash参数,将ro改为rw(以可读写模式挂载根文件系统),并在行尾添加systemd.unit=multi-user.target(对于Ubuntu 18.04及更高版本)或text(对于旧版本),修改后的参数类似:
linux /boot/vmlinuz-5.15.0-52-generic root=UUID=xxx rw quiet splash systemd.unit=multi-user.target
完成后按Ctrl+X或F10启动系统,系统将直接进入命令行界面(字符模式)。
(图片来源网络,侵删)
通过系统服务切换进入命令行
如果系统已启动图形界面,用户可以通过修改系统服务或使用命令临时切换到命令行模式,无需重启。
-
使用
systemd目标切换
Ubuntu 16.04及更高版本使用systemd作为初始化系统,可通过切换target(目标单元)来改变系统运行级别。- 临时切换:在终端中执行以下命令,系统将注销当前用户并进入命令行:
sudo systemctl isolate multi-user.target
- 永久禁用图形界面:若需默认启动进入命令行,可禁用图形目标并启用多用户目标:
sudo systemctl set-default multi-user.target sudo systemctl disable gdm3 # gdm3是GNOME显示管理器,其他桌面环境可能为lightdm、sddm等
恢复图形界面启动则执行:
sudo systemctl set-default graphical.target sudo systemctl enable gdm3
- 临时切换:在终端中执行以下命令,系统将注销当前用户并进入命令行:
-
通过
telinit命令(旧版本兼容)
对于仍使用SysVinit的旧版Ubuntu(如14.04),可通过telinit命令切换运行级别:sudo telinit 3 # 进入命令行模式(运行级别3) sudo telinit 5 # 进入图形模式(运行级别5)
通过虚拟终端(TTY)进入命令行
Ubuntu默认提供多个虚拟终端(TTY),每个终端都是独立的命令行界面,可通过快捷键快速切换。
-
切换虚拟终端
在图形界面下,按Ctrl+Alt+F1至Ctrl+Alt+F6(不同版本默认TTY编号可能不同)可切换到不同的虚拟终端。Ctrl+Alt+F1通常对应TTY1,Ctrl+Alt+F7返回图形界面(若使用Wayland或新版GNOME,可能为F2或F3)。 -
TTY的特点
- 每个TTY有独立的登录会话,需输入用户名和密码。
- 适用于图形界面崩溃时恢复系统操作。
- 可通过
who命令查看当前登录的TTY会话。
通过SSH远程进入命令行
对于服务器或无头(无显示器)的Ubuntu系统,SSH(Secure Shell)是远程管理的主要方式。
-
启用SSH服务
若系统未安装SSH服务,可执行:sudo apt update sudo apt install openssh-server
安装后,SSH服务默认启动,可通过
systemctl status ssh查看状态。 -
客户端连接
在本地计算机(Windows、Linux或macOS)使用SSH客户端连接:ssh username@ubuntu_ip_address
ssh john@192.168.1.100,输入远程用户密码即可进入命令行。
通过容器或虚拟机进入命令行
在开发或测试环境中,Ubuntu常以容器(如Docker)或虚拟机形式运行,进入命令行的方法如下:
-
Docker容器
若已运行Ubuntu容器,可通过以下命令进入其命令行:docker exec -it container_name /bin/bash
或使用容器ID:
docker exec -it abc123 /bin/bash。 -
虚拟机(如VirtualBox、VMware)
通过虚拟机控制台直接操作,或使用SSH连接虚拟机的IP地址(需先配置网络)。
命令行界面的基本操作
进入命令行后,掌握基本操作命令是高效管理系统的前提:
| 命令 | 功能描述 | 示例 |
|---|---|---|
ls |
列出当前目录文件 | ls -l(显示详细信息) |
cd |
切换目录 | cd /home(进入home目录) |
pwd |
显示当前工作目录 | pwd |
cp |
复制文件/目录 | cp file1.txt file2.txt |
mv |
移动/重命名文件/目录 | mv old.txt new.txt |
rm |
删除文件/目录 | rm -rf dir(强制删除) |
nano/vim |
文本编辑器 | nano test.txt |
sudo |
以超级用户权限执行命令 | sudo apt update |
apt |
包管理工具(Ubuntu 16.04+) | apt install package |
ps |
查看进程状态 | ps aux |
top/htop |
实时监控系统进程 | htop(需安装) |
常见问题与注意事项
- 无法进入GRUB菜单:若GRUB菜单一闪而过,可修改
/etc/default/grub文件,将GRUB_TIMEOUT的值调大(如改为10),然后执行sudo update-grub更新配置。 - SSH连接失败:检查防火墙规则(
sudo ufw status)是否开放22端口,或确保SSH服务正在运行(sudo systemctl start ssh)。 - 权限问题:普通用户执行管理命令需加
sudo,若提示权限不足,可检查用户是否在sudo组(groups username)。
相关问答FAQs
问题1:Ubuntu 22.04中,如何从图形界面快速切换到命令行而不重启系统?
解答:在终端中执行sudo systemctl isolate multi-user.target命令,系统将立即注销当前用户并进入命令行模式,若需返回图形界面,执行sudo systemctl isolate graphical.target即可。
问题2:通过SSH连接Ubuntu命令行时,提示“Permission denied (publickey,password)”错误如何解决?
解答:该错误通常由认证失败导致,可尝试以下方法:
- 检查用户名和IP地址是否正确;
- 确认SSH服务运行状态(
sudo systemctl status ssh); - 若使用密码认证,检查
/etc/ssh/sshd_config中PasswordAuthentication是否为yes(默认为no,需修改后重启SSH服务:sudo systemctl restart ssh); - 若使用密钥认证,确保本地私钥与服务器公钥(
~/.ssh/authorized_keys)匹配。
