Description
In this course, you will :
- Understand how the command-line interface works.
- Discover how to set up an Ubuntu virtual machine.
- Recognize how to navigate the filesystem and directories.
- Discover networking tools such as web APIs, cURL, Secure Shell, rsync, and Netcat.
- Learn about running programmes and automating tasks with scripts.
- Learn how to use programme tools such as ranger, pandoc, direnv, HTTP, Pygments, jrln, jq, and Siege.
Syllabus :
1. Introduction
- Why Take This Course?
- Accessing the Command-Line Interface
- Getting Your Bearings
- Creating and Reading Files
- Redirecting Streams of Text
- Creating Directories
- Going Home
- Using Autocompletion
- Elevating Privileges
- Installing Additional Programs with a Package Manager
- Downloading Files
- Useful Shortcuts and Commands
2. Creating an Ubuntu Virtual Machine with VirtualBox
- Creating a New Virtual Machine
- Configuring a Network
- Installing the Guest Operating System
- Working with Snapshots
- Installing Software with the Package Manager
- Improving Performance by Installing Guest Additions
3. Navigating the Filesystem
- Listing Files and Directories
- Recursive File Listings
- Navigating Files and Folders
- Relative and Absolute Paths
- Dot and Double Dots
- Using pushd and popd to Manage a Stack of Directories
- Finding Files
- Identifying Available Disk Space
4. Working with Files and Directories
- Creating Files
- Creating Files with Content
- Writing Multiple Lines to a File
- Combining Files
- Reading the Beginning and End of a File
- Creating Directories
- Copying Files
- Copying Directories
- Moving and Renaming Files and Directories
- Deleting Files and Directories
- Managing File and Directory Permissions
- Changing Ownership
- Working with Links
- Getting More Information About Filesystem Objects
5. Streams Of Text
- Introduction
- Redirecting Input and Output with File Descriptors
- Creating Pipelines of Data
- Splitting Streams with tee
- Handling Standard Error Streams
- Filtering with grep
- Removing Characters from Output with cut
- Sorting Output
- Editing Streams with sed
- Saving Changes
- Editing Specific Lines
- Operating on Lines by Number
- Advanced Processing with awk
- Using xargs
6. The Shell and Environment
- Exploring Environment and Shell Variables
- Using Variables
- Locating Executables with PATH
- Setting Our Own Variables
- Supplying Environment Variables to Specific Programs
- Customizing a Shell Session
- Controlling the History and Setting the Shell Editor
- Modifying the PATH
- Modifying a Prompt
- Creating Shortcuts with Aliases and Functions
- Creating Keyboard Shortcuts
- Quiz 6
7. Running and Managing Programs
- Running Multiline Commands
- Executing a Series of Commands
- Running Commands in Subshells
- Timing Program Execution
- Recording Program Interaction
- Reusing Previous Commands and Arguments
- Extracting Data with Modifiers
- Correcting Mistakes and Altering Previous Commands
- Managing Processes and Jobs
- Running and Managing Jobs
- Terminating Processes
- Command Substitution
- Keeping Commands Running with GNU Screen
8. Networking Tools
- Getting Our Connection Information
- Finding Information about Domain Names
- Testing Network Connectivity
- Making Web Requests with cURL
- Downloading Files
- Working with Web APIs
- Using Secure Shell to Connect to Remote Machines
- Transferring Files with scp
- Transferring and Synchronizing Files with rsync
- Exploring Network Connections and Determining Open Ports
- Making Web Requests with NetCat
- Serving Files with NetCat
9. Automation
- Introduction
- Automating Tasks with make
- Writing Bash Scripts
- Automating File and Directory Creation
- Making an Interactive Script
- Automating Our Workstation Setup
10. Additional Programs
- Managing Files with ranger
- Managing Documents with pandoc
- Running Tasks When Files Change
- Using direnv to Manage Environment Variables
- Monitor and Manage Resources with htop
- Autocompleting Files, Directories, Processes, and More with fzf
- Serving up a Directory with Python
- Viewing Colored Source Code with Pygments
- Keeping a Log with jrnl
- Manipulating JSON with jq
- Inspecting Requests with HTTPie
- Testing Performance with Siege