Bash resources

(updated 3/25/25)

Raindrop.io bookmarks, 3/25/25

arstechnica.com   (2021-09-26)

Learn to process thousands of items reliably and repeatably in this installment.

bash-my-aws.org   (2020-02-19)

Bash-my-AWS is a simple but powerful set of CLI commands for managing resources on Amazon Web Services.

bash.cyberciti.biz   (2021-08-08)

The .bash_logout file is the individual login shell cleanup file. It is executed when a login shell exits. This file exists in the user's home directory. For example, $HOME/.bash_logout. This file is useful if you want to run task or another script or command automatically at logout. For example, clear the mysql command line history stored in ~/.mysql_history or to make a backup of files you can use this file.

blog.jessfraz.com   (2019-01-27)

Why unix pipes are awesome.

css-tricks.com   (2021-11-29)

Images take up to 50% of the total size of an average web page. And if images are not optimized, users end up downloading extra bytes. And if they’re

www.cyberciti.biz   (2023-08-05)

Explains three methods to get and extract filename extension in Bash for Linux and Unix shell scripting needs.

www.cyberciti.biz   (2021-06-05)

In this post, I try to explore various ways to repeat a character and string in Bash 'n' times that must run on macOS/FreeBSD and Linux.

darrenburns.net   (2019-08-29)
dev.to   (2023-08-06)

As a developer, you most likely spend a significant amount of time working with the command-line...

dev.to   (2022-08-01)

Have you ever wondered how a Web server works under the hood? Moreover, would you be willing to...

dev.to   (2021-12-02)

Update 25 Sep 2019: This article is now available in Japanese, thanks to the hard work of ラナ・クアール....

dev.to   (2021-12-02)

I write a letter to my past self about the Shell's importance I wish I'd focused on earlier in my career.

dev.to   (2020-11-28)

What exactly happens when we run a file starting with #! (aka shebang), and why some people use #!/us...

dev.to   (2019-01-12)

Five lesser-known command line utilities you'll want to install right away.

devhints.io   (2021-12-02)

Variables · Functions · Interpolation · Brace expansions · Loops · Conditional execution · Command substitution · One-page guide to Bash scripting

ebook.bobby.sh   (2023-02-23)

This is an open-source introduction to Bash scripting ebook that will help you learn the basics of Bash scripting and start writing awesome Bash scripts that will help you automate your daily SysOps, DevOps, and Dev tasks...

github.com   (2023-08-11)

📖 A collection of pure bash alternatives to external processes. - dylanaraps/pure-bash-bible

github.com   (2022-05-04)

A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. - onceupon/Bash-Oneliner

github.com   (2021-12-11)

📖 A collection of pure bash alternatives to external processes. - dylanaraps/pure-bash-bible

github.com   (2020-11-28)

Free Introduction to Bash Scripting eBook.

github.com   (2020-02-19)

Dead simple testing framework for Bash with coverage reporting - Checksum/critic.sh

github.com   (2017-07-14)

A collection of small bash scripts for heavy terminal users - alexanderepstein/Bash-Snippets

guide.bash.academy   (2021-12-11)

A complete guide for newcomers and advanced users to correct usage and deepen understanding of the bash shell language.

www.johndcook.com   (2019-03-03)

I've long been impressed by shell one-liners. They seem like magical incantations. Pipe a few terse commands together, et voilà! Out pops the solution to a problem that would seem to require pages of code. Are these one-liners real or mythology? To some extent, they're both. Below I'll give a famous real example. Then I'll argue

jvns.ca   (2023-10-08)
jvns.ca   (2021-12-11)
www.kdnuggets.com   (2025-03-10)

In this tutorial, we’ll cover 10 essential Bash shell commands every data scientist should know—commands that save time, simplify tasks, and keep you focused on insights rather than busywork.

www.kdnuggets.com   (2023-02-17)

In this article, we are going to take a look at five different data science-related scripting-friendly tasks, where we should see how flexible and useful Bash can be.

www.kdnuggets.com   (2019-08-02)

You can do more data science than you think from the terminal.

linuxhandbook.com   (2023-06-28)

Here are a couple of ways for reading file line by line in the Bash shell.

linuxhandbook.com   (2023-07-22)

While for maybe the most popular bash loop, wait until you discover until. Pun intended :)

linuxhandbook.com   (2023-07-23)

In Linux, there are shell built-in commands which you are already using but never paid attention to. Learn more about them in this tutorial.

linuxhandbook.com   (2023-05-30)

In this quick Bash tip, you'll learn about appending to an existing array in bash.

linuxhandbook.com   (2023-04-05)

The bash shell has some special variables that have specific usages and purposes. Learn more about them here.

linuxhandbook.com   (2023-05-28)

The exec command in shell scripts is super useful for logging, reading from files and running commands by replacing the current process.

linuxhandbook.com   (2022-11-10)

