Difference between revisions of "Introduction to Linux in HPC/Text display search"
Introduction to Linux in HPC/Text display search
Jump to navigation
Jump to search
m (Fixed the answer 4 to question no. 2, so that at least one answer is correct.) |
|||
(30 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Tutorials|Text Display and Search (linux)]]<nowiki /> | ||
+ | {{DISPLAYTITLE:Text Display and Search}}<nowiki /> | ||
+ | {{Syllabus Introduction to Linux}}<nowiki /> | ||
__TOC__ | __TOC__ | ||
+ | |||
+ | This part of the tutorial introduces the text input and output of the Linux console as well as common text based operations. It explains how different types of in- and output can be handled as well as different ways of text based console commands, their usage and their differences. | ||
=== Video === <!--T:5--> | === Video === <!--T:5--> | ||
− | <youtube width="600" height=" | + | <youtube width="600" height="340" right>LO1dkFm0GUE</youtube> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_05_Text_Display_and_Search.pdf | Slides as pdf]]) | ||
=== Quiz === <!--T:5--> | === Quiz === <!--T:5--> | ||
Line 48: | Line 21: | ||
{ | { | ||
|type="()"} | |type="()"} | ||
− | - command > filename | + | - <code>command > filename</code> |
|| | || | ||
− | + command >> filename | + | + <code>command >> filename</code> |
− | || Explanation: The > operator redirects the output of command into filename. If filename exists already, its contents will be overwritten. The >> operator can redirect the output of command into filename as well, except that if filename exists, the new data are appended instead of overwritten. | + | || Explanation: The <code>></code> operator redirects the output of command into filename. If filename exists already, its contents will be overwritten. The <code>>></code> operator can redirect the output of command into filename as well, except that if filename exists, the new data are appended instead of overwritten. |
</quiz> | </quiz> | ||
{{hidden end}} | {{hidden end}} | ||
{{hidden begin | {{hidden begin | ||
− | |title = 2. How do I find all files containing specific text on Linux? </br> | + | |title = 2. Which is the correct way to redirect stdout and stderr to the same file? |
− | HINT: use grep command | + | }} |
+ | <quiz display=simple> | ||
+ | { | ||
+ | |type="()"} | ||
+ | - <code>command > filename</code> | ||
+ | || | ||
+ | - <code>command 2> filename</code> | ||
+ | || | ||
+ | - <code>command | filename</code> | ||
+ | || | ||
+ | + <code>command > filename 2>&1</code> | ||
+ | || Explanation: The first <code>></code> operator redirects the standard output of command into filename. The second <code>></code> operator redirects the standard error (2) of command into the file descriptor <code>(&)</code> of standard output (1), which in this case is the same as filename. If filename exists already, its contents will be overwritten. | ||
+ | </quiz> | ||
+ | {{hidden end}} | ||
+ | |||
+ | {{hidden begin | ||
+ | |title = 3. How do I find all files containing specific text on Linux? </br> | ||
+ | HINT: use <code>grep</code> command | ||
}} | }} | ||
<quiz display=simple> | <quiz display=simple> | ||
Line 63: | Line 53: | ||
|type="()"} | |type="()"} | ||
+ Click and submit to see the answer | + Click and submit to see the answer | ||
− | || grep -rnw '/path/to/somewhere/' -e 'pattern' | + | || <code>grep -rnw '/path/to/somewhere/' -e 'pattern'</code> |
|| -r or -R is recursive, | || -r or -R is recursive, | ||
|| -n is line number, and | || -n is line number, and | ||
Line 71: | Line 61: | ||
{{hidden end}} | {{hidden end}} | ||
− | + | === Exercises in Terminal === <!--T:5--> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | === Exercises in Terminal | ||
1. Create a file using cat (some filename) and write some text in it as below. than use grep to find and display the line number and the line with the word Alan in the file. | 1. Create a file using cat (some filename) and write some text in it as below. than use grep to find and display the line number and the line with the word Alan in the file. | ||
Line 87: | Line 71: | ||
|- | |- | ||
| | | | ||
+ | <syntaxhighlight lang="bash"> | ||
$ cat > quote.txt <<"EOF" \ > the best way to predict \ > the future is to invent it | $ cat > quote.txt <<"EOF" \ > the best way to predict \ > the future is to invent it | ||
> - Alan Kay | > - Alan Kay | ||
> EOF | > EOF | ||
− | EOF mean end of file. Press enter to get a new line while writing text. With cat > filename you write the file content in the file quote.txt. | + | </syntaxhighlight> |
+ | EOF mean end of file. Press enter to get a new line while writing text. With <code>cat > filename</code> you write the file content in the file quote.txt. | ||
Further use grep as below | Further use grep as below | ||
+ | <syntaxhighlight lang="bash"> | ||
$ grep -in alan quote.txt | $ grep -in alan quote.txt | ||
3: - Alan Kay | 3: - Alan Kay | ||
+ | </syntaxhighlight> | ||
grep command option - | grep command option - | ||
- i to ignore case distinctions, so that characters that differ only in case match each other. | - i to ignore case distinctions, so that characters that differ only in case match each other. | ||
- n for line number | - n for line number | ||
|} | |} | ||
+ | |||
+ | {{Tutorial Navigation | ||
+ | | previous = [[Introduction_to_Linux_in_HPC/Files | Files ]] | ||
+ | | main = [[Introduction_to_Linux_in_HPC | Overview ]] | ||
+ | | next = [[Introduction_to_Linux_in_HPC/Users_and_permissions | Users and Permissions ]] | ||
+ | }} |
Latest revision as of 09:41, 11 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 text input and output of the Linux console as well as common text based operations. It explains how different types of in- and output can be handled as well as different ways of text based console commands, their usage and their differences.
Video
Quiz
1. Which command can be used to append text to filename?
2. Which is the correct way to redirect stdout and stderr to the same file?
3. How do I find all files containing specific text on Linux?
HINT: use
HINT: use
grep
command
Exercises in Terminal
1. Create a file using cat (some filename) and write some text in it as below. than use grep to find and display the line number and the line with the word Alan in the file. the best way to predict the future is to invent it – Alan Kay
Answer: |
$ cat > quote.txt <<"EOF" \ > the best way to predict \ > the future is to invent it
> - Alan Kay
> EOF
EOF mean end of file. Press enter to get a new line while writing text. With
Further use grep as below $ grep -in alan quote.txt
3: - Alan Kay
grep command option - - i to ignore case distinctions, so that characters that differ only in case match each other. - n for line number |