我对 Linux 很陌生,我想知道如何在终端中永久更改以下内容。当我设置计算机时,我使用了一个现在想要更改的名称:
在终端中,我想要更改的名称将采用以下形式:
TheNameIWantToChange@HostName ~ $
所以我的问题是,这个名字到底是什么以及我该如何更改它?谢谢!
答案1
如果我理解正确的话,您想更改您的用户名。
usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName
usermod :修改帐户
-l :更改名称
-d :更改主目录的位置(名称)
-m :将当前主目录的内容移动到新目录
例如,假设当前姓名是 albert,您想将其更改为 benny:
sudo usermod -l benny -d /home/benny -m albert
作为额外的好处,您可以使用环境变量:
NewUser="benny"
sudo usermod -l ${NewUser} -d /home/${NewUser} -m $USER
答案2
或者,如果您不想更改用户名而只是想更改在提示符处看到的内容,则可以更改 PS1 环境变量。
PS1 是 Bourne shell 用于设置终端显示方式的变量。您可以通过几种方式对其进行自定义:
对于测试,我建议只在会话中更改变量,这样如果您不喜欢这些更改,您可以轻松修复它们。
export PS1="\h:\w\$"
其中 \h 是主机名,\w 是当前工作目录,\$ 只是一个美元符号。所以你会看到 HOSTNAME:/path/to/current/dir$ 你还可以设置一些自定义消息:
export PS1="MYMESSAGE@\h:\w\$"
如果您喜欢所看到的内容,则可以通过更改 .bashrc 文件来永久更改它。为此,请使用您选择的编辑器并打开文件 ~/.bashrc
查找以下内容:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
并去掉 \u@:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
fi