explaingit

aristocratos/bashtop

11,103ShellAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

Bashtop is a terminal resource monitor showing live CPU, memory, disk, network, and process data in a visual text-based dashboard, written in Bash.

Mindmap

mindmap
  root((bashtop))
    What it monitors
      CPU usage
      Memory usage
      Disk read and write
      Network activity
      Process list
    Interface
      Keyboard driven
      Filter and sort
      Kill processes
      Built-in settings menu
    Platforms
      Linux
      macOS
      FreeBSD
    Dependencies
      Bash built-in
      Python and psutil optional
    Successor
      btop++ in C++
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Monitor CPU and memory usage in a terminal on a remote Linux or macOS server

USE CASE 2

Watch live network activity and disk I/O while running load tests

USE CASE 3

Find and kill resource-heavy processes from a keyboard-driven terminal interface

USE CASE 4

Set up a lightweight system monitoring view on a headless server without a GUI

Tech stack

BashShellPythonpsutil

Getting it running

Difficulty · easy Time to first run · 5min

macOS and FreeBSD require Python 3 and psutil, CPU temperature readings need optional lm-sensors on Linux or osx-cpu-temp on macOS.

In plain English

Bashtop is a terminal-based resource monitor for Linux, macOS, and FreeBSD. It runs inside a terminal window and shows live information about what your computer is doing: CPU usage, memory usage, disk read and write speeds, network activity, and a list of running processes. The display uses colored graphs and charts drawn with text characters to give a visual overview at a glance. The interface is keyboard-driven. You can scroll through the process list, select a process to see detailed information about it, filter processes by name, sort them by different criteria like CPU or memory usage, and send signals to stop or kill a selected process. A built-in menu lets you change settings without manually editing configuration files. Bashtop was written entirely in Bash, a scripting language that comes pre-installed on most Unix-like systems. On macOS and FreeBSD, it also requires Python 3 and a library called psutil to gather system statistics. On Linux it can collect data through the operating system's /proc file system directly, making Python optional for that platform. Optional tools like lm-sensors on Linux or osx-cpu-temp on macOS add CPU temperature readings. The project has a successor called btop++ (also by the same author), which is a rewrite in C++ that is faster and more actively maintained. The README points users toward btop++ as the recommended version going forward, while bashtop itself remains available. Bashtop supports themes for changing its color scheme and includes a built-in downloader for fetching additional themes from the repository. It is available in the package managers for several Linux distributions including Arch, Debian, Ubuntu, and Guix, as well as via FreeBSD ports.

Copy-paste prompts

Prompt 1
How do I install bashtop on Ubuntu and launch it to start monitoring system resources?
Prompt 2
How do I filter the process list by name and send a kill signal to a process using bashtop?
Prompt 3
How do I download and apply a custom color theme in bashtop?
Prompt 4
What are the differences between bashtop and btop++ and is it worth migrating to btop++?
Open on GitHub → Explain another repo

← aristocratos on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.