Brace expansion in the bash shell is a lesser known but an awesome feature. Learn about using them like a Pro Linux user with practical examples.

linuxhandbook.com   (2022-01-29)

Learn how to find PID using a process name in Linux. Also learn to get the parent process ID (PPID) of the given process.

linuxhandbook.com   (2021-09-26)

You might have used variables in Bash before, but probably not like this.

linuxhandbook.com   (2021-10-01)

The seemingly insignificant #! characters at the beginning of a shell script has a major significance on how your script will be executed.

linuxize.com   (2020-05-14)

Ruby is one of the most popular languages today. It has an elegant syntax and it is the language behind the powerful Ruby on Rails framework. In this tutorial we will show you three different ways to install Ruby on Ubuntu 18.04 system.

linuxize.com   (2020-06-01)

Bash aliases are essentially shortcuts that can save you from having to remember long commands and eliminate a great deal of typing when you are working on the command line.

lucasoshiro.github.io   (2024-06-24)

It’s more than rails!

medium.com   (2024-05-21)

$BASH_REMATCH is a special array variable in the Bash shell that stores the results of matching a regular expression using the =~ operator…

muhammadraza.me   (2021-05-05)

Commandline one liners that makes your workflow more productive

omid.dev   (2024-06-20)

Bash scripting, a cornerstone of Unix and Linux system administration, offers powerful tools to automate repetitive tasks, streamline workflows, and handle complex operations. For those already comfortable with basic scripting, diving into advanced techniques can unlock new levels of efficiency and capability. This post will explore advanced shell scripting techniques in Bash, focusing on script optimization, robust error handling, and automating complex system administration tasks. Script Optimization Optimization is crucial for ensuring that your scripts run efficiently, especially when dealing with large datasets or intensive tasks. Here are some key techniques to optimize your Bash scripts.

opensource.com   (2021-12-02)

Get more efficient by using condensed versions of long Bash commands.

www.r-bloggers.com   (2024-10-19)

Introduction For beginners venturing into the world of Linux, understanding shell expansion is a crucial step towards mastering the command line. Shell expansion is a powerful feature that allows users to generate complex commands and manipulat...

other, mainly PDFs (7/6/22)

$()
globs vs regexes
exit codes
if, [, [[
set
<()
quoting
top shortcuts
startup order
getopts
1. filesystem navigation
2. help
3. view/edit files
4. create/delete files & directories
5. move/copy files, making links, command history
6. directory trees, disk usage, processes
7. misc
8. disk, memory, cpu usage
9. REPLs & versions
10. environment vars
11. basic scripting
12. config files
13. find
14. download
15. redirect
16. superuser
17. file permissions
18. users & groups
19. text ops
20. pattern matches
21. copy files over SSH
22. long-running processes
23. more
art of the cmnd line  (github (jlevy))
meta, basics, everyday usage, files & data, debugging, one-liners, obscure, macOS, windows, resources
bash aliases  (opensource)
1. Unpack a .tar file
2. Download something - be able to resume if something goes wrong
3. Generate a random, 20-character password for a new online account
4. Downloaded a file - test the checksum
5. Limit ping to five attempts
6. Start a web server in any folder
7. See how fast your network is with Speedtest-cli
8. See your external IP address
9. See your local IP address?
10. Clear the screen.
beginners guide  (Machtelt Garrels)
intro, scripts, envt, regexes, sed, awk, conditionals, interactive, repetition, vars, functions, signals
cheatsheet  (github/onceopen)
terminal tricks, vars, math, grep, sed, awk, xargs, find, conditionals, loops, time, download, random, xwindow, system, hardware, networking, data ops, others
cookbook (pdf)  (oreilly)
1. startup (16 scripts)
2. std output (22)
3. std input (8)
4. executing commands (10)
5. shell variables
6. logic & math ops
7. tools
8. more tools
9. finding files
10. more scripting features
11. dates & times
12. example user tasks as scripts
13. parsing, etc
14. secure scripts
15. advanced topics
16. config / customization
17. admin tasks
18. shortcuts
19. tips & traps
A. options (multiple)
B. examples
C. command line processing
D. revisino control
E. build from source
hyperfine  (github/sharkdp/hyperfine)
a command-line benchmarking tool
notes for pros (pdf)  (goalkicker.com)
1. getting started
2. shebang
3. directory navigation
4. listing files
5. cat
6. grep
7. aliasing
8. jobs & processes
9. redirects
10. control structures
quirks  (jvns.ca)
variables
quoting variables
global, local, environment variables
for loops
if statements
functions
always quote your vars
return quotes
background processes,br> set -e, set -x, set -u
linting
scripts cheatsheet  (devhints)
1. basics
2. param expansions
3. loops
4. functions
5. conditionals
6. arrays
7. dicts
8. options 9. command history
10. miscellaneous*
shells for dummies  (dev.to/maxwell_dev)
1. intro
2. actions
3. package managers
4. dot files
5. VIM
6. aliases
7. scripts