继续分享一些实用的Linux工具。上一篇文章的链接
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名称与其他软件包有冲突。
用法:
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