Murad Library
ARCHIVE

ARCHIVE

200 essential Linux programs everyone should know

Murad Library
Date
Reading
17 min read

200 essential Linux programs everyone should know

This is a practical, opinionated list. “Essential” here means useful across real Linux desktops, servers, development machines, homelabs, and daily terminal work — not that every person must install all 200 tools. Install what matches your workflow.

Selection criteria

  • Actively used in common Linux distributions or widely available through repositories, Flatpak, Snap, AppImage, or upstream packages.
  • Useful for at least one serious category: terminal work, development, security, backups, networking, desktop productivity, media, containers, or system administration.
  • Preference for mature, documented, cross-distro, open-source tools when possible.

Core / Shell

#ProgramWhy it matters
1bashGNU shell; essential for scripting, automation, and daily terminal work.
2zshPowerful interactive shell, often paired with Oh My Zsh, Starship, and autosuggestions.
3fishFriendly shell with smart autocomplete and a great out-of-the-box experience.
4coreutilsBasic command collection such as cp, mv, ls, cat, sort, uniq, and more.
5util-linuxFundamental tools for disks, login, mounting, namespaces, and basic administration.
6findutilsTools like find and xargs for locating files and automating operations.
7grepSearches text in files and pipelines; basic, fast, and universal.
8sedStream editor indispensable for text substitutions and transformations.
9gawkPowerful column-oriented text processor for logs, simple CSV files, and quick reports.
10lessEssential pager for reading large files and long terminal outputs.
11man-dbLocal manual page system; still the fastest documentation for commands.
12tldrShort explanations and practical examples for common commands.
13whichShows which executable will be called by the shell.
14fileDetects file types from content, not just extensions.
15treeDisplays directories as a tree; simple and very useful.

Files / Sync

#ProgramWhy it matters
16rsyncEfficient file sync and copying, locally or remotely.
17rcloneSyncs files with cloud services and remote storage backends.

Network / Web

#ProgramWhy it matters
18curlEssential HTTP/FTP/etc. client for APIs, downloads, and network debugging.
19wgetClassic downloader for files, pages, and simple mirrors.
20aria2CLI download manager with HTTP, FTP, BitTorrent, and metalink support.

Modern CLI

#ProgramWhy it matters
21ripgrepExtremely fast recursive search that respects .gitignore by default.
22fdModern, user-friendly alternative to find for locating files.
23batCat alternative with syntax highlighting, paging, and Git integration.
24ezaModern ls replacement with icons, Git status, and more readable output.
25fzfInteractive fuzzy finder for files, history, processes, and any list.
26zoxideSmart directory jumping based on usage frequency.
27atuinSyncable, searchable shell history much better than default Ctrl+R.
28starshipFast, configurable prompt for multiple shells.
29dufModern view of disk and filesystem usage.
30dustDisk usage analyzer more readable than du.
31ncduInteractive terminal disk usage analyzer.
32procsModern alternative to ps with more readable output.

Monitoring

#ProgramWhy it matters
33btopBeautiful, complete system monitor for CPU, memory, network, and processes.
34htopInteractive process monitor, still indispensable.
35glancesBroad system monitoring with web mode and API.

Development

#ProgramWhy it matters
36deltaGit diff viewer with syntax highlighting and better navigation.
37gitDistributed version control; mandatory for modern development.
38ghOfficial GitHub CLI for issues, PRs, releases, and repos.
39git-lfsGit support for large files.
40makeClassic build and task automation.
41cmakeCross-platform build system widely used in C/C++.
42gccGNU compiler for C/C++ and related ecosystem.
43clangModern LLVM compiler with excellent tooling and diagnostics.
44gdbClassic, powerful debugger for native programs.
45Python 3Essential language for scripts, automation, AI, and web.
46pipxInstalls isolated Python apps without polluting the system.
47uvModern, fast Python manager for projects and dependencies.
48Node.jsJavaScript runtime for tooling, web, and automation.
49npmDefault package manager for Node.js.
50pnpmFast, disk-efficient Node package manager.
51BunModern, fast JavaScript runtime/toolkit.
52DenoTypeScript/JavaScript runtime secure by default.
53GoExcellent language for CLIs, servers, and static tooling.
54RustModern language for fast, safe, low-level software.
55Java OpenJDKOpen Java runtime and JDK for apps and servers.
56MavenBuild and dependency management for Java projects.
57GradleModern build tool for Java/Kotlin/Android and large projects.
58PHPStill essential language for WordPress, Laravel, and traditional web.
59ComposerPHP dependency manager.
60RubyUseful language for scripts, Rails, and tooling.
61RubyGemsRuby package manager.

Data / Text

#ProgramWhy it matters
62jqCommand-line JSON processor; mandatory for API work.
63yqManipulates YAML, JSON, XML, and TOML in the terminal.
64jlessInteractive viewer for large JSON files.
65xsvFast CSV toolkit: stats, selection, search, and joins.
66millerPowerful processing for CSV, TSV, JSON, and tabular data.

