Linux chsh 命令及实际示例

LinuxBeginner
立即练习

简介

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

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

Linux 命令速查表

理解 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 命令速查表