//: A journey into scripting & automation
Stands for Bourne-Again SHell. It's the default command-line interpreter on most Linux systems and a common choice for scripting. Think of it as the control panel for your OS.
Automates tasks on Linux & Raspberry Pi. Can execute Python scripts and use command-line tools to interact with SQL databases.
The Z Shell is a modern, powerful shell with advanced features like better auto-completion, plugin support (via frameworks like Oh My Zsh), and theming. It's the default on macOS.
Does everything Bash does but with more user-friendly features. A favorite for developers on macOS and Linux to streamline their workflow.
Client for URLs. A versatile command-line tool for transferring data to or from a server using any of the supported protocols (HTTP, FTP, etc.). Essential for API testing and web scraping from the terminal.
Used within Bash/Zsh scripts to download files or fetch data from web APIs. The data can then be processed by Python or other tools.
A free utility for non-interactive download of files from the web. It's great for recursively downloading entire websites or large files, and it can resume aborted downloads.
Similar to cURL, it's a workhorse inside scripts for data retrieval. Often used on servers to pull down software or backups automatically.
A high-level programming language known for its readability. While not a shell, it's a master of scripting and automation, often working hand-in-hand with shell scripts.
Shell scripts can run Python programs for complex logic. Python can execute shell commands. It has powerful libraries for connecting directly to SQL databases and is the go-to language for Raspberry Pi projects.
Structured Query Language is for managing data in a database. Most databases (like PostgreSQL, MySQL) provide command-line clients that can be controlled from a shell.
Bash scripts can automate database tasks like backups, user creation, or running reports by feeding SQL commands to the database's command-line client.
Think of Linux or a Raspberry Pi as your game console. Bash/Zsh is the controller that lets you interact with it.
You can write a Bash script (your master plan) that uses cURL to download data from an online API. The script then passes this data to a Python program for complex analysis. Finally, the script uses a SQL client to store the results in a database. They are all individual tools that, when combined through scripting, create powerful automations.