Editors

#ProgramWhy it matters
67nanoSimple terminal editor; great for quick server maintenance.
68vimClassic modal editor, available almost everywhere.
69neovimModern, extensible Vim, excellent for programming.
70microEasy terminal editor with familiar shortcuts and good mouse support.
71emacsExtremely extensible editor/ecosystem for text, code, org-mode, and more.
72helixModern modal editor with built-in LSP and simple configuration.
73VS CodePopular graphical editor with a huge extension ecosystem.
74VSCodiumOpen build of VS Code without Microsoft telemetry/branding.
75KatePowerful KDE editor, good for code and text.
76GeditSimple GNOME editor for text and small edits.

Terminal

#ProgramWhy it matters
77tmuxTerminal multiplexer; persistent sessions, panes, and windows.
78screenClassic terminal multiplexer, useful on minimal servers.
79AlacrittyFast, minimalist GPU-accelerated terminal.
80KittyFast terminal with images, tabs, splits, and extensions.
81WezTermModern terminal configurable in Lua and cross-platform.
82GNOME TerminalSolid default terminal for GNOME environments.
83KonsoleFull-featured, stable KDE terminal.
84TilixTiling terminal for GTK/GNOME.
85YakuakeDrop-down terminal for KDE, instant-console style.
86TildaLightweight drop-down terminal for various desktops.

Package Management

#ProgramWhy it matters
87aptBase package manager for Debian/Ubuntu and derivatives.
88dnfModern package manager used by Fedora/RHEL and derivatives.
89pacmanFast package manager for Arch Linux.
90zypperPackage manager for openSUSE.
91flatpakUniversal desktop app format, widely used with Flathub.
92snapdSnap package system, common on Ubuntu and some servers.
93AppImageLauncherIntegrates AppImages into the desktop more cleanly.
94SynapticClassic and powerful graphical interface for APT.
95GNOME SoftwareGNOME app store with repository and Flatpak support.
96KDE DiscoverKDE store for apps, Flatpak, Snap, and add-ons.

Network / Remote

#ProgramWhy it matters
97OpenSSHSSH client and server; secure remote access is mandatory.
98moshRemote shell tolerant of unstable networks and roaming.

Network / Security

#ProgramWhy it matters
99nmapNetwork scanner for inventory, ports, and diagnostics.

Network / Debug

#ProgramWhy it matters
100netcatTCP/UDP Swiss army knife for quick network tests.
101socatAdvanced relay and multiplexer for sockets, TCP, UNIX sockets, and more.
102tcpdumpTerminal packet capture; essential for serious debugging.
103WiresharkGraphical packet analyzer for network investigation.
104tracerouteShows packet routes to a destination.
105mtrCombines ping and traceroute in a continuous view.
106iperf3Measures bandwidth between machines.

Network / DNS

#ProgramWhy it matters
107digPrecise DNS lookup, better than nslookup for diagnostics.
108whoisQueries domain, IP, and network registration records.

Network / Monitoring

#ProgramWhy it matters
109nethogsShows network usage per process.
110iftopShows per-connection network traffic in real time.
111vnStatLightweight persistent network traffic monitor.

Network / System

#ProgramWhy it matters
112NetworkManagerModern management for wired, Wi-Fi, and VPN networks.

Network / VPN

#ProgramWhy it matters
113wireguard-toolsTools for WireGuard VPN, simple and efficient.
114OpenVPNClassic, widely supported VPN client/server.
115TailscaleWireGuard-based mesh VPN, great for homelabs.
116ZeroTierSoftware-defined virtual network for remote access and labs.

Security

#ProgramWhy it matters
117sudoControlled delegation of administrative privileges.
118ufwSimplified firewall over iptables/nftables.
119nftablesModern Linux kernel firewall, successor to iptables.
120fail2banBlocks IPs after repeated attempts against services like SSH.
121firewalldDynamic firewall management common on Fedora/RHEL.
122GnuPGEncryption, signing, and verification of files/keys.
123ageModern file encryption, simple and hard to misuse.
124passCLI password manager based on GPG.
125KeePassXCMature and reliable local password manager.
126BitwardenCross-platform password manager with Linux client.
127YubiKey ManagerConfigures YubiKeys for 2FA, FIDO, and PIV.
128OpenSCSmartcard and cryptographic token support.
129clamavOpen-source antivirus useful for gateways, shared files, and servers.
130rkhunterBasic rootkit and suspicious-change checks.
131lynisSecurity auditing and hardening for Linux/Unix.
132opensslEssential toolkit for TLS, certificates, hashes, and cryptography.
133VeraCryptVolume and container encryption compatible with Linux.

Security / Dev

#ProgramWhy it matters
134mkcertCreates trusted local certificates for HTTPS development.

Security / Privacy

#ProgramWhy it matters
135Tor BrowserStrong privacy browsing via the Tor network.
136OnionShareFile sharing and temporary sites over Tor.

Backup

