Linux CLI and Shell scripting

Collection of resources for Linux command line, shell scripting (mostly bash) and a few on topics like Linux Kernel, distributions, applications, etc.

Installation and Documentation

A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that is based upon the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices (for example, OpenWrt) and personal computers (for example, Linux Mint) to powerful supercomputers (for example, Rocks Cluster Distribution) — wikipedia

  • /r/linux4noobs wiki — Linux distribution selection for noobs
  • Linux/Bash on Windows
    • Git for Windows — provides a Bash emulation used to run Git from the command line
    • Cygwin — large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows
    • Linux Subsystem for Windows — compatibility layer for running Linux binary executables natively on Windows
  • Linux man pages — one of several websites that host man pages online
  • ArchWiki — comprehensive documentation for Arch Linux and other distributions
  • Debian Reference — broad overview of the Debian system, covers many aspects of system administration through shell-command examples

CLI text tutorials

CLI video and interactive courses

Shell Scripting

  • Bash Guide — aspires to teach good practice techniques for using Bash, and writing simple scripts
  • Bash Scripting Tutorial — solid foundation in how to write Bash scripts, to get the computer to do complex, repetitive tasks for you
  • Bash Handbook — for those who want to learn Bash without diving in too deeply
  • Serious Shell Programming — focuses on POSIX-compliant Bourne Shell for portability

Scripting companion


Tips and Tricks


Text processing


Further Reading


Read instructions provided by respective forums before asking a question. Try solving it yourself before asking — searching online, manual, ask a colleague, etc.