菜鸟科技网

Ubuntu如何进入命令行界面?

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

Ubuntu如何进入命令行界面?-图1
(图片来源网络,侵删)

通过系统启动选项进入命令行模式

当Ubuntu系统尚未启动图形界面时,用户可以在启动过程中选择进入命令行模式,这种方法适用于需要完全禁用图形界面或进行系统底层修复的场景。

  1. 开机进入GRUB菜单
    启动计算机时,长按Shift键(或根据主板类型快速按Esc键),进入GRUB引导菜单,GRUB是Ubuntu的默认引导加载程序,提供了多种启动选项。

  2. 选择高级选项
    在GRUB菜单中,使用方向键选择"Ubuntu"(默认启动项),然后按E键进入编辑模式,此时会看到启动参数列表,包含linuxinitrd等行。

  3. 修改启动参数
    找到以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+XF10启动系统,系统将直接进入命令行界面(字符模式)。

    Ubuntu如何进入命令行界面?-图2
    (图片来源网络,侵删)

通过系统服务切换进入命令行

如果系统已启动图形界面,用户可以通过修改系统服务或使用命令临时切换到命令行模式,无需重启。

  1. 使用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
  2. 通过telinit命令(旧版本兼容)
    对于仍使用SysVinit的旧版Ubuntu(如14.04),可通过telinit命令切换运行级别:

    sudo telinit 3  # 进入命令行模式(运行级别3)
    sudo telinit 5  # 进入图形模式(运行级别5)

通过虚拟终端(TTY)进入命令行

Ubuntu默认提供多个虚拟终端(TTY),每个终端都是独立的命令行界面,可通过快捷键快速切换。

  1. 切换虚拟终端
    在图形界面下,按Ctrl+Alt+F1Ctrl+Alt+F6(不同版本默认TTY编号可能不同)可切换到不同的虚拟终端。Ctrl+Alt+F1通常对应TTY1,Ctrl+Alt+F7返回图形界面(若使用Wayland或新版GNOME,可能为F2F3)。

  2. TTY的特点

    • 每个TTY有独立的登录会话,需输入用户名和密码。
    • 适用于图形界面崩溃时恢复系统操作。
    • 可通过who命令查看当前登录的TTY会话。

通过SSH远程进入命令行

对于服务器或无头(无显示器)的Ubuntu系统,SSH(Secure Shell)是远程管理的主要方式。

  1. 启用SSH服务
    若系统未安装SSH服务,可执行:

    sudo apt update
    sudo apt install openssh-server

    安装后,SSH服务默认启动,可通过systemctl status ssh查看状态。

  2. 客户端连接
    在本地计算机(Windows、Linux或macOS)使用SSH客户端连接:

    ssh username@ubuntu_ip_address

    ssh john@192.168.1.100,输入远程用户密码即可进入命令行。

通过容器或虚拟机进入命令行

在开发或测试环境中,Ubuntu常以容器(如Docker)或虚拟机形式运行,进入命令行的方法如下:

  1. Docker容器
    若已运行Ubuntu容器,可通过以下命令进入其命令行:

    docker exec -it container_name /bin/bash

    或使用容器ID:docker exec -it abc123 /bin/bash

  2. 虚拟机(如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(需安装)

常见问题与注意事项

  1. 无法进入GRUB菜单:若GRUB菜单一闪而过,可修改/etc/default/grub文件,将GRUB_TIMEOUT的值调大(如改为10),然后执行sudo update-grub更新配置。
  2. SSH连接失败:检查防火墙规则(sudo ufw status)是否开放22端口,或确保SSH服务正在运行(sudo systemctl start ssh)。
  3. 权限问题:普通用户执行管理命令需加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)”错误如何解决?
解答:该错误通常由认证失败导致,可尝试以下方法:

  1. 检查用户名和IP地址是否正确;
  2. 确认SSH服务运行状态(sudo systemctl status ssh);
  3. 若使用密码认证,检查/etc/ssh/sshd_configPasswordAuthentication是否为yes(默认为no,需修改后重启SSH服务:sudo systemctl restart ssh);
  4. 若使用密钥认证,确保本地私钥与服务器公钥(~/.ssh/authorized_keys)匹配。
分享:
扫描分享到社交APP
上一篇
下一篇