Linux命令行怎么切换?新手必学快速切换技巧

在Linux命令行操作中,“切换”是高频操作,涵盖用户身份、工作目录、运行模式、Shell环境等多个维度,掌握这些切换方法能显著提升操作效率,以下是详细说明。

linux命令行怎么切换

用户身份切换

Linux是多用户系统,不同用户拥有不同权限,切换用户是常见需求,主要有两种方式:susudo

su命令:切换为其他用户(包括root)

su(substitute user)用于完全切换目标用户身份,需输入目标用户密码。

  • 基础用法
    su - username  # 切换到目标用户,并加载其环境变量(推荐带-参数)

    示例:su - test 切换到用户test,输入test的密码后,当前Shell会完全切换为test的环境(家目录、PATH等均改变)。

  • 参数说明
    • -l:模拟登录Shell,加载目标用户的环境配置(如.bashrc),若省略则仅切换身份,不加载环境变量。
    • -c:执行命令后退出,不进入交互Shell。su - root -c "apt update" 以root身份执行更新命令后退出。
    • 直接su:默认切换为root,需输入root密码。

sudo命令:以其他用户身份执行命令

sudo(superuser do)允许普通用户以root(或其他用户)身份执行命令,需输入当前用户密码(而非root密码),且需在sudoers文件中配置权限(默认管理员用户在sudo组)。

  • 基础用法
    sudo command  # 以root身份执行command
    sudo -u username command  # 以指定用户身份执行command

    示例:sudo apt install vim 以root权限安装vim;sudo -u test ls /home/test 以用户test身份查看其家目录。

  • 参数说明
    -i:模拟root登录Shell,加载root环境变量,常用于需要完整root环境的场景(如sudo -i)。
    -v:刷新sudo权限缓存(默认5分钟内无需重复输入密码)。

susudo对比

特性 su sudo
密码要求 需输入目标用户密码 需输入当前用户密码
权限范围 完全切换用户身份,持续有效 临时提升权限,单条命令有效
安全性 需共享root密码,风险较高 权限精细控制,无需共享密码
适用场景 长期需要目标用户权限时 短期执行特权命令时

工作目录切换

cd(change directory)是切换工作目录的核心命令,通过路径定位目标目录。

linux命令行怎么切换

绝对路径与相对路径

  • 绝对路径:从根目录开始的完整路径,如/home/user/docs
  • 相对路径:从当前目录开始的路径,如./docs(当前目录下的docs)、../parent(上级目录下的parent)。

cd常用语法

cd /path/to/directory  # 切换到绝对路径
cd ../..               # 向上两级目录
cd ~                   # 切换到当前用户家目录(如/home/user)
cd -                   # 切换到上一次所在的目录(快速来回切换)
cd ~username           # 切换到指定用户的家目录(需权限)

示例:当前在/home/user/docs,执行cd ../..后切换到/home;执行cd -可返回/home/user/docs

