Getting Started with Linux for Developers
· BlueTEXT Blog
A practical guide to switching to Linux as your primary development environment, covering distro choice, tools, and workflow tips.
Choosing a Distribution
The first decision is which Linux distribution to use. For developers new to Linux, Ubuntu LTS or Fedora Workstation are the most common starting points. Ubuntu LTS offers five years of support, a massive community, and near-universal package availability. Fedora tracks upstream projects more closely and ships newer software, making it preferred by developers who want cutting-edge toolchains.
If you prefer a minimal base you configure yourself, Arch Linux or Debian are excellent choices, though they demand more upfront investment to set up correctly. For WSL users on Windows, Ubuntu is the default and works well for most development tasks.
Essential Developer Tools
Linux ships with most developer tools either pre-installed or a single command away. Install build essentials first: sudo apt install build-essential git curl wget on Debian-based systems, or sudo dnf groupinstall "Development Tools" on Fedora.
For language runtimes, prefer version managers over system packages: use nvm for Node.js, pyenv for Python, rbenv for Ruby, and rustup for Rust. Version managers let you switch between project-specific versions without conflicts.
Terminal Workflow
The terminal is where Linux shines. Learn the basics: navigate with cd, list files with ls -lah, search text with grep -r, and find files with find. Pipe commands together — cat file | grep error | sort | uniq -c — to process data without writing a script.
Install tmux early. It lets you split terminals, run long processes in the background, and reconnect to sessions over SSH. Pair it with a .tmux.conf that remaps the prefix key and enables mouse mode for a smooth experience.
Git and SSH Setup
Generate an SSH key with ssh-keygen -t ed25519 -C "your@email.com" and add the public key to GitHub or your Git server. Configure Git globally with your name, email, and preferred editor. Use git config --global core.editor "vim" or swap vim for nano, code, or any editor you prefer.
Set up GPG commit signing early if your team requires it. GnuPG is usually pre-installed; generate a key, add it to GitHub, and configure Git to sign commits automatically with git config --global commit.gpgsign true.
File System Basics Every Developer Should Know
Linux follows the Filesystem Hierarchy Standard: binaries in /usr/bin, config in /etc, user homes in /home, and temporary files in /tmp. Understanding where things live helps when debugging PATH issues or setting up services.
Learn permissions early: chmod 755 script.sh makes a file executable, chown user:group file changes ownership. These basics prevent most permission-denied errors developers encounter when first moving to Linux.