mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
course ch2 m4 updates
This commit is contained in:
parent
02694b639d
commit
4bded66d61
@ -62,7 +62,7 @@ You will build the ultimate foundation and be equipped to make more informed dec
|
||||
## 📖 Table of Contents
|
||||
|
||||
* [Chapter 1: Source Control & GIT](./chapters/chapter-1-source-control-git/README.md)
|
||||
* 🚧[Chapter 2: Operating Systems](./chapters/chapter-2-operating-systems/README.md)
|
||||
* [Chapter 2: Operating Systems](./chapters/chapter-2-operating-systems/README.md)
|
||||
* 🚧[Chapter 3: Monitoring](./chapters/chapter-3-monitoring/README.md)
|
||||
* 🚧[Chapter 4: Web Servers](./chapters/chapter-4-web-servers/README.md)
|
||||
* 🚧[Chapter 4.1: Web Server Monitoring](./chapters/chapter-4.1-web-server-monitoring/README.md)
|
||||
|
@ -34,9 +34,9 @@ So you understand the difference between Terminals and Shells </br>
|
||||
|
||||
## Types of Terminals
|
||||
|
||||
On windows as we can see there is a built-in terminal that can run either Powershell or CMD Command Prompt. Windows also launched a newer terminal called [Windows Terminal](https://github.com/microsoft/terminal) which is available on Github. </br>
|
||||
On Windows as we can see there is a built-in terminal that can run either Powershell or CMD Command Prompt. Windows also launched a newer terminal called [Windows Terminal](https://github.com/microsoft/terminal) which is available on Github. </br>
|
||||
|
||||
On Windows, we get different terminals like GNOME Terminal, Terminology, Terminator and more </br>
|
||||
On Linux, we get different terminals like GNOME Terminal, Terminology, Terminator and more </br>
|
||||
|
||||
In this demo, I will show you an example of Windows Terminal and Terminator on Linux </br>
|
||||
|
||||
@ -53,7 +53,7 @@ Some examples include:
|
||||
* When services are unable to reach network endpoints, you need command line to test network connectivity
|
||||
|
||||
Command line could also be required when certain systems are mostly driven by API's. </br>
|
||||
For example, some Microsoft Azure or Amazon AWS services have more options to configure via their API's and their GUI portals are often playing catchup. </br>
|
||||
For example, some Microsoft Azure or Amazon AWS services have more options to configure via their API's and their GUI portals are often playing catch up. </br>
|
||||
API's are generally built before UIs, meaning UI's may be behind or may never support certain capabilities. </br>
|
||||
|
||||
### Scripting and Automation
|
||||
@ -63,8 +63,8 @@ When you want to automate something, you gather and stitch together all the comm
|
||||
|
||||
Some examples may include:
|
||||
|
||||
* We could stitch together commands that check if folder structures exists or not and create them if they dont exist. Then automatically create configuration files with default settings in them to setup an application
|
||||
* We could stitch together commands that makes a copy of important files and folders on our system, compress them as a "zip" file and upload it to remote storage to create an automated backup process.
|
||||
* We could stitch together commands that check if folder structures exist or not and create them if they don't exist. Then automatically create configuration files with default settings in them to setup an application
|
||||
* We could stitch together commands that make a copy of important files and folders on our system, compress them as a "zip" file and upload it to remote storage to create an automated backup process.
|
||||
|
||||
## Command Line Structure
|
||||
|
||||
@ -74,7 +74,7 @@ Generally, all or most commands conform to some standard. </br>
|
||||
### Executable
|
||||
|
||||
For example, all command lines start with some form of executable or binary. </br>
|
||||
A binary of executable is a program or script. </br>
|
||||
A binary executable is a program or script. </br>
|
||||
For example in our Introduction to `git` , we learned about the `git` command. In that case `git` is the executable.
|
||||
|
||||
So we start off our command with the executable:
|
||||
@ -86,7 +86,7 @@ git
|
||||
### Commands and Subcommands
|
||||
|
||||
An executable may have commands, and commands by have subcommands. </br>
|
||||
However, some executable may have no commands. This is generally true for command line executables where they generally only perform one thing, like `ls`
|
||||
However, some executables may have no commands. This is generally true for command line executables where they generally only perform one thing, like `ls`
|
||||
|
||||
If you run `ls --help` , you'll notice the usage:
|
||||
|
||||
@ -118,11 +118,11 @@ git push
|
||||
### Arguments, Options, Flags or Parameters
|
||||
|
||||
When a command needs inputs, the command may require arguments, options, flags or parameters. </br>
|
||||
Those terms are often used interchangably. </br>
|
||||
Those terms are often used interchangeably. </br>
|
||||
Command line options generally start with dashes. </br>
|
||||
Generally a single `-` character indicates a short abbreviated form of an option and a double `--` is a long form version of the same option. </br>
|
||||
|
||||
For example, `-h` and `--help` generally mean the same thing, but one is abbreviated, so shorter to type out and the other is longer, which means its more descriptive but longer to type out. </br>
|
||||
For example, `-h` and `--help` generally mean the same thing, but one is abbreviated, so shorter to type out and the other is longer, which means it's more descriptive but longer to type out. </br>
|
||||
|
||||
If we take a look at `git` that we learned about:
|
||||
|
||||
@ -138,9 +138,9 @@ Above, `-m` stands for message.
|
||||
- For example, `echo "hello"`, or `echo $HOME`
|
||||
* `cat` : This command displays file contents. It can display one or multiple files contents and concatenates them
|
||||
- For example `cat <filename>`
|
||||
* `ls` : Allos to list contents of a directory
|
||||
* `ls` : Allows to list contents of a directory
|
||||
* `cd` : Change working directory
|
||||
* `pwd` : Writes the full path of the currend working directory to the screen
|
||||
* `pwd` : Writes the full path of the current working directory to the screen
|
||||
* `touch` : Creates a file without content
|
||||
* `nano` : Starts a simple Linux text editor
|
||||
* `mkdir` : Create a directory
|
||||
@ -156,11 +156,35 @@ Above, `-m` stands for message.
|
||||
* `wget` : Downloads files from the web
|
||||
* `curl` : Create and send a Web request to a server
|
||||
|
||||
## Command inputs and outputs
|
||||
## Command inputs, outputs and redirection
|
||||
|
||||
We can capture outputs of a command. </br>
|
||||
|
||||
This becomes useful for two main reasons. </br>
|
||||
Firstly, we can use the output of one command as input for another. Technically this allows us to chain commands together. </br>
|
||||
This is useful in automation and scripting when taking output of one command execution and passing it as input to another </br>
|
||||
|
||||
Secondly, capturing output of a command can be useful to store in a file for troubleshooting purposes or any other reason. </br>
|
||||
For example, a command's output may be quite large to analyze in a terminal window and may be useful to analyze as a file which we can open in an editor such as Visual Studio Code. </br>
|
||||
|
||||
### Command pipe
|
||||
|
||||
To capture output of one command and send it as input to another command, we can use the "pipe" character. </br>
|
||||
This often is referred to "piping" output to another command in command line </br>
|
||||
|
||||
For example, we can use `cat` to output file contents and then `|` it to `grep` to search that content for a given string pattern. </br>
|
||||
This often helps looking for something in a large file. </br>
|
||||
|
||||
```
|
||||
cat <filename> | grep <pattern>
|
||||
```
|
||||
|
||||
### Command redirection
|
||||
|
||||
To redirect command line output to a file, we can use the command redirection character `>`
|
||||
|
||||
For example when running `ls`, it outputs to the terminal. </br>
|
||||
We can capture that output by placing the `>` character after the command followed by a file name that we want to pass output to </br>
|
||||
We can capture that output by placing the `>` character after the command followed by a filename that we want to pass output to </br>
|
||||
|
||||
```
|
||||
ls -l / > output.txt
|
||||
|
Loading…
x
Reference in New Issue
Block a user