#ProgramWhy it matters
137BorgBackupDeduplicated, encrypted, efficient backups.
138resticFast, secure, efficient backups to multiple backends.
139TimeshiftSimple system snapshots, especially useful on desktops.
140Déjà DupSimple graphical backup for desktop users.
141DuplicatiGraphical/web backup with encryption and cloud support.
142KopiaModern backup with deduplication, encryption, and optional UI.

Storage

#ProgramWhy it matters
143partedCLI disk partitioning.
144gpartedGraphical disk partitioning; indispensable for maintenance.
145lsblkLists block devices/disks clearly.
146smartmontoolsMonitors S.M.A.R.T. health for HDDs/SSDs.
147hdparmTuning and diagnostics for SATA/IDE drives.
148nvme-cliAdministration and diagnostics for NVMe SSDs.
149btrfs-progsTools for Btrfs: snapshots, scrub, subvolumes, and balance.
150zfsutils-linuxZFS tools for Linux.
151exfatprogsModern exFAT support for flash drives and external disks.
152ntfs-3gRead/write support for NTFS partitions.
153fuseBase for user-space filesystems.
154mergerfsPools multiple disks into one logical filesystem.

Storage / Security

#ProgramWhy it matters
155cryptsetupDisk encryption with LUKS/dm-crypt.

Storage / Remote

#ProgramWhy it matters
156sshfsMounts remote directories over SSH.

Storage / Backup

#ProgramWhy it matters
157snapraidParity and failure protection for media/homelab arrays.

Development / Debug

#ProgramWhy it matters
158straceTraces syscalls; brutally useful for seeing what a process does.
159ltraceTraces dynamic library calls.
160valgrindMemory debugging, leaks, and profiling for native programs.

Development / Performance

#ProgramWhy it matters
161perfLinux performance profiling tool.

Databases

#ProgramWhy it matters
162SQLiteEmbedded local database, perfect for small apps and prototypes.
163PostgreSQLPowerful relational database and serious production standard.
164MariaDBMySQL-compatible database common on web servers.
165RedisIn-memory store for cache, queues, and sessions.
166DBeaverUniversal graphical database client.

Containers

#ProgramWhy it matters
167DockerMost common container platform in the market.
168Docker ComposeOrchestrates local multi-container stacks.
169PodmanDaemonless containers, good for rootless and Red Hat environments.
170BuildahBuilds OCI images without relying on the Docker daemon.
171SkopeoCopies and inspects images across registries.
172distroboxRuns environments from other distros integrated with the desktop.
173LXCLightweight system containers.

Virtualization

#ProgramWhy it matters
174QEMUFlexible emulation and virtualization.
175KVMHigh-performance native virtualization on Linux.
176virt-managerGraphical interface for KVM/libvirt.
177VirtualBoxEasy desktop virtualization for regular users.

Servers

#ProgramWhy it matters
178nginxFast, established web server/reverse proxy.
179CaddyModern web server with automatic HTTPS and simple configuration.
180Apache HTTP ServerClassic, robust, widely supported web server.
181HAProxyHigh-performance TCP/HTTP load balancer and proxy.
182TraefikDynamic reverse proxy excellent for containers.

System

#ProgramWhy it matters
183systemdInit, services, timers, logs, and modern system management.

DevOps

#ProgramWhy it matters
184AnsibleAgentless configuration and deployment automation.
185TerraformDeclarative infrastructure provisioning.
186kubectlEssential CLI for Kubernetes.
187HelmPackage manager for Kubernetes.

Desktop / Web

#ProgramWhy it matters
188FirefoxFree, reliable browser that works excellently on Linux.
189ChromiumOpen-source Chrome base and modern-web-compatible alternative.
190BraveChromium-based browser focused on blocking and privacy.

Productivity

#ProgramWhy it matters
191LibreOfficeComplete office suite for documents, spreadsheets, and presentations.
192OnlyOffice Desktop EditorsOffice suite with good Microsoft format compatibility.
193ThunderbirdMature email client with calendar and extensions.
194EvolutionEmail, calendar, and contacts integrated with GNOME.
195ObsidianMarkdown notes with internal links and a large ecosystem.
196JoplinOpen-source notes with sync and optional encryption.
197LogseqLocal-first outliner for personal knowledge.
198OkularExcellent KDE viewer for PDF, EPUB, and annotations.

Productivity / Research

#ProgramWhy it matters
199ZoteroIndispensable academic reference manager.

Productivity / Books

#ProgramWhy it matters
200CalibrePowerful ebook manager.

Notes

  • On Debian/Ubuntu, prefer APT for base packages and Flatpak for newer desktop apps when the distro package is old.
  • On Fedora, prefer DNF/RPM for system tools and Flatpak for desktop apps.
  • On Arch, prefer official repositories first, then AUR only when necessary.
  • On servers, do not install desktop apps, gaming tools, or GUI-heavy utilities unless you actually need them. Minimal systems should stay minimal.

Sources consulted

Related documents

200 essential Linux programs everyone should know · Murad Library