Linux chsh 命令及实际示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,你将学习如何使用 chsh 命令来更改 Linux 系统中用户账户的默认 shell。chsh 命令允许你设置登录用户账户时执行的 shell 程序。你将学习如何验证更改后的默认 shell,并确保新 shell 已正确配置。

本实验涵盖了在 Linux 环境中管理用户 shell 的基本步骤,这是用户和权限管理的重要方面。实验中的说明易于遵循,并包含实际示例,以帮助你理解 chsh 命令的用法。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"]) linux(("`Linux`")) -.-> linux/BasicFileOperationsGroup(["`Basic File Operations`"]) linux(("`Linux`")) -.-> linux/TextProcessingGroup(["`Text Processing`"]) linux(("`Linux`")) -.-> linux/UserandGroupManagementGroup(["`User and Group Management`"]) linux/BasicSystemCommandsGroup -.-> linux/echo("`Text Display`") linux/BasicFileOperationsGroup -.-> linux/cat("`File Concatenating`") linux/TextProcessingGroup -.-> linux/grep("`Pattern Searching`") linux/UserandGroupManagementGroup -.-> linux/su("`User Switching`") subgraph Lab Skills linux/echo -.-> lab-422603{{"`Linux chsh 命令及实际示例`"}} linux/cat -.-> lab-422603{{"`Linux chsh 命令及实际示例`"}} linux/grep -.-> lab-422603{{"`Linux chsh 命令及实际示例`"}} linux/su -.-> lab-422603{{"`Linux chsh 命令及实际示例`"}} end

理解 chsh 命令

在这一步中,我们将学习 chsh 命令,它用于更改 Linux 系统中用户账户的默认 shell。

chsh 命令允许你更改默认 shell,即登录用户账户时执行的程序。默认 shell 通常设置为 /bin/bash,但你可以将其更改为系统中安装的任何其他 shell,例如 /bin/zsh/bin/fish/bin/tcsh

要使用 chsh 命令,只需在终端中运行以下命令:

sudo chsh -s /bin/zsh labex

此命令将把 labex 用户的默认 shell 更改为 /bin/zsh

示例输出:

Changing shell for labex.
chsh: shell '/bin/zsh' does not exist

在此示例中,系统中不存在 /bin/zsh,因此命令将失败。请确保指定系统中已安装的有效 shell。

更改默认 shell 后,你可以通过运行以下命令来验证更改:

echo $SHELL

这将输出当前用户正在使用的 shell。

示例输出:

/bin/bash

在此示例中,默认 shell 仍然是 /bin/bash,因此更改尚未生效。你可能需要注销并重新登录才能使更改生效。

使用 chsh 更改默认 shell

在这一步中,我们将学习如何使用 chsh 命令更改用户账户的默认 shell。

首先,让我们检查 labex 用户的当前默认 shell:

sudo chsh -s /bin/bash labex
echo $SHELL

示例输出:

/bin/bash

如你所见,labex 用户的当前默认 shell 是 /bin/bash

现在,让我们将默认 shell 更改为 /bin/zsh

sudo chsh -s /bin/zsh labex

此命令将把 labex 用户的默认 shell 更改为 /bin/zsh

为了验证更改,让我们再次检查 shell:

echo $SHELL

示例输出:

/bin/zsh

输出现在显示默认 shell 已更改为 /bin/zsh

验证更改后的默认 shell

在这最后一步中,我们将验证 labex 用户的默认 shell 是否已更改为 /bin/zsh

首先,让我们检查当前的 shell:

echo $SHELL

示例输出:

/bin/zsh

如你所见,默认 shell 现在是 /bin/zsh,确认更改已成功。

你还可以在 /etc/passwd 文件中检查用户的 shell 信息:

sudo cat /etc/passwd | grep labex

示例输出:

labex:x:1000:1000:labex,,,:/home/labex:/bin/zsh

输出显示 labex 用户的 shell 已设置为 /bin/zsh

最后,你可以注销并以 labex 用户重新登录,以确保新的默认 shell 已生效。

总结

在本实验中,我们学习了 chsh 命令,它用于更改 Linux 系统中用户账户的默认 shell。我们首先了解了 chsh 命令的用途以及如何使用它来更改默认 shell。接着,我们演示了如何将 labex 用户的默认 shell 从 /bin/bash 更改为 /bin/zsh,并通过检查当前使用的 shell 来验证更改。本实验提供了实际示例和分步说明,帮助用户有效管理其用户账户的默认 shell。

Linux 命令速查表

您可能感兴趣的其他 Linux 教程