Difference between revisions of "Introduction to Linux in HPC/Linux Directory Structure"

From HPC Wiki
Introduction to Linux in HPC/Linux Directory Structure
Jump to: navigation, search
m (Tweak category sorting)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Tutorials|Linux Directory Structure]]<nowiki />
 +
{{DISPLAYTITLE:Linux Directory Structure}}<nowiki />
 +
{{Syllabus Introduction to Linux}}<nowiki />
 
__TOC__
 
__TOC__
  
{{Infobox table
+
This part of the tutorial introduces the directory structure on a Linux system and shows how to navigate in it. It explains how a path looks like in Linux, which standard directory structure is shared by most systems and how to navigate from one directory to another.
| REAL-NAME    = HPC.NRW
 
| image  =  Hpc.nrw_small.png ‎
 
| Feldnamehead1 = Other HPC Courses
 
| Feldname2 = GPU      | Daten3 = Introduction to GPU Programming
 
| Feldname3 = GPROF    | Daten4 = [https://hpc-wiki.info/hpc/GPROF_Tutorial Gprof Tutorial]
 
| Feldnamehead2 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Introduction to Linux in HPC]
 
| Feldname5 = 1. | Daten6 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Historical_Background Historical Background]
 
| Feldname6 = 2. | Daten7 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_Command_Line The Command Line]
 
| Feldname7 = 3. | Daten8 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Directory_structure Directory structure]
 
| Feldname8 = 4. | Daten9 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Files Files]
 
| Feldname9 = 5. | Daten10 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Text_display_search Text display search]
 
| Feldname10 = 6. | Daten11 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Processes_and_permissions Processes and permissions]
 
| Feldname11 = 7. | Daten12 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_vim_text_editor The vim text editor]
 
| Feldname12 = 8. | Daten13 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Shell_scripting_environment_variables Shell scripting environment variables]
 
| Feldname13 = 9. | Daten14 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/System_configuration_files System configuration files]
 
| Feldname14 = 10. | Daten15 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Various_tips Various tips]
 
| Feldname15= 11. | Daten16 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Beyond_the_cluster Beyond the cluster]
 
| Feldname16= 12. | Daten17 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Linux_in_HPC Linux in HPC]
 
| Feldname17= 12. | Daten18 = [https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/SSH_Login SSH Login]
 
}}
 
  
 
=== Video === <!--T:5-->
 
=== Video === <!--T:5-->
  
<youtube width="600" height="400" right>IfD9IPixgpo</youtube>
+
<youtube width="600" height="340" right>rV7Hwi__zZo</youtube>
  
 +
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_03_Linux_Directory_Structure.pdf|Slides as pdf]])
  
 
=== Quiz === <!--T:5-->   
 
=== Quiz === <!--T:5-->   
Line 41: Line 25:
 
||  
 
||  
 
-  <code>C:\</code>
 
-  <code>C:\</code>
||  
+
|| That's Windows
 
</quiz>
 
</quiz>
 
{{hidden end}}
 
{{hidden end}}
Line 47: Line 31:
  
 
{{hidden begin  
 
{{hidden begin  
|title = 2. The command <code>cd</code> without arguments : if you start in <code>var/log/</code> and run <code>cd</code> with no arguments, what do you expect will happen?
+
|title = 2. The command <code>cd</code> without arguments: if you start in <code>/var/log/</code> and run <code>cd</code> with no arguments, what do you expect will happen?
 
}}
 
}}
 
<quiz display=simple>
 
<quiz display=simple>
Line 63: Line 47:
 
||
 
||
 
- The shell prompt turns into a shark and eats you
 
- The shell prompt turns into a shark and eats you
 +
||
 +
