当前位置:首页>Linux>科研服务器上我常用的 Linux 小工具

科研服务器上我常用的 Linux 小工具

  • 2026-09-08 17:51:32
科研服务器上我常用的 Linux 小工具

长期在服务器上做模拟和数据处理,会发现效率不只取决于 CPU、内存和并行核数,还取决于你能不能快速找到文件、看懂日志、比较结果、监控资源。

这篇整理一下我在科研服务器上常用的一些 Linux 小工具。它们大多可以通过 conda、系统包管理器或 cargo 安装,用起来比传统命令更顺手。

Summary

这不是“必须安装清单”,而是适合科研服务器工作流的效率工具清单。核心目标是:找文件更快,看日志更舒服,排查问题更直观。

1. eza:更好看的 ls

eza 可以理解为 ls 的现代替代品,颜色、图标、文件信息都更清晰。

常用命令:

  • 1
  • 2
  • 3
ezaeza -laheza --tree -L 2

适合用来看项目目录结构,尤其是模型输出目录、脚本目录、实验目录。

2. autojump / zoxide:快速跳转路径

服务器路径层级经常很深,比如:

  • 1
/WORK/user/project/cmaq/2020_case/CCTM/scripts

autojump 和 zoxide 可以根据访问历史快速跳转目录。

例如:

  • 1
  • 2
j cctmz cctm
Tip

如果你经常在多个项目、多个模式目录之间切换,这类工具能明显减少 cd ../../.. 的次数。

3. fzf:模糊搜索文件

fzf 是交互式模糊搜索工具,可以用来找文件、找历史命令、筛选结果。

常见用法:

  • 1
  • 2
find . -type f | fzfhistory | fzf

配合 bat 预览文件更好用:

  • 1
alias fzf='fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"'

4. colordiff:更清楚地比较文件

模型配置经常要比较两个 namelist.input、两个脚本或两个 Registry 文件。

colordiff 会给 diff 结果加颜色。

  • 1
  • 2
colordiff file1 file2diff -u file1 file2 | colordiff

5. btop:系统资源监控

btop 可以直观看到 CPU、内存、进程、磁盘和网络状态。

适合检查:

场景
关注点
模式跑得慢
CPU 是否满载
程序被杀
内存是否爆掉
读写很慢
磁盘 IO 是否拥塞
多用户服务器
是否有人占用大量资源

6. yazi:交互式文件管理器

yazi 是终端里的文件管理器,适合浏览目录、预览文件、快速移动和删除。

如果你习惯图形界面的文件管理器,但又必须在服务器终端里工作,可以试试它。

7. ripgrep:快速搜索文件内容

ripgrep 命令是 rg,可以看作更快、更现代的 grep。

例如在项目里查某个变量:

  • 1
  • 2
  • 3
rg "chem_opt"rg "auxhist13" .rg -n "GRID_NAME" CCTM/scripts
Note

查模式脚本、配置文件、报错日志时,rg 通常比 grep -R 更快、更舒服。

8. dust / ncdu:磁盘空间分析

模式输出文件很容易把磁盘占满。dust 可以更直观地看目录占用。

  • 1
  • 2
dustdust -d 2

类似工具还有 ncdu,适合交互式清理大文件。

9. tmux:多窗口协作和断线保护

tmux 是服务器工作流里的核心工具之一。

它最重要的作用不是“分屏”,而是:

  • SSH 断开后任务仍然保留;
  • 一个窗口看日志,一个窗口改脚本,一个窗口查资源;
  • 长时间任务可以放在 session 里持续跟踪。

常用命令:

  • 1
  • 2
  • 3
tmux new -s worktmux attach -t worktmux ls

10. bat:更好看的 cat

bat 是 cat 的增强版,支持语法高亮和行号。

  • 1
  • 2
bat namelist.inputbat run_cctm.csh

还可以替代 tail -f 查看日志:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
batfollow() {if [[ $# -lt 1 ]]; thenecho"Usage: batfollow <file> [bat-language]" >&2return 1filocal file="$1"local lang="$2"if [[ -n $lang ]]; thentail -f -- "$file" | bat --paging=never -l "$lang"elsetail -f -- "$file" | bat --paging=never --file-name "$file"fi}

效果类似:

11. starship:更美观的命令行提示符

starship 可以让 shell 提示符显示 Git 分支、Python 环境、当前目录等信息。

它对 zsh/fish 等 shell 支持较好。如果服务器默认是 bash,配置体验可能不如 zsh。

总结

如果只选最推荐的几个,我会按这个顺序装:

优先级
工具
解决的问题
1
rg
快速查配置和日志
2
tmux
断线保护和多窗口工作
3
bat
更舒服地看脚本和日志
4
fzf
快速找文件和历史命令
5
btop
监控服务器资源
6
dust
 / ncdu
找出占空间的大文件

这些工具不改变科研问题本身,但能显著减少重复劳动。对长期在服务器上跑 WRF、CMAQ、WRF-Chem 或机器学习实验的人来说,很值得配置一次。

最新文章

随机文章