Difference between revisions of "Tutorial2: Unix / Linux File Management"
(→INVESTIGATION 1: MANAGING DIRECTORIES) |
(→Part 1: Creating Directories) |
||
Line 120: | Line 120: | ||
# '''Login''' your matrix account.<br><br> | # '''Login''' your matrix account.<br><br> | ||
# Issue a command to '''confirm''' you are located in your home directory. You should know how to do this from the previous tutorial.<br><br> | # Issue a command to '''confirm''' you are located in your home directory. You should know how to do this from the previous tutorial.<br><br> | ||
− | # Issue the following Linux command: <span style="color:blue;font-weight:bold">mkdir uli101</span><br><br>'''NOTE:''' You should always confirm that you have created a directory. This can be done by issuing the ls command.<br><br>[[Image:directory-structure-4.png|thumb|right|350px|'''Creating''' and '''Confirming''' the Creation of a Directory.]] | + | # Issue the following Linux command: <span style="color:blue;font-weight:bold;font-family:courier;">mkdir uli101</span><br><br>'''NOTE:''' You should always confirm that you have created a directory. This can be done by issuing the ls command.<br><br>[[Image:directory-structure-4.png|thumb|right|350px|'''Creating''' and '''Confirming''' the Creation of a Directory.]] |
− | # Issue the following Linux command: <span style="color:blue;font-weight:bold">ls uli101</span><br><br>There are no contents that are contained in this newly-created directory; therefore, no contents appear. A useful option '''-d''' can be used to confirm that the actual <u>directory</u> has been created as opposed to viewing the contents of the directory.<br><br> | + | # Issue the following Linux command: <span style="color:blue;font-weight:bold;font-family:courier;">ls uli101</span><br><br>There are no contents that are contained in this newly-created directory; therefore, no contents appear. A useful option '''-d''' can be used to confirm that the actual <u>directory</u> has been created as opposed to viewing the contents of the directory.<br><br> |
# Issue the following Linux command: <span style="color:blue;font-weight:bold">ls -d uli101</span><br><br>You should now see just the directory listed. You can also combine the -d and -l options to provide more detail regarding the newly-created directory.<br><br> | # Issue the following Linux command: <span style="color:blue;font-weight:bold">ls -d uli101</span><br><br>You should now see just the directory listed. You can also combine the -d and -l options to provide more detail regarding the newly-created directory.<br><br> | ||
# Issue the following Linux command:<span style="color:blue;font-weight:bold">ls -d -l uli101</span><br><br>How can you confirm from the output of this command that the file uli101 is a directory?<br><br> | # Issue the following Linux command:<span style="color:blue;font-weight:bold">ls -d -l uli101</span><br><br>How can you confirm from the output of this command that the file uli101 is a directory?<br><br> | ||
− | # Issue the following Linux command:<span style="color:blue;font-weight:bold">ls -ld uli101</span><br><br>Is the output from this command the same was the output from the previous command? If so, what does this say about how to use multiple options for Linux commands?<br><br> | + | # Issue the following Linux command:<span style="color:blue;font-weight:bold;font-family:courier;">ls -ld uli101</span><br><br>Is the output from this command the same was the output from the previous command? If so, what does this say about how to use multiple options for Linux commands?<br><br> |
− | # Issue the following Linux command to create the apc100 and xyz100 directories:<span style="color:blue;font-weight:bold">mkdir apc100 xyz100</span><br><br>'''NOTE:''' You should now notice that you can create multiple directories by issuing the mkdir with multiple arguments.<br><br> | + | # Issue the following Linux command to create the apc100 and xyz100 directories:<span style="color:blue;font-weight:bold;font-family:courier;">mkdir apc100 xyz100</span><br><br>'''NOTE:''' You should now notice that you can create multiple directories by issuing the mkdir with multiple arguments.<br><br> |
− | # Issue the following Linux command to confirm that those directories have been created: <span style="color:blue;font-weight:bold">ls -ld apc100 xyz100</span><br><br> | + | # Issue the following Linux command to confirm that those directories have been created: <span style="color:blue;font-weight:bold;font-family:courier;">ls -ld apc100 xyz100</span><br><br> |
− | # We will now create the subdirectories that are contained in the '''uli101''' directory. Issue the following Linux command to move to the uli101 directory: <span style="color:blue;font-weight:bold">cd uli101</span><br><br> | + | # We will now create the subdirectories that are contained in the '''uli101''' directory. Issue the following Linux command to move to the uli101 directory: <span style="color:blue;font-weight:bold;font-family:courier;">cd uli101</span><br><br> |
# Issue a command to confirm that your current location is in the uli101 directory. You should know how to issue this command from a previous tutorial.<br><br> | # Issue a command to confirm that your current location is in the uli101 directory. You should know how to issue this command from a previous tutorial.<br><br> | ||
− | # Issue the following Linux command to create the directories called '''notes''', '''tutorials''' and '''examples''': <span style="color:blue;font-weight:bold">mkdir notes tutorials examples</span><br><br> | + | # Issue the following Linux command to create the directories called '''notes''', '''tutorials''' and '''examples''': <span style="color:blue;font-weight:bold;font-family:courier;">mkdir notes tutorials examples</span><br><br> |
# Issue a Linux command to confirm that those directories have been created. You should know how to do this...<br><br> | # Issue a Linux command to confirm that those directories have been created. You should know how to do this...<br><br> | ||
#This technique is considered to be '''inefficient'''... There are options and ways to create the same directory structure without using the cd command and only issue a single Linux command.<br><br>Using this inefficient method tends to show that you are a novice or "'''newbie'''", and you may '''lose marks''' if you issue multiple Linux commands to performed tasks that can be performed using only a single Linux command.<br><br>Although we will teach you how to '''remove''' directories and their contents in a future section, let's change back to your '''home''' directory and issue a command to '''remove the directory structure''' that you just created so you can learn a more efficient method of creating the same directory structure.<br><br> | #This technique is considered to be '''inefficient'''... There are options and ways to create the same directory structure without using the cd command and only issue a single Linux command.<br><br>Using this inefficient method tends to show that you are a novice or "'''newbie'''", and you may '''lose marks''' if you issue multiple Linux commands to performed tasks that can be performed using only a single Linux command.<br><br>Although we will teach you how to '''remove''' directories and their contents in a future section, let's change back to your '''home''' directory and issue a command to '''remove the directory structure''' that you just created so you can learn a more efficient method of creating the same directory structure.<br><br> |
Revision as of 10:47, 7 January 2020
Contents
UNIX / LINUX FILE MANAGEMENT
Main Objectives of this Practice Tutorial
- Understand the Purpose of the Unix / Linux Directory Structure.
- List Common Directories that are Contained in a Typical Unix / Linux Filesystem
- Use Common Unix / Linux Commands to Perform Directory Management Tasks.
- Use Common Unix / Linux Commands to Perform Text File Management Tasks.
- Using Text Editors to Create and Manipulate Text Files
- Using Text Editors to Create and Manipulate Text Files
Tutorial Reference Material
Course Notes |
Linux Command/Shortcut Reference |
YouTube Videos | ||
Course Notes:Tutorials:
|
Directory and File Management Commands | Text File Management Commands | Text Editors
|
Brauer Instructional Videos: |
Unix / Linux Directory Concepts
The Unix/Linux file system is hierarchical, similar to other operating systems such as
Windows, Mac OSX, etc.
Files are organized in directories. Directories may contain sub-directories.
In Unix / Linux (as opposed to MS Windows), there are no drive letters (such as C:, or D:). All files and directories appear under a single ancestor directory called the "root directory".
Learning how to issue Linux commands for navigating the Linux filesystem and manipulating directory and files are essential skills for Linux users and administrators.
In the Linux (Unix) OS, the "root directory" / is the starting directory, and other "child directories", "grandchild directories", etc. are created
The hierarchical structure resembles an "upside- down tree". There is actually a command called tree that can display a "tree diagram"!
Pathnames
A path, the general form of the name of a file or directory, specifies a unique location in a file system. A path points to a file system location by following the directory tree hierarchy expressed in a string of characters in which path components, separated by a delimiting character, represent each directory. The delimiting character is most commonly the slash ("/").
Reference: https://en.wikipedia.org/wiki/Path_(computing)
The following table displays and defines commonly used directories
(listed by directory pathname) for for ALL Unix / Linux Filesystems:
Please take a few moments to review these pathnames.
Directory Pathname | Purpose |
---|---|
/ | Root directory (ancestor to all directories) |
/home | Used to store users’ home directories |
/home/username | A Particular User's Home Directory |
/bin | Common system binaries (commands) |
/usr/bin | Common utilities (commands) for users. |
/usr/sbin | Common utilities for system administration |
/etc | System administration files (eg. passwd) |
/var | Dynamic files (log and mail files) |
/tmp , /var/tmp | Temporary files for programs |
/dev | Device driver files (terminals, printers, etc.) |
Every user when receiving an account has a “home” directory created (/home/userid). This is where the user keep subdirectories and personal files.
We will now learn to create and manage subdirectories within your own home directory.
INVESTIGATION 1: MANAGING DIRECTORIES
In this investigation, you will learn to manage directories including their creation, navigation, listing contents and removal.
Part 1: Creating Directories
Creating subdirectories within your home directory makes it more efficient to save and access files on your Linux server.
A comparison would be rooms in a house. If there were no rooms, just one large room in a 3,000 square foot house, it would be "messy" and difficult to locate items. Each room in a house is used to for a specific purpose to be more productive to perform a task such as a kitchen, bedroom, bathroom, etc.
You would like to create a directory structure within your home directory as displayed in the diagram on the right aide.
You should note from the previous section that the root directory is the
"starting point" in the Matrix file system, that the home directory is used to store all Matrix user accounts by their userid, and that your userid contained within the home directory represents YOUR home directory where you can create files (both directory files, text files, etc).
Perform the Following Steps:
- Login your matrix account.
- Issue a command to confirm you are located in your home directory. You should know how to do this from the previous tutorial.
- Issue the following Linux command: mkdir uli101
NOTE: You should always confirm that you have created a directory. This can be done by issuing the ls command. - Issue the following Linux command: ls uli101
There are no contents that are contained in this newly-created directory; therefore, no contents appear. A useful option -d can be used to confirm that the actual directory has been created as opposed to viewing the contents of the directory. - Issue the following Linux command: ls -d uli101
You should now see just the directory listed. You can also combine the -d and -l options to provide more detail regarding the newly-created directory. - Issue the following Linux command:ls -d -l uli101
How can you confirm from the output of this command that the file uli101 is a directory? - Issue the following Linux command:ls -ld uli101
Is the output from this command the same was the output from the previous command? If so, what does this say about how to use multiple options for Linux commands? - Issue the following Linux command to create the apc100 and xyz100 directories:mkdir apc100 xyz100
NOTE: You should now notice that you can create multiple directories by issuing the mkdir with multiple arguments. - Issue the following Linux command to confirm that those directories have been created: ls -ld apc100 xyz100
- We will now create the subdirectories that are contained in the uli101 directory. Issue the following Linux command to move to the uli101 directory: cd uli101
- Issue a command to confirm that your current location is in the uli101 directory. You should know how to issue this command from a previous tutorial.
- Issue the following Linux command to create the directories called notes, tutorials and examples: mkdir notes tutorials examples
- Issue a Linux command to confirm that those directories have been created. You should know how to do this...
- This technique is considered to be inefficient... There are options and ways to create the same directory structure without using the cd command and only issue a single Linux command.
Using this inefficient method tends to show that you are a novice or "newbie", and you may lose marks if you issue multiple Linux commands to performed tasks that can be performed using only a single Linux command.
Although we will teach you how to remove directories and their contents in a future section, let's change back to your home directory and issue a command to remove the directory structure that you just created so you can learn a more efficient method of creating the same directory structure. - Issue Linux commands to move to your home directory and confirm that your current directory is your home directory. You should know how to do this...
- Issue the following single Linux command to create the entire directory structure:
mkdir -p uli101/notes uli101/tutorials uli101/examples acp100 xyz100
NOTE: The -p option allows "parent" directories to be automatically created first to then create their subdirectories.
x
Perform the Following Steps:
- x
Part 3: Copying / Moving Directories
x
Perform the Following Steps:
- x
Part 4: Removing Directories
x
Perform the Following Steps:
- x
INVESTIGATION 2: MANAGING TEXT FILES
x
Part 1: Creating Text Files
x
Perform the Following Steps:
- x
Part 2: Viewing / Manipulating Text Files
x
Perform the Following Steps:
- x
Part 3: Copying / Moving Text Files
x
Perform the Following Steps:
- x
Part 4: Removing Text Files
x
Perform the Following Steps:
- x
INVESTIGATION 3: USING TEXT EDITORS TO CREATE / MODIFY TEXT FILES
In this section, x
Part 1: Using the Nano Text Editor
x
Perform the Following Steps:
- x
Part 2: Using the VI / VIM Text Editor
x
Perform the following steps:
- x
LINUX PRACTICE QUESTIONS
The purpose of this section is to obtain extra practice to help with quizzes, your midterm, and your final exam.
Here is a link to the MS Word Document of ALL of the questions displayed below but with extra room to answer on the document to simulate a quiz:
https://ict.senecacollege.ca/~murray.saul/uli101/uli101_week2_practice.docx
Your instructor may take-up these questions during class. It is up to the student to attend classes in order to obtain the answers to the following questions. Your instructor will NOT provide these answers in any other form (eg. e-mail, etc).
Review Questions:
- x
- x
- x
- x
- x
- x
- x
- x
- Create a table listing each Linux command, useful options that were mentioned in the online assignment #1 and command purpose for the following Linux commands: '