\newlinenewline logonewline logo
    • Learn

      Learn

      Learn web development from expert teachers. Build real projects, join our community, and accelerate your career

      Get Started
      Fullstack RustFullstack Node.jsFullstack D3Fullstack ReactFullstack React with TypeScriptmore →
      https://dzxbosgk90qga.cloudfront.net/fit-in/620x372/n/20220117210542194_21CB9CF5-AA2C-4939-BCC1-18F0377EFB90.png

      The newline Guide to Building Your First GraphQL Server with Node and TypeScript

      In this course, we'll show you how to create your first GraphQL server with Node.js and TypeScript

      Enroll for free
    • Teach

      Teach

      Share your knowledge with others, earn money, and help people with their career

      Apply Now
      Apply To Teach A CourseWhat Our Teachers Say
      Amelia Wattenberger

      Amelia Wattenberger

      Author of Fullstack D3

      "Writing Fullstack D3 was a thoroughly enjoyable, fun process.

      The writing was over before I knew it, and we've sold way more copies than I expected! Plus, the compliments from my peers have been really amazing."

    • Community

      Community

      Get help with programming projects, find collaborators, and make friends

      Join Now
      Join our Discord ServerWhat Our Students Say
    • Tutorials
    Go Pro
    Log In
    Course Thumbnail of The newline Guide to Bash Scripting

    The newline Guide to Bash Scripting

    WELCOMEIntroduction

    Introduction:

    Start Here

    Module 1: Introduction

    Lesson 1:

    About this book

    Lesson 2:

    Community and Code Downloads

    Lesson 3:

    Organization of this book

    Lesson 4:

    Conventions used in this book

    Lesson 5:

    Development environment

    Lesson 6:

    Acknowledgements

    Lesson 7:

    About the author

    Module 2: Self–Help

    Lesson 1:

    Find Bash Keyword, Function, and Builtin Command Documentation

    Lesson 2:

    How to Use man bash and help to Learn About Bash Commands

    Lesson 3:

    How to Find Information About Bash File Commands With --help

    Lesson 4:

    The Best References for Bash Commands

    Lesson 5:

    How to Find Package Specific Bash Documentation

    Lesson 6:

    How to Read a Synopsis and Understand Bash Documentation

    Lesson 7:

    How to Use apropos to Find Bash Commands (with examples)

    Module 3: Running Scripts

    Lesson 1:

    How to Run a Bash Script Explicitly as an Argument in Terminal

    Lesson 2:

    How to Run a Bash Script With a Shebang Line and the Script Path

    Lesson 3:

    The Simplest Way to Run a Bash Script with $PATH

    Module 4: Editing Commands and Scripts

    Lesson 1:

    How to Use Bash Readline to Edit Commands and Scripts

    Lesson 2:

    How to Edit Bash Scripts in Nano and Vim

    Module 5: Copying and Pasting

    Lesson 1:

    Copying and Pasting

    Lesson 2:

    How to Select Text in Linux Terminal With a Mouse

    Lesson 3:

    How to Copy and Paste in Linux Terminal With Keyboard Shortcuts

    Lesson 4:

    How to Copy and Paste Text With the xclip Bash Command

    Lesson 5:

    How to Copy Formatted Text as HTML From Linux Terminal

    Lesson 6:

    How to Paste Text in Linux Terminal Safely

    Module 6: Listing Files

    Lesson 1:

    Listing Files

    Lesson 2:

    Using Linux ls Command to List Files and grep to Search for Files

    Lesson 3:

    How to Glob, Find Pattern Matching Files, and Run Commands

    Module 7: Text

    Lesson 1:

    Text

    Lesson 2:

    How to Convert Windows Newlines For Bash With dos2unix

    Lesson 3:

    How to Convert Text to UTF-8 And Other Encodings in Bash Scripts

    Module 8: Math

    Lesson 1:

    Math

    Lesson 2:

    How to Perform Arithmetic Expansion in Bash

    Lesson 3:

    How to Evaluate and Calculate Arithmetic Expressions in Bash

    Lesson 4:

    Best Practices for Using Variables in Bash Arithmetic

    Lesson 5:

    How to Write Conditional Expressions in Bash

    Lesson 6:

    Convert Bases in Bash to Work With Octals and Hexadecimals

    Lesson 7:

    How to Perform Floating Point Math With Bash bc

    Module 9: Time

    Lesson 1:

    Time

    Lesson 2:

    Format Datetimes, Timestamps, and Time Zones in Bash

    Lesson 3:

    How to Time How Long a Bash Command Takes to Run

    Lesson 4:

    How to Kill Bash Commands With timeout

    Module 10: Output

    Lesson 1:

    Output

    Lesson 2:

    How to Use the Bash Echo Command to Print Text in Terminal

    Lesson 3:

    printf vs echo - Printing Formatted Text With Newlines in Bash

    Lesson 4:

    Using the logger Command to Log Bash Output

    Module 11: JSON

    Lesson 1:

    JSON

    Lesson 2:

    How to Use jq Command to Filter JSON in Bash

    Lesson 3:

    Creating

    Module 12: XML

    Lesson 1:

    XML

    Lesson 2:

    Extracting an XML Value in Bash With xml_grep

    Lesson 3:

    Formatting and Transforming XML with XSLT

    Lesson 4:

    How to Create XML Files in Bash With xsltproc

    Lesson 5:

    Auto-Formatting

    Module 13: Images

    Lesson 1:

    Images

    Lesson 2:

    How to Take Screenshots in Ubuntu Linux With Shortcuts and Bash

    Lesson 3:

    Resize, Convert, and Crop Pictures With ImageMagick mogrify

    Lesson 4:

    How to Create a Video From Images With ffmpeg

    Lesson 5:

    How to Create Graphs From Terminal With Graphviz

    Lesson 6:

    How to Remove and Edit Metadata From Photos With exif

    Module 14: Archiving and Compression

    Lesson 1:

    Archiving and Compression

    Lesson 2:

    Beginner's Guide to tar Commands to Compress and Extract Files

    Lesson 3:

    Plain gzip

    Lesson 4:

    Zip

    Lesson 5:

    Other formats

    Module 15: SSH

    Lesson 1:

    SSH

    Lesson 2:

    How to Connect to an SSH Host Interactively

    Lesson 3:

    How to Create and Store SSH Keys in Bash

    Lesson 4:

    How to Execute Bash Scripts on Remote Server Non-Interactively

    Lesson 5:

    How to Access an SSH Server Behind a Jump Server

    Lesson 6:

    How to Exit SSH and Close a Hung Connection

    Module 16: From the Terminal to Production

    Lesson 1:

    From the Terminal to Production

    Lesson 2:

    The Portable Shebang Line to Run Bash Scripts Anywhere

    Lesson 3:

    How to Write Readable man Documentation For Your Bash Scripts

    Lesson 4:

    How to Build a Fail-Fast, Safe Bash Scripts

    Lesson 5:

    How to Check Shell Version From a Bash Script

    Lesson 6:

    How to Parse Bash Command Line Arguments

    Lesson 7:

    How to Include Files in Bash Command Line Arguments

    Lesson 8:

    How to Restrict Variable and Function Scope in Bash Scripts

    Module 17: Fail–Fast Settings

    Lesson 1:

    Fail–Fast Settings

    Lesson 2:

    How to Exit Bash Script on Error With errexit

    Lesson 3:

    How to Prevent a Bash Script From Overwriting Files With noclobber

    Lesson 4:

    Make Bash Treat Undefined Variables as Errors With nounset

    Lesson 5:

    How to Set Bash pipefail to Add Exit Codes to Scripts

    Lesson 6:

    How to Fail a Bash Glob if it Returns no Files With failglob

    Module 18: Version Control

    Lesson 1:

    Version Control

    Lesson 2:

    How to Start Using and Configure Git in Bash Terminal

    Lesson 3:

    How to Use Git in Bash Terminal to Push, Pull, and Commit Code

    Lesson 4:

    Git gud

    Module 19: Quality Assurance

    Lesson 1:

    Quality Assurance