静看光阴荏苒
不管不顾不问不说也不念

分享一些实用的Linux工具(2)

继续分享一些实用的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名称与其他软件包有冲突。

用法:

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
赞(0)
未经允许不得转载:荒岛 » 分享一些实用的Linux工具(2)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享创造快乐

广告合作资源投稿