目录栈管理(pushd/popd

当需要在多个目录间频繁切换时,可用目录栈暂存路径:

  • pushd /path:将目录压入栈顶并切换到该目录,栈内路径可通过dirs查看。
  • popd:弹出栈顶目录并切换到下一个目录。
    示例:

    pushd /home/user/docs  # 压入并切换
    pushd /var/log          # 压入并切换,栈内顺序:/var/log /home/user/docs
    popd                    # 弹出/var/log,切换到/home/user/docs

运行模式切换

Linux主要运行模式包括图形界面(GUI)和命令行界面(CLI),可根据需求切换。

从图形界面切换到命令行(CLI)

  • Ubuntu/Debian(使用systemd):
    sudo systemctl set-default multi-user.target  # 设置默认启动为CLI模式
    sudo systemctl isolate multi-user.target      # 立即切换到CLI模式(不重启)
  • CentOS/RHEL(使用systemd):
    sudo systemctl isolate multi-user.target      # 立即切换到CLI模式
  • 临时切换:在图形界面按Ctrl+Alt+F1~F6(F7通常为图形界面),可进入不同的文本终端TTY。

从命令行切换到图形界面

  • Ubuntu/Debian
    sudo systemctl set-default graphical.target  # 设置默认启动为GUI模式
    sudo systemctl isolate graphical.target      # 立即切换到GUI模式
  • CentOS/RHEL
    sudo systemctl isolate graphical.target      # 立即切换到GUI模式
  • 从TTY切换:按Ctrl+Alt+F7(或F8,取决于发行版)返回图形界面。

Shell环境切换

Shell是Linux命令行的解释器,默认为bash,但可切换至zsh、fish等增强型Shell。

临时切换Shell

直接输入目标Shell名称即可进入新Shell,退出后恢复原Shell:

bash      # 进入bash
zsh       # 进入zsh(需已安装)
exit      # 退出当前Shell,返回原Shell

永久切换默认Shell

  • 查看当前Shellecho $SHELL(输出如/bin/bash)。
  • 修改默认Shell:使用chsh(change shell)命令:
    chsh -s /bin/zsh  # 将默认Shell改为zsh(需输入当前用户密码)

    修改后需重新登录生效,若需安装新Shell(如zsh),可先用sudo apt install zsh(Ubuntu)或sudo yum install zsh(CentOS)安装。

    linux命令行怎么切换

虚拟终端切换

Linux支持多个虚拟终端(TTY),每个终端是独立的登录会话,适合多任务处理。

  • 切换TTY:按Ctrl+Alt+F1~Ctrl+Alt+F6(F1-F6为文本终端,F7通常为图形界面)。
  • 查看当前TTYtty命令,输出如/dev/tty1
  • 在TTY间传递信息:使用write命令,如write username tty2向用户username在TTY2的终端发送消息。

相关问答FAQs

Q1:忘记root密码怎么办?如何通过命令行切换到root权限重置?
A:可通过单用户模式重置root密码:

  1. 重启系统,在GRUB启动菜单按e进入编辑模式;
  2. 找到以linuxlinuxefi开头的行,在行尾添加init=/bin/bash(忽略ro只读参数);
  3. Ctrl+X启动,进入root Shell(无需密码);
  4. 执行mount -o rw,remount /重新挂载根目录为读写模式;
  5. passwd命令重置root密码,完成后执行exec /sbin/init重启系统。

Q2:使用cd切换目录时提示“No such file or directory”,可能的原因及解决方法?
A:常见原因及解决方案如下:

  1. 路径拼写错误:检查目录名大小写(Linux区分大小写)、特殊字符(如空格需用转义或加引号);
  2. 权限不足:若目标目录无访问权限,可用sudo cd /path(但cd本身是内置命令,无法用sudo,需用sudo ls -ld /path确认权限,或通过su -切换到有权限的用户);
  3. 软链接失效:若路径包含软链接,用ls -l /path检查链接目标是否存在,或直接切换到实际路径;
  4. 文件名含特殊字符:如my dir,需用cd "my dir"cd my dir处理。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/16902.html

(0)
酷番叔酷番叔
上一篇 7小时前
下一篇 6小时前

相关推荐

  • 如何打开命令行窗口?

    在Windows系统中,可通过搜索“命令提示符”或按Win+R输入“cmd”打开命令行窗口;在macOS或Linux中,通常通过搜索或启动“终端”应用来访问命令行界面,用于执行系统命令。

    2025年7月19日
    1900
  • 3D软件右侧命令栏突然消失怎么办?

    在3D软件中找回消失的右侧命令栏(属性编辑器/修改器等),通常方法为:检查并点击软件界面顶部菜单栏的“窗口(Window)”或“视图(View)”,在子菜单中找到对应的面板名称(如“属性编辑器”、“修改器列表”、“通道盒/层编辑器”)点击打开;或尝试通用快捷键(如Maya按Ctrl+A,3ds Max按Alt+0,Blender按N键),也可尝试重置界面布局,具体面板名称和快捷键因软件而异。

    2025年7月23日
    1900
  • 怎么执行sql命令

    SQL命令需先连接数据库,再在相应工具或编程环境中输入命令,按语法规则

    2025年8月13日
    700
  • 加班或摸鱼哪个更危险?

    基础操作:创建空文件夹Windows 系统(命令提示符或 PowerShell)打开命令行按 Win + R 输入 cmd 或 powershell,回车启动,创建文件夹 mkdir txt会在当前路径生成空文件夹 txt,若需指定路径(如 D 盘): mkdir D:\txtmacOS / Linux 系统……

    2025年7月31日
    1200
  • copy命令怎么使用

    copy命令用于复制文件或目录,基本格式为copy

    6天前
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信