1.starship:用rust编写的跨平台、高性能的shell提示符工具。
starship最好配合Nerd字体使用。所以先在自己的本地环境安装一个Nerd Font字体,并设置你的终端使用这个字体,这里我以Tabby为例,我使用的字体是:CaskaydiaMono NFM SemiBold

Debian13安装:
apt install starship通过Debian存储库安装的不是最新版,如果要用最新版建议用官方的这个安装脚本:
curl -sS https://starship.rs/install.sh | sh其他系统的安装方式:https://starship.rs/guide/#%F0%9F%9A%80-installation
配置shell以使用starship,这里以bash为例,编辑bashrc:
nano ~/.bashrc在文件的末尾写入如下内容:
eval "$(starship init bash)"启动一个新的shell生效。(如果是远程服务器,ssh重新连接一下即可)
starship有提供一些presets(预设)可以直接拿来用,比如我目前用的是Catppuccin Powerline,执行下面的命令即可更改预设:
starship preset catppuccin-powerline -o ~/.config/starship.toml然后在这个预设的基础上增加一些自己需要的功能:
nano ~/.config/starship.toml我需要显示主机名,那么hostname相关的内容最好配置在username和directory之间:
[username]
...
[hostname]
disabled = false
ssh_only = false
style = "bg:red fg:crust"
format = '[ $hostname ]($style)'
trim_at = ".local"
[directory]
...然后docker上下文的配置,我想让它多侦测几个文件名:
[docker_context]
symbol = ""
style = "bg:sapphire"
format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)'
detect_files = ['docker-compose.yml', 'docker-compose.yaml', 'Dockerfile', 'compose.yaml', 'compose.yml']还需要在format字符串中的合适位置添加相关变量使其生效,比如hostname加在username下面:
format = """
...
$username\
$hostname\
...
$docker_context\
$conda\
...注意:starship对docker上下文的支持是默认不显示名字为default的上下文的。
执行下面的命令查看当前的docker上下文:
docker context ls一般会显示:
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock如果要让starship支持这个default上下文,可以添加一个环境变量:
nano ~/.bashrc写入如下配置:
export DOCKER_MACHINE_NAME="Default"使其生效:
source ~/.bashrc效果:

2.zoxide:rust编写的cd命令替代品,具有记忆功能。
Linux推荐使用脚本安装最新版:
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh或者用包管理器,例如Debian(使用包管理器安装的通常不是最新版):
apt install zoxide配置shell以使用zoxide,这里以bash为例,编辑bashrc:
nano ~/.bashrc在文件的末尾写入如下内容:
eval "$(zoxide init bash)"启动一个新的shell生效。(如果是远程服务器,ssh重新连接一下即可)
注意:如果同时使用了starship和zoxide,则必须将zoxide配置在bashrc的最后一行。

3.lsd:rust编写的ls命令替代品,添加了许多功能,如颜色、图标、树视图、更多格式选项等。
同starship一样,lsd也需要前提在本地环境安装nerd-font。
Debian12+安装:
apt install lsd效果:

4.batcat:具有git集成和语法高亮的cat命令替代品。
Debian11+安装:
apt install bat请注意安装后的可执行文件名不是bat而是batcat,这是由于bat名称与其他软件包有冲突。
效果:

5.FD:一个简单、快速且用户友好的“find”命令替代方案。
Debian11+安装:
apt install fd-find请注意安装后的可执行文件名不是fd而是fdfind,这是由于fd名称与其他软件包有冲突。
用法:

6.tealdeer:Rust编写的tldr实现。
tldr是社区维护的命令行工具帮助页面的集合,旨在成为传统手册页(man)的更简单、更平易近人的补充。说白了就是tldr更注重实用性。
Debian安装:
apt install tealdeer首次使用需要先更新本地缓存:
tldr --update测试一下,比如查看tar命令,传统的man手册可能是列出很多参数、选项,但tldr是直接给出一些实际使用的示例:

[可选]每次登录到shell时显示一条随机的帮助信息页面:
nano ~/.bashrc写入如下配置:
tldr --quiet $(tldr --quiet --list | shuf -n1)使其生效:
source ~/.bashrc[总结]你可以用alias自定义相关命令的别名,比如我这里设置ls和cd的别名:
nano ~/.bashrc写入如下配置:
alias ls='lsd'
alias cd='z'使其生效:
source ~/.bashrc