Introduction
This is our central topic page for Bash and the Linux Shell.
Bash and the Linux shell are powerful tools. There is a lot that can be accomplished efficiently with Bash.
This post contains a curated list of resources for learning about Bash and the Linux shell. Some of the linked resources were produced by this project, though many are produced by others.
You’re not likely to need all of the resources listed here. We suggest that you select the ones that seem the best fit for you, try them, and then move on once you’ve learned what you need.
An important note of caution
Please remember: Don’t just blindly copy and paste text from the internet into your terminal. That can be very dangerous.
Our Posts about Bash and The Shell
Learning Path for Bash and the Linux Shell
-
Bash and the Linux Shell - 01 - Getting Introduced To Bash
- Bash and the Linux Shell, Step 1
- An introduction to what Bash is and what it’s useful for.
-
Bash and the Linux Shell - 02 - Getting Started with The Basics
- Bash and the Linux Shell, Step 2
- The basics of getting started using Bash and the Linux Shell.
-
Bash and The Linux Shell - 00 - Basic Terminal Command Quick Reference
- Reference for basic terminal commands.
Selected Posts about Bash and the Linux Shell
Use Caution When Copying and Pasting to the Command Line
Creating a Directory with Bash to Test Commands
Creating Multiple Files with Bash
Renaming Files with the rename Command (the Perl Version) in Bash
Automating Bash Shell Commands
All Posts about Bash and the Linux Shell
List of all our posts with the Bash tag.
External Bash and Linux Shell Resources
Resources for getting started with Bash and the Linux Shell
While there is much efficency to be gained with Bash, there is a learning curve to getting started.
Bash in 100 Seconds by Fireship
- A quick introduction.
The Linux Command Line by William Shotts
- A really good introduction. It has a warmer tone and more approachable pacing than many resources. It’s also well-scoped and works in just enough history to make the topic understandable.
- It is available for free as a PDF.
The 50 Most Popular Linux & Terminal Commands - Full Course for Beginners by Colt Steele
- A good overview of some of the common tools that are accessible to you via Bash.
- Steele’s video is based on The Linux Command Handbook by Flavio Copes, which offers another format for the same information.
Bash and the Linux Shell references
Below are some helpful references for working with Bash.
Bash scripting cheatsheet by devhints.io
- Provides a quick reference for lots of basic Bash commands.
Pure Bash Bible by Dylan Araps
- A collection of pure Bash alternatives to external processes.
The official Bash Reference Manual
- Detailed information on the Bash shell.
Recommended programs that are non-standard to Bash
- Displays short, simple help pages for command line tools, from the user-maintained tldr-pages project.
- Shorter and more digestible than man pages, it flattens the learning curve by tersely outlining key details of other commands.
- You can also use tldr via the web app or download a PDF version for offline use.
- See our post Getting Started with the tldr Command for more details.
- Displays a visual tree of the directory, it’s subdirectories, and all their content.
- It is much faster and much more digestible than using cd and ls commands repeatedly to understand a directory structure and content.
- Available on GitLab, GitHub, and in package managers for many Linux distributions.
- See our post Getting Started with the tree Command for more details.
- Removes files and sends them to the trash can, instead of instantly irretrievably deleting them like the rm command.
- The trash command operates in line with contemporary expectations that files are moved to a temporary location where they can be recovered instead of instantly deleted forever. This gives you a chance to see (and potentially restore) deleted files.
- See our post Getting Started With the trash Command in Bash for more details.
- Displays information about your operating system, software, and hardware in a short and attractive format.
- See our post Getting Started with the neofetch Command in Bash for more details.