-
Notifications
You must be signed in to change notification settings - Fork 8
Update and add skill to the OS branch #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,11 +14,11 @@ Part of this skill is the general principles of the interaction with a shell, to | |
|
|
||
| ## Learning Outcomes | ||
|
|
||
| * Utilize the bash shell to execute individual programs with arguments. | ||
| * Describe the meaning of the exit code of a program. | ||
| * Run multiple programs after another depending on the exit code ;, &&, ||. | ||
| * Use the bash shell to execute individual programs with arguments. | ||
| * List the set of basic programs and their tasks: | ||
| * pwd | ||
| * ls | ||
| * cd | ||
| * whoami | ||
| * sleep | ||
| * kill | ||
|
|
@@ -27,23 +27,14 @@ Part of this skill is the general principles of the interaction with a shell, to | |
| * man | ||
| * vi, vim, emacs, nano | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should also be added again |
||
| * exit | ||
| * Utilize the available help of a program (--help argument and the man pages). | ||
| * Interrupt or abort a program execution: | ||
| * CTRL-C | ||
| * CTRL-Z | ||
| * using kill -9 | ||
| * ... | ||
| * Demonstrate interrupting or aborting of a program execution using CTRL-C. | ||
| * Use the available help of a program (--help argument and the man pages). | ||
| * Use the shell history to search and execute previously executed commands. | ||
| * Set and print shell variables. | ||
| * Print all currently set variables | ||
| * Demonstrate setting and printing shell variables. | ||
| * Show all currently set variables and set as well as unset one manually. | ||
| * Identify potential special characters that must be handled with care. | ||
| * List strings that could refer to files/directories | ||
| * List strings that could refer to files/directories | ||
| * Utilize escaping to ensure correct handling of arguments. | ||
| * Understand wildcard characters to select a group of files/directories: | ||
| * * | ||
| * ? | ||
| * [-,] | ||
| * How to close popular command line text editors with/or without saving changes: | ||
| * nano | ||
| * vi | ||
| * emacs | ||
| * Understand wildcard characters to select a group of files/directories: "*", "?", "[-,]" | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # USE1.6 CLI File editors | ||
|
|
||
| Running programs using the CLI often also includes editing files without a GUI available. | ||
| Many programs are available and are also often suggested in tutorials and by other people. | ||
| It is of importance to being able to navigate file editing using different editors and understanding how to write files and exit the editor. | ||
|
|
||
| Most common editors will all be included here, meaning one should be taught and the other need to be mentioned for completeness: | ||
| * VI/Vim | ||
| * Emacs | ||
| * Nano | ||
|
|
||
| ## Requirements | ||
|
|
||
| * [[skill-tree:use:1:1:b]] | ||
| * [[skill-tree:use:1:3:b]] | ||
|
|
||
| ## Learning Objectives | ||
|
|
||
| * Define the abilities of a CLI based file editor | ||
| * Discuss what a CLI file editor needs to be able to do and how it should behave | ||
| * Demonstrate the usage of an editor to open a file in write mode and save the file | ||
| * Show how to quit an editor (relevant for all editors) | ||
| * Solve undo and redo operations to recover from changes and restore them | ||
| * Indicate how to use the mouse pointer | ||
| * Define how to copy and paste using the clipboard | ||
| * Contrast differences between available editors | ||
| * Summarize the controversy between Emacs and Vim users | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # USE1.7 Terminal multiplexer | ||
|
|
||
| Sometimes running longer tasks or processes interactively can become error prone on a remote system. | ||
| A loss of network breaks the SSH connection and terminates the commands a user has running on the remote system. | ||
|
|
||
| This can be prevented by running terminal multiplexer. | ||
| These are programs that run on a remote system and a user can attach and detach from such a session. | ||
| All output is cached in the session and can be checked gain. | ||
| Commands that are started run in this session and are independent of the SSH connection, breaking it will only detach from the multiplexer. | ||
|
|
||
| Some even allow multiple users or multiple sessions of the same user to connect to them. | ||
|
|
||
| ## Requirements | ||
|
|
||
| * [[skill-tree:use:1:1:b]] | ||
| * [[skill-tree:use:1:4:b]] | ||
|
|
||
| ## Learning outcomes | ||
|
|
||
| * Give examples for use cases for such a multiplexer. | ||
| * Discuss using such a session for longer data transfers using SSH. | ||
| * Review editing files using a terminal multiplexer | ||
| * Utilize screen or tmux to preserve a session between logins: | ||
| * Creation of a session. | ||
| * Detaching from the current session. | ||
| * Resuming a previous session. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # USE1.8 Manage background processes and signals | ||
|
|
||
| Background processes are very useful to use a single bash session and run multiple programs in it. | ||
| They can either run in parallel in the background or are stopped and can be resumed later. | ||
|
|
||
| Similarly, sending signals to other programs in the background can be used to change the state of the program by making it active again or move a program in to the foreground. | ||
| In order to do this there exists a program called kill, which does not only kill by signal a kill. | ||
|
|
||
| ## Requirements | ||
|
|
||
| * [[skill-tree:use:1:1:b]] | ||
|
|
||
| ## Learning Outcomes | ||
|
|
||
| * Understand interrupting or aborting of a program execution using CTRL-C and CTRL-Z. | ||
| * Describe the difference between SIGINT and SIGTSTP. | ||
| * Demonstrate the use of CTRL-Z in combination with the commands jobs and fg. | ||
|
|
||
| * Understand what a Process ID is and how it can be used to identify any programs. | ||
| * Demonstrate how the command jobs can display the process id. | ||
| * Understand the behaviour of the kill command. | ||
| * Demonstrate the kill command and send the signals SIGKILL, SIGINT, SIGTSTP, also via the numbers instead of the names | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree to remove the command kill from the list. It is highly useful if you cannot kill with CTRL-C
We discussed that LOs a lot during some reviews at conferences in the past.
Is there a reason to remove it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that is true. We create a new skill about managing background processes, but that one is more about understanding signals and sending them rather then a quick fix to a problem.
I will readd this one.