</quiz>
 +
{{hidden end}}
 +
 +
 +
{{hidden begin
 +
|title = 3. Which of these oversimplifications describes the directory structure in a Linux system best?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
- Everything is a directory
 +
||
 +
+ Everything is a file
 +
|| Explanation: In Linux, directories are files with a directory flag. There are even more "special" files, like <code>/dev/null/</code>, <code>/proc/cpuinfo/</code> or links.
 +
- Directories are files and files are directories
 +
|| Explanation:  Directories are files, but files are not directories
 +
- All of the above
 
||
 
||
 
</quiz>
 
</quiz>
Line 70: Line 72:
 
{{Warning|mode=warn|text= '''no undo and make sure what you want to do (page 48)'''}}
 
{{Warning|mode=warn|text= '''no undo and make sure what you want to do (page 48)'''}}
  
 +
=== Exercises in Terminal=== <!--T:5-->
  
=== Exercises in Terminal (slide 49)=== <!--T:5-->
+
  4. Go to a specific subfolder of a folder (example: <code>cd Documents/courses/</code>) and get back to the home directory using <code>cd</code> command. List 3 different ways to do it using one command. Check after every action your path with <code>pwd</code> command.
 
 
  1. Go to a specific subfolder of a folder (example: <code>cd Documents/courses/</code> ) and get back to the home directory using <code>cd</code> command. List 3 different ways to do it using one command. check after every action your path with <code>pwd</code> command.
 
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     | <strong>Answer:</strong>
 
     | <strong>Answer:</strong>
Line 81: Line 82:
 
       <code>cd ~</code>
 
       <code>cd ~</code>
 
       <code>cd $HOME</code>
 
       <code>cd $HOME</code>
         the last option $HOME is an enviornment variable. You will learn about enviornment variables later.
+
         the last option $HOME is an environment variable. You will learn about environment variables later.
 
     |}
 
     |}
 
        
 
        
  2. Go to the directory <code>/tmp</code> and jump between <code>/tmp</code> and your home directory back and forth. check after every action your path with <code>pwd</code> command.
+
  5. Go to the directory <code>/tmp</code> and jump between <code>/tmp</code> and your home directory back and forth. Check after every action your path with <code>pwd</code> command.
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
   {| role="presentation" class="wikitable mw-collapsible mw-collapsed"
 
     | <strong>Answer:</strong>
 
     | <strong>Answer:</strong>
Line 94: Line 95:
 
     |}
 
     |}
  
<div style='text-align: left;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/The_Command_Line Previous Page]|color=white}}</div>
+
 
<div style='text-align: center;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC Main Menu Page]|color=white}}</div>
+
{{hidden begin
<div style='text-align: right;float:left;width:33%;'>{{Clickable button|[https://hpc-wiki.info/hpc/Introduction_to_Linux_in_HPC/Files Next Page]|color=white}}</div>
+
|title = Bonus question: How do you copy and paste in the Linux terminal?
 +
}}
 +
<quiz display=simple>
 +
{
 +
|type="()"}
 +
- Ctrl-C & Ctrl-V
 +
|| That's Windows
 +
- <code>yy</code> & <code>pp</code>
 +
|| That's vim
 +
+ Middle Mouse
 +
|| Alternative Solution: Ctrl-Shift-C & Ctrl-Shift-V
 +
-You can't, that's a Windows feature.
 +
||
 +
</quiz>
 +
{{hidden end}}
 +
 
 +
 
 +
{{Tutorial Navigation
 +
| previous = [[Introduction_to_Linux_in_HPC/The_Command_Line | The Command Line ]]
 +
| main = [[Introduction_to_Linux_in_HPC | Overview ]]
 +
| next = [[Introduction_to_Linux_in_HPC/Files | Files ]]
 +
}}

Latest revision as of 16: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 the directory structure on a Linux system and shows how to navigate in it. It explains how a path looks like in Linux, which standard directory structure is shared by most systems and how to navigate from one directory to another.

Video

(Slides as pdf)

Quiz

1. Which one is the top directory in Linux?

/
/home
C:\


2. The command cd without arguments: if you start in /var/log/ and run cd with no arguments, what do you expect will happen?

Nothing it stays in /var/log/
It goes to your home directory
It goes to the filesystem root
The shell stops having a working directory
It’s an error
The shell prompt turns into a shark and eats you


3. Which of these oversimplifications describes the directory structure in a Linux system best?

Everything is a directory
Everything is a file
Directories are files and files are directories
All of the above


Warning:  no undo and make sure what you want to do (page 48)

Exercises in Terminal

4. Go to a specific subfolder of a folder (example: cd Documents/courses/) and get back to the home directory using cd command. List 3 different ways to do it using one command. Check after every action your path with pwd command.
5. Go to the directory /tmp and jump between /tmp and your home directory back and forth. Check after every action your path with pwd command.


Bonus question: How do you copy and paste in the Linux terminal?

Ctrl-C & Ctrl-V
yy & pp
Middle Mouse
You can't, that's a Windows feature.



<< The Command Line

Overview

Files >>