Total Pageviews

Saturday, 27 September 2025

一些实用的Linux工具

 

我主要用Debian,这里我就拿Debian简单介绍下。

实际上其他的Linux发行版也都能用,甚至有些还是跨平台的,无非就是安装方法可能大同小异。

每个工具我也只简单说下基本的用法,更多用法可以参考工具自带的help命令或者man手册,这篇文章主要是分享信息,告诉大伙有这些优秀的工具=-=

1.inxi:一个功能强大、齐全的Linux命令行系统信息查看工具。它以简洁易读的格式提供系统硬件等信息的全面概述。

安装:

apt install inxi

使用下面的命令即可列出系统的全部概览信息:

inxi -e
 

2.axel:一个轻量级的多线程命令行下载工具,下载大文件比wget、curl等工具要快很多。

安装:

apt install axel

使用:

axel https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-13.1.0-amd64-DVD-1.iso

 

3.btop++:一个替代top、htop的资源监视器。

安装:

apt install btop

使用:

btop
 

4.duf:磁盘使用/空闲实用程序 – 更好的“df”替代品。

安装Debian (12 and later):

apt install duf

使用:

duf

5. RustNet:一个用Rust构建的跨平台网络监控工具,支持深度数据包检测(DPI)。

安装依赖:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
apt install libpcap-dev

安装RustNet:

cargo install rustnet-monitor
ln -s ~/.cargo/bin/rustnet /usr/local/bin/rustnet

使用:

rustnet
6. command-not-found这个工具提供了一个实用的功能,当你输入系统中未找到的命令时,它会建议你安装哪个软件包。如果你之前一直用Ubuntu系统的话应该不陌生,Ubuntu直接就自带了这个功能。

安装:

apt install command-not-found 

apt update 

update-command-not-found

之后你还需要启动一个新的bash会话(打开一个新的终端或ssh连接)如果还不生效,重启系统:

systemctl reboot

测试效果,当我输入一个系统内不存在的并且错误的命令,它不但可以指出你的命令是错的,还能告诉你哪个软件包里有这个命令.

 

 

继续分享一些实用的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

效果:lsd

4. FD:一个简单、快速且用户友好的“find”命令替代方案。

Debian11+安装:

apt install fd-find

请注意安装后的可执行文件名不是fd而是fdfind,这是由于fd名称与其他软件包有冲突。

用法:fdfind -h

5. tealdeer:Rust编写的tldr实现。

tldr是社区维护的命令行工具帮助页面的集合,旨在成为传统手册页(man)的更简单、更平易近人的补充。说白了就是tldr更注重实用性。

Debian安装:

apt install tealdeer

首次使用需要先更新本地缓存:

tldr --update

测试一下,比如查看tar命令,传统的man手册可能是列出很多参数、选项,但tldr是直接给出一些实际使用的示例:tldr tar

[可选]每次登录到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

 

 

 

 

No comments:

Post a Comment