Difference between revisions of "Introduction to Linux in HPC/The Command Line"

From HPC Wiki
Introduction to Linux in HPC/The Command Line
Jump to navigation Jump to search
m (Title and sorting tweaks)
 
(46 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Tutorials|Command Line (Linux)]]<nowiki />
 +
{{DISPLAYTITLE:Command Line (Linux)}}<nowiki />
 +
{{Syllabus Introduction to Linux}}<nowiki />
 
__TOC__
 
__TOC__
 +
 +
This part of the tutorial introduces one of the most important tools in Linux-based systems: the command line. The command line is basically a text interface for your computer and it can be pretty daunting at first if you are used to a graphical user interface (GUI). This short tutorial explains the basics enabling you to get started straight away!
  
 
=== Video === <!--T:5-->
 
=== Video === <!--T:5-->
  
<youtube width="600" height="400" right>IfD9IPixgpo</youtube>
+
<youtube width="600" height="340" right>LkSvJoi6TQE</youtube>
  
[https://git-ce.rwth-aachen.de/hpc.nrw/ap2/tutorials/linux/-/blob/master/Slides/Linux_Intro/Linux_Intro.pdf Linux Introduction] Slides 25 - 31 (7 pages)
+
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_02_The_Command_Line.pdf | Slides as pdf]])
  
=== Slide Layout === <!--T:5-->
+
=== Quiz === <!--T:5-->
  
    page 1:
+
{{hidden begin
        You type commands in command line to use Linux
+
|title = Which keys can be used to access the command history?
        Similar things: console, terminal, CLI and shell (interchangeable in this course)
+
}}
        command line: advantages (fast) vs. disadvantages (hard to master)
+
<quiz display=simple>
    page 2:
+
{
        Shell in Linux is widely used.
+
|type="()"}
        Warnings:
+
+  up- and down-arrow keys
            User may forget where they are.
+
|| Explanation: up- and down-arrow keys (↑ and ↓) can be used to access the command history. The behavior of page-up and page-down keys depends on the setting of a terminal. But normally the command history is not available by using the page-up and page-down keys.
            Child processes may stop, if parent shell exits.
+
- page-up and page-down keys
    page 3:
+
||
        Elements in console:
+
</quiz>
            User name
+
{{hidden end}}
            Host name
 
            Working directory: reminder for user (where they are)
 
            Command prompt
 
    page 4:  
 
        Elements in console (cont.):
 
            Command and its options
 
            Output
 
            Current command running or new command prompt
 
    page 5:
 
        Demo 1: (slide 15 sec + terminal 45 sec)
 
            run command
 
            arrow keys for history
 
            tab key for auto-completion
 
            Ctrl-C to abort
 
    page 6:
 
        Warning: command is always case-sensitive
 
        command line options: minus sign: double minus vs. single minus
 
    page 7:
 
        Demo 2: (slide 15 sec + terminal 30 sec)
 
        use internet for help
 
        man page
 
        built-in help
 
  
 +
{{hidden begin
 +
|title = Which character do command line options conventionally start with?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
-  the dollar sign
 +
||
 +
+  the dash sign (hyphen)
 +
|| Explanation: the dash sign is used to prefix a command line option, however, it can vary depending on the program developer. A single dash signals multiple, single-character flags and a double dash prefixes a single multicharacter option.
 +
- the greater-than sign
 +
||
 +
</quiz>
 +
{{hidden end}}
  
=== Quiz === <!--T:5-->
+
{{hidden begin
 +
|title = What happens if the control and c keys (Ctrl+C) are pressed simultaneously on the command line?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
+  the current command is aborted
 +
|| Explanation: on the command line pressing the Ctrl+C keys together aborts the command or program currently running and returns you to the command line. However, be aware that Ctrl+C may be used to copy text in a GUI environment!
 +
- a script starts running in the shell
 +
||
 +
- highlighted text is copied to the clipboard
 +
</quiz>
 +
{{hidden end}}
  
 
{{hidden begin  
 
{{hidden begin  
|title = Which keys can be used for command history?
+
|title = Which one of these is not (normally) an element of the console prompt statement?
 
}}
 
}}
 
<quiz display=simple>
 
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
+ A. up- and down-arrow keys
+
-  working directory
|| Explanation: up- and down-arrow keys (↑ and ↓) can be used for command history. The behavior of Page-up and Page-down keys depends on the setting of a terminal. But normally the command history is not available by using the Page-up and Page-down keys.
+
||
- B. Page-up and Page-down keys
+
-  user name
 +
||
 +
-  host name
 +
+ time and date
 +
|| Explanation: the time and date is not normally shown in the console prompt statement, however, be aware that this behaviour can be changed!
 
||  
 
||  
 
</quiz>
 
</quiz>
 
{{hidden end}}
 
{{hidden end}}
  
{{Warning|mode=info|text= '''Working directory in console reminds user, where they are. (page 3)'''}}
+
{{hidden begin
 +
|title = How can I list all available commands if I don’t know the exact name of the command, for example?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
-  press the enter key
 +
||
 +
-  read the man pages
 +
||
 +
+  press the tab key
 +
|| Explanation: Auto-completion or tab-completion completes the rest of a partially typed command for you, if it is available on the system. If there are multiple possibilities, press the tab key a second time to list all available options.
 +
||
 +
-  use the --help option
 +
</quiz>
 +
{{hidden end}}
  
{{Warning|mode=warn|text= '''In command line user may forget where they are. (page 2)</br>
+
{{Warning|mode=info|text= ''' Working directory in console reminds user, where they are. (page 27)'''}}
    Child processes may stop, if parent shell exits. (page 2)'''}}
 
  
 +
{{Warning|mode=warn|text= '''  In command line user may forget where they are. (page 26)'''</br>
 +
    '''Child processes may stop, if parent shell exits. (page 26)'''}}
  
 
=== Exercises in Terminal === <!--T:5-->  
 
=== Exercises in Terminal === <!--T:5-->  
Line 74: Line 103:
 
     |-  
 
     |-  
 
     |  
 
     |  
       1. In the command line prompt, e.g. [username@hostname ~]$ , you can find your username as username directly.
+
       1. In the command line prompt, e.g.<code>[username@hostname ~]$</code> , you can find your username as username directly.
       2. The Linux command whoami can also show your username.
+
       2. The Linux command <code>whoami</code> can also show your username.
 
     |}
 
     |}
 
  2. What's the hostname of a Linux computer?
 
  2. What's the hostname of a Linux computer?
Line 83: Line 112:
 
     |-  
 
     |-  
 
     |  
 
     |  
       1. In the command line prompt, e.g. [username@hostname ~]$ , you can find the hostname as hostname directly.
+
       1. In the command line prompt, e.g. <code>[username@hostname ~]$</code> , you can find the hostname as hostname directly.
 
       2. The Linux command hostname can also give you the hostname.
 
       2. The Linux command hostname can also give you the hostname.
 
     |}
 
     |}
Line 93: Line 122:
 
     |-  
 
     |-  
 
     |  
 
     |  
       1. In the command line prompt, e.g. [username@hostname ~]$ , you can find your current working directory is ~, which means your $HOME directory.
+
       1. In the command line prompt, e.g. <code>[username@hostname ~]$</code> , you can find your current working directory is <code>~</code>, which means your $HOME directory.
       2. The Linux command pwd can also show your current working directory.
+
       2. The Linux command <code>pwd can also show your current working directory.
 
     |}
 
     |}
 
              
 
              
  4.  Use up- and down-arrow keys to see the command history.
