有没有办法更改终端窗口中每个命令行前显示的名称?如果有,那么如何操作呢?如下所示,我的当前名称太长了,在每一行中占用了很多空间。
$: command not found
liam@liam-Lenovo-Legion-Y7000:~$
$: command not found
liam@liam-Lenovo-Legion-Y7000:~$
liam-Lenovo-Legion-Y7000
最简单的方法是将您的计算机名称更改为类似于liam的内容,这样提示会显示如下:liam@liam:~$
查看此重复答案以了解如何使用hostnamectl
命令更改计算机名称。
在您的情况下,要将主机名更改为liam,您可以使用以下命令:
sudo hostnamectl set-hostname liam
在不改变实际计算机名称的情况下,您可以通过编辑您的~/.bashrc
文件来删除提示符中的计算机名称。
在我们开始之前,请备份此文件:
cp ~/.bashrc ~/.bashrcbackup
nano ~/.bashrc
PS1
,最后按下ENTER。这一行应该是这样的:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
编辑这一行以删除@\h\[\033[00m\]
直到:
,但不要删除:
,因此编辑后的行应该是这样的:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u:\[\033[01;34m\]\w\[\033[00m\]\$ '
这一行应该是这样的:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
@\h
,使得编辑后的代码看起来像这样:PS1='${debian_chroot:+($debian_chroot)}\u:\w\$ '
此行应该看起来像这样:
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
@\h
,使得编辑后的行看起来像这样:PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u: \w\a\]$PS1"
编辑文件完成后,按下CTRL+o保存更改,然后按下CTRL+x退出nano。
source ~/.bashrc
liam:~$
PS1=<你想尝试的内容>
,它将立即生效 - 如果你喜欢它,你可以像上面那样编辑到.bashrc文件中,如果你不喜欢它,更改会在你关闭终端时消失。 - WillPS1
到PS4
环境变量。这个魔术在man $SHELL
的“PROMPTING”部分有解释。
code
。请编辑您的问题,并指明您是想要更改终端显示内容还是更改用户名?更改用户名可能会影响其他事项,例如您的“Home”文件夹从/home/liam
变为/home/harry
。 - user68186@
符号之后的长部分是您计算机的主机名,而不是您的用户名。例如,请参考 Ubuntu 更改计算机名称。 - steeldriverPS1='${debian_chroot:+($debian_chroot)}Harry@MyPC:\w\$ '
这将暂时将您的名称更改为Harry,将计算机名称更改为MyPC,但仅在命令提示符中显示。或者,您可以将计算机名称更改为简短而简单的东西,例如(梅赛德斯)"奔驰",而不是"liam-Lenovo-Legion-Y7000"。 - user68186$ scp ~/.bash_aliases joe@romulus:
或者$ rsync -avz ~/.bash* joe@romulus:
这些命令将匹配通配符模式的文件复制到用户ID为"joe"的romulus主机上的HOME目录中。 - JohnP