Bash resources

(updated 3/25/25)

Raindrop.io bookmarks, 3/25/25

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.statology.org   (2025-02-05)

Here are 10 powerful one-liners that can help you quickly accomplish essential data tasks.

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...

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

It’s more than rails!

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.

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…

wizardzines.com   (2024-03-06)
jvns.ca   (2023-10-08)
github.com   (2023-08-11)

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

dev.to   (2023-08-06)

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

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

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

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-07-22)

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

linuxhandbook.com   (2023-06-28)

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

linuxhandbook.com   (2023-05-30)

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

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   (2023-04-05)

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

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...

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.

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.

sharats.me   (2022-10-29)

This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated....

dev.to   (2022-08-01)

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

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

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.

tldp.org   (2021-12-12)
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.

github.com   (2021-12-11)

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

jvns.ca   (2021-12-11)
devhints.io   (2021-12-02)

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

zwischenzugs.com   (2021-12-02)

Intro Recently I wanted to deepen my understanding of bash by researching as much of it as possible. Because I felt bash is an often-used (and under-understood) technology, I ended up writing …

opensource.com   (2021-12-02)

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

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   (2021-12-02)

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

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

will-keleher.com   (2021-11-24)

5 bash tricks I find myself using often that I wish I'd discovered sooner.

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.

linuxhandbook.com   (2021-09-26)

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

arstechnica.com   (2021-09-26)

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

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.

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.

towardsdatascience.com   (2021-05-18)
muhammadraza.me   (2021-05-05)

Commandline one liners that makes your workflow more productive

dev.to   (2020-11-28)

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

github.com   (2020-11-28)

Free Introduction to Bash Scripting eBook.

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.

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.

github.com   (2020-02-19)

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

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.

www.wezm.net   (2019-10-26)

A short description and screenshot of some useful command line tools I use that aren't part of typical POSIX environment.

darrenburns.net   (2019-08-29)
www.kdnuggets.com   (2019-08-02)

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

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

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

Why unix pipes are awesome.

dev.to   (2019-01-12)

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

github.com   (2017-07-14)

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

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