1,234
edits
Changes
no edit summary
{{Admon/caution|DO NOT USE THIS VERSION OF THE LAB. This page will no longer be updated.|'''New version here:''' https://seneca-ictoer.github.io/ULI101/A-Tutorials/tutorial1<br />'''Andrew's students please go here:''' http://wiki.littlesvr.ca/wiki/OPS145_Lab_1}}=ABOUT USING YOUR MATRIX SERVER ACCOUNT====Main Objectives of this Tutorial===* Learn how to access your '''Matrix''' server account (from home and/or from Seneca computer lab).* Learn several ways to '''exit''' your Matrix Linux Account session.* Understand the '''Linux command structure''' and how to get '''help''' with Linux command usage.* Become efficient with '''Linux command line editing''' by using '''short-cut keys'''.* Issue a '''checking program''' (i.e. ''Shell Script'') to '''confirm''' that you accessed your Matrix account.* Perform '''LINUX PRACTICE QUESTIONS''' for additional practice.
===Main Objectives of this Practice TutorialReference Material===
|- valign="top" style==Purpose of Having a Matrix Account==="padding-left:15px;"
| style="padding-left:*15px;" |'''Lab 1Matrix Account Access:''' Create a *[https://ss64.com/bash/logout.html logout , exit]<br>*[https://www.quora.com/What-is-the-difference-between-typing-Ctrl+C-and-Ctrl+D-in-the-Linux-terminal <ctrl><d>]*[http://man7.org/linux/man-pages/man1/passwd.1.html passwd]<br>'''CentOS 7 Host virtual machineCommand Line Editing:''' (called *[https://www.ostechnix.com/list-useful-bash-keyboard-shortcuts/ Bash Shell Shortcut Keys]<br>| style="padding-left:15px;"|'''c7hostGeneral Linux Commands:''') in the virtual program called '''VMware Workstation''' (this host will be stored on your Solid State External Drive (SSD)*[http://man7.org/linux/man-pages/man1/pwd.1.html pwd]<br>*[http://man7.org/linux/man-pages/man1/cd.1p.html cd]<br>*[http://man7.org/linux/man-pages/man1/ls.1p.html ls]<br>*[http://man7.org/linux/man-pages/man1/cal.1.html cal]<br>*[http://man7.org/linux/man-pages/man1/date.1.html date]<br>*[http://man7.org/linux/man-pages/man1/who.1.html who] , [http://man7.org/linux/man-pages/man1/w.1.html w]<br>*[http://man7.org/linux/man-pages/man1/whoami.1.html whoami ,who am i]<br>*[http://man7.org/linux/man-pages/man1/clear.1.html clear , <ctrl><l>]<br>
|colspan="1" style="padding-left:15px;" width="30%"|'''Brauer Instructional Videos:'''<ul><li>[https://www.youtube.com/watch?v=L5RcOngDV_o Connecting to Matrix Using SSH Client, and Running UBUNTU Within Windows 10]<br><br></li><li>[https://www.youtube.com/watch?v=3wZmZOKLllk&list=PLU1b1f-2Oe90TuYfifnWulINjMv_Wr16N&index=2 Linux File System, Basic Navigation (ls, cd, pwd, tree), Absolute and Relative Paths]</li></ul>
= KEY CONCEPTS=
===Purpose of Your Student Account on Matrix===
While attending Seneca College, you will be using many different computer systems.
Some of these servers include:
{|width="100%" cellspacing="0"
|- valign| style="toppadding-left:0px;width:10%"|'''learn.senecacollege.ca'''| style="padding-left:15px;width:65%" |Learning Content Management System (''Link to Resources'' / ''Student Grades'' / ''Online Quizzes'')
|colspan="2" -| style="fontpadding-sizeleft:16px0px;font-weightwidth:bold;border10%" |'''wiki.cdot.senecacollege.ca'''| style="padding-bottomleft: thin solid black15px;border-spacingwidth:0px;65%"|Minimum Required Materials<br>''Lecture Notes'' / ''Tutorials'' (weekly, review) / ''Practice Questions'' / ''Additional Learning Resources''
|colspan="3" -| style="fontpadding-sizeleft:16px0px;font-weightwidth:bold;border-bottom: thin solid black;border-spacing10%" |'''<span style="color:0px;padding-left:15pxblue;"|Linux Command Reference>matrix.senecacollege.ca<br/span>'''|- valign="top" style="padding-left:15px;width:65%" | |[[Image:ssdMatrix is our Linux server environment used for "''hands-on practice''". Each ULI101 student has an account on this server.png|thumb|left|175px|<b>Solid State Drive</b><br>Minimum Size: 250GB]]
|}
===Layout of the Matrix Linux Server===
[[Image:matrix-layout.png|thumb|right|250px|The Matrix server consists of several Computers connected together to form a '''cluster'''. A '''Linux Cluster''' is a '''cost effective''' alternative to larger servers. ]]
The '''Matrix server''' consists of '''several computers connected together''' to form a '''cluster'''.<br>A '''Linux cluster''' is a '''cost effective''' alternative to buying larger servers.
All registered students in this course should have an account on the Matrix server.<br>You will be using this account for the following reasons:
:* Issuing '''Linux commands''':* Becoming productive using the Linux '''command prompt''' ('''shell'''):* Performing '''Linux Tutorials''' ('''11 Weekly Tutorials x 2% = 22% of your final grade'''<u>c7host VM Details):</u>* Performing '''Linux Practice Questions''':* Performing '''Review Tutorial''' ('''8 Sections x 1% = 8% of your final grade''')
'''Method 1: Run ssh Command from command prompt:'''
[[Image:gp1.png|thumb|right|130px|The '''Perform Seneca Student VPN''' service must be connected.]]You will now learn a quick and simple method of connecting to your Matrix account by opening<br>a text-based '''terminal''' (in any OS) and issuing the Following Steps:'''ssh command'''.<br><br>
'''Perform the Following Steps:''' #During If you want to connect to your Matrix account from home, you MUST first connect to the Seneca Student VPN.<br>Make certain that your '''Seneca Student VPN is connected'''.<br><br>'''NOTE:''' If you haven't set this up, refer to the installation processfollowing link for instructions;<br>https://students.senecacollege.ca/spaces/186/it-services/wiki/view/1025/student-vpn<br><br>You only have to connect to your Seneca student VPN once during the day, <br>or while you are logged into your computer.<br><br># Determine which '''operating system''' that your computer is using.<br><br># Try connecting to your Matrix account using the instructions in the '''table''' below based on <u>your</u> '''current operating system'''.<br><br><table style="margin-left:50px;"> <tr valign="top" style="text-align:center;"> <th>'''Windows 10 (or above):'''</th> <th>'''macOS:''' </th> <th>'''Linux:''' </th> </tr> <tr> <td>*From the start menu, type '''cmd''' and launch program*In the command terminal, enter the following command:<br><span style="color:blue;font-weight:bold;font-size:.75em;">ssh senecausername@matrix.senecacollege.ca</span> </td> <td>*Click ''Launchpad'' icon, type '''terminal'''<br>and press '''ENTER'''*In the terminal, enter the following command:<br><span style="color:blue;font-weight:bold;font-size:.75em;">ssh senecausername@matrix.senecacollege.ca</span> </td> <td> *From the menu, choose:<br>'''Applications''' > '''System Tools''' > '''Terminal'''*In the terminal, enter the following command:<br><span style="color:blue;font-weight:bold;font-size:.75em;">ssh senecausername@matrix.senecacollege.ca</span> </td> </tr></table><ol><li value="4">When connecting securely for the '''first time''', a '''dialog box''' will required appear to create share a "'''root passwordpublic key''' " with your Matrix account in order to make your interaction between your workstation and the remote Linux server secure within the network (for administration i.e. encrypted to prevent unauthorized accessby other users) <br><br>''<b>FYI:</b> To make communications over a network '''secure''', a computer generates '''two keys''': a '''private key''' that is kept on the computer, and create a '''regular user accountpublic key''', which can be shared with other computers. Click on Transmissions from your computer uses the private key to encrypt ('''Root Passwordscramble''' ) transmission to the remote computer, which in turn, uses the public key to decrypt (unscramble) the transmission. Likewise, the remote computer uses the public key to encrypt (scramble) transmissions and enter your root passwordcomputer uses the private key to decrypt ('''unscramble''') those transmissions. Think of an appropriate password ''<br><br></li><li>Type '''yes''' and record that press '''ENTER''' to share your public key.<br><br>Next, a '''dialog box''' will appear prompting you for your Matrix account '''password somewhere ''' in case you forget! An indicator will appear order to gain entry to show you how secure your Matrix account.<br>Your Matrix password is. Retype <u>identical</u> to your root Seneca password and click .<br><br>'''DoneNOTE:''' (As you type the password, the text may have be '''hidden''' to click Done prevent others from viewing your password<br><ubr>twice</uli><li> if Enter your Seneca password is not considered and press '''ENTER'''<br><br></li>'''NOTE:''' If you encounter an '''error message''', this can occur for several reasons:<ol><li>You mis-spelled the '''name of the server'''</li><li>You mis-spelled your Matrix '''username''' (same username that you connect to ''my.senecacollege.ca'')</li><li>You have '''CAPS LOCK''' on by mistake (your username should be a strong password'''lowercase''' only).#</li><li>You need mis-spelled your '''password''' (same password that you connect to create a regular user account''my.senecacollege. This account will be used ca'')<br><br>If you continue to graphical log into experience the same problems, click on the following link for IT service desk contact info: <br>[https://students.senecacollege.ca/spaces/190/support/wiki/view/1473/contact-its '''IT service desk'''].<br><br></li></ol><li>If you entered your host machinepassword correctly, the '''Matrix Linux shell''' should appear where you can enter Linux commands. It is never recommended <br><br>The '''Matrix''' server has been configured to allow users to graphically log into a graphical '''only interact with the Linux/Unix system as rootOS by issuing commands'''. It <br>The main reason for this is better to log into a regular user account, then run a command '''force students to login as root (you will learn how to do this later in this lab)issue Linux commands'''.#Click <br><br></li><li>To '''User Creationexit''' and enter your Matrix session, type the command <span style="color:blue;font-weight:bold">exit</span> followed by '''ENTER'''full name<br><br>'''NOTE:''' You should notice that you are returned to the original command prompt where you issued the ''ssh'' command.<br><br></li><li>Type the same command at the '''command terminal prompt''': <span style="color:blue;font-weight:bold">exit</span> followed by '''ENTER''', <br><br>'''usernameNOTE:''', You should notice that the you are disconnected and an appropriate that the original terminal window has '''passwordautomatically closed''' (.<br><br></li><li>Try accessing your Matrix account, and confirm password)then exiting your Matrix account several times to become familiar with this process. Click <br><br>You will now learn an '''Donealternative method''' to finish access your Matrix account (click twice if password is not considered to be you have an MS Windows machine)<br>by downloading and running a strong password)graphical SSH application.<br/li></ol><br>{|width="50%" cellspacing="0"
You can also connect to your Matrix server account in the '''Seneca Computer lab via MyApps'''Answer Investigation 1 observations (all parts and questions) in .<br><br>One advantage of this method is that your lab log bookare at the college; therefore, '''you do NOT have to worry about connecting to the Seneca VPN'''.Another advantage of using this method is to introduce you to a '''graphical program''' to allow you connect to your Matrix account as opposed to using the '''ssh''' command (shown in the previous section).<br>
'''MyApps''' ('''AppsAnywhere''') is an application streaming service that lets you install software on any Seneca PC on demand. Any software application on the MyApps menu can be used on computers in classrooms, labs, and the Computing Commons.
'''Perform the Following Steps:'''
# Click on the '''Edit'''menu item, and then select '''Settings''' in the Edit drop-down menu.<br><br># To Disable change the Locked Screen-saversize of your shell window, under the ''Global Settings'' section, click '''Appearance'''<br><br># Change the ''window size'' both horizontal and vertical to larger values.<br><br># To change the font size, under the ''Global Settings'' section, click '''Font'''<br><br># Select a larger ''font size'' and click '''OK'''<br><br># You now should notice that you have customized your SSH shell terminal. You can use the settings screen to also change your background and text colours if you are interested in doing so.<br><br># To exit your Matrix session, Perform type the following stepscommand and press ENTER: <span style="color:blue;font-weight:bold">exit</span><br><br>'''NOTE:'''You should notice that the colour of the text changes slightly when disconnected and you are unable to issue Linux commands from that window.<br><br># After you have disconnected from your account, close the SSH Secure Shell Client application window.<br><br># It is recommended to repeat these steps with connecting to your Matrix account from a Seneca lab workstation until you become comfortable with the process.<br><br>
=INVESTIGATION 2: USING THE LINUX SHELL =
In this investigation, you will learn how to use the Linux Shell. Topics in the section include:
# Confirm that you are logged into your Matrix account.# Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">pwd</span>#* '''Explanation:''' The output from this Linux command shows your '''current location'''Perform on the Matrix server (otherwise known as your '''p'''resent '''w'''orking '''d'''irectory). This represents a '''directory pathname''' to your home directory. We will discuss ''pathnames'' later in this course.# Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">ls</span>#* '''Question:''' What do you notice?#* '''Answer:''' If there are any files in your home directory, only their file names are displayed.# Change your directory location by issuing the following command: <span style="font-family:courier;color:blue;font-weight:bold">cd /etc</span># Issue the following Linux command to confirm your changed current location: <span style="font-family:courier;color:blue;font-weight:bold">pwd</span>#* '''Result:''' Your Linux session should display <code>/etc/</code> when running this command. If your output is different, retrace your stepsto make sure you haven't skipped anything or had a typo in a command.# Issue the following Linux command again: <span style="font-family:courier;color:blue;font-weight:bold">ls</span>#* '''Question:''' What do you notice? How is this different from the last time you ran it?# Re-run the ls command using an '''option''': <span style="font-family:courier;color:blue;font-weight:bold">ls -l</span>#* '''Question:''' What do you notice?#* '''Answer:''' The '''-l''' option combined with the '''ls''' command displays a '''detailed''' ("''long''") listing of the same files, providing you with more information about each file. This is called metadata (data about data), and includes information such as last modified date, file size, ownership and permissions.# Return to your home directory: <span style="font-family:courier;color:blue;font-weight:bold">cd</span># Now confirm you've changed back to your home directory: <span style="font-family:courier;color:blue;font-weight:bold">pwd</span>#* '''Result:''' The shell should display <code>/home/''yourusername''</code># Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">ls /bin</span># Issue the following Linux command to confirm your current location: <span style="font-family:courier;color:blue;font-weight:bold">pwd</span>#* '''Question:''' What do you notice?#* '''Question:''' What makes this command with that argument useful if you are currently located in your home directory?# Issue the following Linux command:<span style="font-family:courier;color:blue;font-weight:bold">clear</span>#* '''Question:''' What do you notice? Why is this command helpful?#* '''Tip:''' The shortcut keys to clear the screen for the Bash shell are: <span style="font-family:courier;color:font-weight:bold">ctrl-l</span># Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">who</span>#* '''Question:''' What information does this command show?#* '''Answer:''' This command lists users that are logged into the same Linux server as yourself.#* '''NOTE:''' Remember that the Matrix Linux cluster contains several servers (or nodes). It won't display all users logged into the cluster, only the ones on the same node as you. # Issue the following Linux command: <span style="color:blue;font-weight:bold">whoami</span>#* '''Question:''' What does this command display?#* '''Question:''' What do you think is the purpose of this command?# Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">cal</span>#* '''Question:''' What does this command do?# Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">cal 2035</span>#* '''Question:''' How and why is the output different?# Issue the following Linux command: <span style="font-family:courier;color:blue;font-weight:bold">cal 2 2035</span>#* '''Question:''' What do each of these numbers do?#* '''Question:''' What do you think would happen if you reversed the order of those arguments? (i.e. cal 2035 2)
With the Linux OS containing over '''Answer Investigation 2 observations 2500''' commands and utilities, it's important for Linux users and Linux system administrators (all parts and questionssysadmin) in your lab log bookto learn how to use commands “on-the-fly”.'''
# For an example, issue the following command for the manual page about the manual utility: <span style="font-family:courier;color:blue;font-weight:bold">man man</span>
#* You may notice that the online manual categories commands into sections or '''numbered volumes'''.
# Press the '''SPACE''' key to move to the next screen.
#* '''Question:''' How many '''volume numbers''' are contained in the man pages (like '''executable commands''', '''games''', or '''system administrator commands''')?
# You can use the following '''shortcut keys''' within the man command to help navigate throughout this utility to get help with the ls command (refer to table below):
#::<table cellpadding="3"><tr><th style="border-bottom: 1px solid black;">Keyboard Shortcut</th><th style="border-bottom: 1px solid black;">Purpose</th></tr><tr><td>'''ENTER'''</td><td>Move down one line</td></tr><tr><td>'''SPACEBAR'''</td><td>Move one screen down</td></tr><tr><td>'''<ctrl><b>'''</td><td>Move one screen up</td></tr><tr><td>'''/pattern/'''</td><td>Search for Pattern</td></tr><tr><td>'''q'''</td><td>quit man utility</td></tr></table>
# If you are connected to Matrix through a terminal application, you can also use your mouse's scroll wheel.
# Press the <span style="font-family:courier;color:blue;font-weight:bold">q</span> key to exit the man command.
# Use the ''man'' utility to get help with the ''ls'' command: <span style="font-family:courier;color:blue;font-weight:bold">man ls</span>
# Navigate through the '''ls''' manual page and write down the '''option letters''' that correspond to the following descriptions:
#*"'''use a long listing format'''"
#*"'''do not ignore entries starting with .'''" (i.e. hidden files)
#*"'''sort by file size'''"
#*"'''append indicator (one of */=>&|) to entries'''" (i.e. type of file)
# Exit the man utility.
# Issue the '''ls''' command using <u>each</u> of those option letters you noted in '''step 5''' to see how the command's output changes with each option.
#* '''NOTE:''' The '''man''' utility can be used with the '''-k''' option to help list Linux commands that match a text pattern that is contained within the help screen for a Linux command.
# '''Pipeline commands''' can be used to filter-out unnecessary output. In the next command that you will be issuing, the output from the '''man -k''' command, is sent into the '''grep''' command to ''filter'' (i.e. ''trap'') only output that matches the pattern "8" (The number "8" refers to the category of type of command - in this case, administration commands). We will learn more about pipeline commands later in this course.
# Issue the following Linux pipeline command: <span style="font-family:courier;color:blue;font-weight:bold">man -k user | grep 8</span>
#* '''Question:''' How does this ''pipeline command'' make it easier to obtain information regarding man command?
# If you wish to change your password on typical Linux systems, you can by issuing the command: <span style="font-family:courier;color:blue;font-weight:bold">passwd</span>
{{Admon/caution|Do NOT run the <code>passwd</code> command on Matrix!|Unique to this college, your Linux password is changed automatically when you change your ''myseneca'' password.}}
#* '''Question:''' What option for the ''passwd'' command can be used to change user info (such as name)?
#* '''Hint:''' use the '''man''' command for '''passwd'''.
# Press the <span style="font-family:courier;color:blue;font-weight:bold">q</span> key to exit the man command.
Let's learn a few common Bash Shell keyboard shortcut keys and find out where you can access online help for additional shortcuts (if required).
'''Running a Shell Script to Check Student Online Tutorial Participation'''
<table align="right"><tr valign="top"><td>[[Image:script-check-1.png|thumb|right|250px|If all all check pass, then user performed can proceed.]]</td><td>[[Image:script-check-2.png|thumb|right|450px|If there is a warning, then feedback is provided to user to correct and re-run checking script.]]</td></table>
'''Perform the Following Steps:'''
# Make certain that your current directory is '''your home directory''' by entering the following Linux command:#* <span style="color:blue;font-weight:bold;font-family:courier;">cd</span># Issue the following command to run a checking script:#* <span style="font-family:courier;color:blue;font-weight:bold">~uli101/week1-check</span>#* '''Note:''' The beginning character "'''~'''" is called '''tilde'''. You may have learned about creating and running Bash Shell Scripts in get this character by pressing '''SHIFT''' + '''`''' (which is the key to the left of the number 1 on your ULI101 coursekeyboard). Shell scripts help Linux users # Your screen should clear and system administrators to automate repetitive tasks to become more efficient and to help them save timeindicate that you have proved that you have successfully logged in. You # An email will be reviewing and building a basic Bash Shell script sent to your Seneca email as '''confirmation''' in case your ULI101 professor is assigning marks to generate information reports these tutorials.#* Keep those confirmation email messages for your newlythe duration of this semester as proof that you have completed those checking scripts in case there is a discrepancy in tutorial grades.<!--installed Linux host machine.
NOTE: ONLINE ASSIGNMENTS ARE RETIRED AND REPLACED WITH ONLINE TUTORIALS and REVIEW QUESTIONS
You are required to perform '''3 online assignments''' throughout this course. This online assignment is used to teach and reinforce<br>Linux commands to gain experience for '''quizzes''', '''test 1''' (midterm) and '''test 2''' (final).
In this investigation, you will learn to:* '''Select the correct section''' for assignment submission* Perform the '''NOTE:first section''' Although it is possible to copy and paste, is it highly recommended to manually enter '''3 parts of the following Bash Shell scripting content to become familiar with writing Bash Shell scripting code. Remember: second section''' of assignment #1* '''Verify''' that you will be required to create a Bash Shell script on successfully completed both sections* '''Exit''' your final exam, so you need the practice!online assignment #1.
<br>
= LINUX PRACTICE QUESTIONS =
:'''Perform the Following Stepshttps:'''//wiki.cdot.senecacollege.ca/uli101/files/uli101_week1_practice.docx
Author: Murray Saul
License: LGPL version 3
Link: https://www.gnu.org/licenses/lgpl.html
_________________________________________________________________________________
[[Category:OPS235]][[Category:OPS235 Labs]][[Category:CentOS 7]][[Category:SSD2ULI101]]