Difference between revisions of "Introduction to Linux in HPC/Files"

From HPC Wiki
Introduction to Linux in HPC/Files
Jump to navigation Jump to search
m (Tweak page sorting and title)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Tutorials]]<nowiki />
+
[[Category:Tutorials|File Handling (Linux)]]<nowiki />
{{DISPLAYTITLE:<span style="position:absolute; top:-9999px;">Introduction to Linux in HPC/</span>Files}}<nowiki />
+
{{DISPLAYTITLE:File Handling (Linux)}}<nowiki />
 
{{Syllabus Introduction to Linux}}<nowiki />
 
{{Syllabus Introduction to Linux}}<nowiki />
 
__TOC__
 
__TOC__
  
This part of the tutorial will explain how Linux deals with files and explain how to list, copy, move and find files in the directory structure.
+
This part of the tutorial will introduce how Linux deals with files and explain how to list, copy, move and find files in the directory structure.
  
 
=== Video === <!--T:5-->
 
=== Video === <!--T:5-->
Line 12: Line 12:
 
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_04_Files.pdf | Slides as pdf]])
 
([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_04_Files.pdf | Slides as pdf]])
  
{{Warning|mode=info|text= ''' <code>ll</code> is an alias for <code>ls -laF</code> often available by default on many Linux distributions. It provides additional information such as file sizes, modification dates and full paths in the case of links.'''}}
+
{{Warning|mode=info|text= ''' <code>ll</code> is an alias for <code>ls -laF</code>, often available by default on many Linux distributions. It provides additional information such as file sizes, modification dates and full paths in the case of links.'''}}
  
 
{{Warning|mode=info|text= ''' <code>ls -d *</code> can be used to list only directory names instead of their contents when using the <code>*</code> pattern (or other wildcards).'''}}  
 
{{Warning|mode=info|text= ''' <code>ls -d *</code> can be used to list only directory names instead of their contents when using the <code>*</code> pattern (or other wildcards).'''}}  
Line 18: Line 18:
 
=== Quiz === <!--T:5-->   
 
=== Quiz === <!--T:5-->   
  
==== Q1 ====
+
----
  
 
{{hidden begin  
 
{{hidden begin  
|title = Can you copy directory with <code>cp <old_dir> <new_dir></code>?
+
|title = 1. Can you copy directory with <code>cp <old_dir> <new_dir></code>?
 
}}
 
}}
 
<quiz display=simple>
 
<quiz display=simple>
 
{
 
{
 
|type="()"}
 
|type="()"}
- Yes
+
- Yes.
 
||  
 
||  
+ No, <code>-r</code> option is needed for copying directory
+
+ No, the <code>-r</code> argument is needed to copy a directory.
 
|| Explanation: Without any option the <code>cp</code> command can only be used to copy files (text files as well as binary files). To copy a directory, the <code>-r</code> option must be used and it means to copy a given directory in a recursive manner, e.g. one file after another in a directory.
 
|| Explanation: Without any option the <code>cp</code> command can only be used to copy files (text files as well as binary files). To copy a directory, the <code>-r</code> option must be used and it means to copy a given directory in a recursive manner, e.g. one file after another in a directory.
 
</quiz>
 
</quiz>
 
{{hidden end}}
 
{{hidden end}}
  
{{Warning|mode=warn|text=''' <code>rm -f</code>: no confirmation! Use with care. (page 5)'''}}
+
{{Warning|mode=warn|text=''' <code>rm -f</code>: no confirmation! Use with care.'''}}
  
==== Q2 ====
+
----
  
 
{{hidden begin  
 
{{hidden begin  
|title = What would be a suitable wildcard for listing the files <code>test_01</code> <code>test_02</code> <code>test_03</code> and <code>prod_02</code> but NOT <code>test_04</code> and <code>debug_02</code>
+
|title = 2. What would be a suitable wildcard for listing the files <code>test_01</code>, <code>test_02</code>, <code>test_03</code> and <code>prod_02</code> but NOT <code>test_04</code> and <code>debug_02</code>
 
}}
 
}}
 
<quiz display=simple>
 
<quiz display=simple>
Line 53: Line 53:
 
{{hidden end}}
 
{{hidden end}}
  
{{Warning|mode=warn|text='''The shell expands wildcards before they are passed as arguments! In some cases (for example, when using <code>find</code> with a wildcard), you should enclose the wildcard in quotes: <code>find . -type f -name "*test*"</code> (page 8)'''}}
+
{{Warning|mode=warn|text='''The shell expands wildcards before they are passed as arguments! In some cases (for example, when using <code>find</code> with a wildcard), you should enclose the wildcard in quotes: <code>find . -type f -name "*test*"</code>.'''}}
 +
 
 +
----
  
 
=== Exercises in Terminal === <!--T:5-->   
 
=== Exercises in Terminal === <!--T:5-->   

Latest revision as of 16:21, 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 will introduce how Linux deals with files and explain how to list, copy, move and find files in the directory structure.

Video

( Slides as pdf)


Info:  ll is an alias for ls -laF, often available by default on many Linux distributions. It provides additional information such as file sizes, modification dates and full paths in the case of links.


Info:  ls -d * can be used to list only directory names instead of their contents when using the * pattern (or other wildcards).

Quiz


1. Can you copy directory with cp <old_dir> <new_dir>?

Yes.
No, the -r argument is needed to copy a directory.


Warning:  rm -f: no confirmation! Use with care.

2. What would be a suitable wildcard for listing the files test_01, test_02, test_03 and prod_02 but NOT test_04 and debug_02

*_*
[t,p]*_*
[t,p]???_0[1-3]
*_0[1-3]


Warning:  The shell expands wildcards before they are passed as arguments! In some cases (for example, when using find with a wildcard), you should enclose the wildcard in quotes: find . -type f -name "*test*".

Exercises in Terminal

1. Use the find command to search for files, whose name ends with dat, in your home directory.
2. Use the find command to search for directories, whose name begins with test and ends with _dir, in your home directory.


<< Linux Directory Structure

Overview

Text Display and Search >>