+
  4.  Use up- and down- (↑ and ↓) arrow keys to see the command history.
 
     {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     | <strong>Explanation:</strong>
 
     | <strong>Explanation:</strong>
 
     |-  
 
     |-  
 
     |  
 
     |  
       The up- and down- arrow keys can be used to navigate command history.
+
       The up- and down- (↑ and ↓) arrow keys can be used to navigate command history.
 
     |}
 
     |}
 
          
 
          
  5.  Run sleep 1h command and wait, then use Ctrl-C to kill it.
+
  5.  Run sleep 1h command and wait, then use <code>Ctrl-C</code> to kill it.
 
     {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     | <strong>Explanation:</strong>
 
     | <strong>Explanation:</strong>
Line 111: Line 140:
 
     |  
 
     |  
 
       sleep 1h puts the terminal into idle, e.g. terminal is doing nothing, for 1 hour.
 
       sleep 1h puts the terminal into idle, e.g. terminal is doing nothing, for 1 hour.
       Ctrl-C kills the current command. In this exercise it's sleep 1h.
+
       <code>Ctrl-C</code> kills the current command. In this exercise it's sleep 1h.
 
     |}
 
     |}
 +
 +
{{Tutorial Navigation
 +
| previous = [[Introduction_to_Linux_in_HPC/Historical_Background | Background and History ]]
 +
| main = [[Introduction_to_Linux_in_HPC | Overview ]]
 +
| next = [[Introduction_to_Linux_in_HPC/Directory_structure | Linux Directory Structure ]]
 +
}}

Latest revision as of 17:20, 4 December 2020

Tutorial
Title: Introduction to Linux in HPC
Provider: HPC.NRW

Contact: tutorials@hpc.nrw
Type: Multi-part video
Topic Area: HPC Platforms
License: CC-BY-SA
Syllabus

1. Background and History
2. The Command Line
3. Linux Directory Structure
4. Files
5. Text display and search
6. Users and permissions
7. Processes
8. The vim text editor
9. Shell scripting
10. Environment variables
11. System configuration
12. SSH Connections
13. SSH: Graphics and File Transfer
14. Various tips

This part of the tutorial introduces one of the most important tools in Linux-based systems: the command line. The command line is basically a text interface for your computer and it can be pretty daunting at first if you are used to a graphical user interface (GUI). This short tutorial explains the basics enabling you to get started straight away!

Video

( Slides as pdf)

Quiz

Which keys can be used to access the command history?

up- and down-arrow keys
page-up and page-down keys

Which character do command line options conventionally start with?

the dollar sign
the dash sign (hyphen)
the greater-than sign

What happens if the control and c keys (Ctrl+C) are pressed simultaneously on the command line?

the current command is aborted
a script starts running in the shell
highlighted text is copied to the clipboard

Which one of these is not (normally) an element of the console prompt statement?

working directory
user name
host name
time and date

How can I list all available commands if I don’t know the exact name of the command, for example?

press the enter key
read the man pages
press the tab key
use the --help option


Info:  Working directory in console reminds user, where they are. (page 27)


Warning:  In command line user may forget where they are. (page 26)
Child processes may stop, if parent shell exits. (page 26)

Exercises in Terminal

1. What's your username on a Linux computer?
  There are two ways to find your username on a Linux computer 
2. What's the hostname of a Linux computer?
  There are two ways to find the hostname on a Linux computer.
3. What's your current working directory on a Linux computer?
   There are two ways to find your current working directory on a Linux computer.
4.  Use up- and down- (↑ and ↓) arrow keys to see the command history.
5.  Run sleep 1h command and wait, then use Ctrl-C to kill it.


<< Background and History

Overview

Linux Directory Structure >>