Difference between revisions of "Introduction to Linux in HPC/Files"
Introduction to Linux in HPC/Files
Jump to navigation
Jump to search
m (Tweak page sorting and title) |
|||
| (12 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category:Tutorials]]<nowiki /> | + | [[Category:Tutorials|File Handling (Linux)]]<nowiki /> |
| − | {{DISPLAYTITLE: | + | {{DISPLAYTITLE:File Handling (Linux)}}<nowiki /> |
{{Syllabus Introduction to Linux}}<nowiki /> | {{Syllabus Introduction to Linux}}<nowiki /> | ||
__TOC__ | __TOC__ | ||
| + | |||
| + | 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 10: | 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.'''}} | + | {{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 when using | + | {{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).'''}} |
=== Quiz === <!--T:5--> | === Quiz === <!--T:5--> | ||
| − | + | ---- | |
{{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> | + | + 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. | + | {{Warning|mode=warn|text=''' <code>rm -f</code>: no confirmation! Use with care.'''}} |
| − | + | ---- | |
{{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 51: | Line 53: | ||
{{hidden end}} | {{hidden end}} | ||
| − | {{Warning|mode=warn|text='''The shell expands wildcards before they are passed as arguments! In some cases (when using <code>find</code> with a wildcard | + | {{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
| 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>?
| 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
| 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.
| Answer: |
The complete command is
|
2. Use the find command to search for directories, whose name begins with test and ends with _dir, in your home directory.
| Answer: |
The complete command is find $HOME -type d -name "test*_dir"
find can be used to search files and directories.
$HOME is your home directory.
-type d means only directory (not file) will be shown.
-name "test*_dir" specifies the required directory name, which begins with test and ends with _dir. The wild card * matches any characters in between.
|