10.4.3.3 Lab – Working with the Linux Command Line (Answers)
In this lab, you will use the Linux command line to manage files and folders and perform some basic administrative tasks.
- A computer with a Linux OS, either installed physically or in a virtual machine
Answers Note: This lab can be done using the virtual machine created in a previous lab.
Step 1: Access the command line.
a. Log on to a computer as a user with administrative privileges. The account ITEUser is used as the example user account throughout this lab.
b. To access the command line, click Dash, and type terminal in the search field and press Enter. The default terminal emulator opens.
Step 2: Display the man pages from the command line.
You can display command line help using the man command. A man page, short for manual page, is an online documentation of the Linux commands. A man page provides detailed information about a command and all the available options.
a. To learn more about the man page, type man man at the command prompt and press Enter.
Name a few sections that included in a man page.
A few sections in a man page are: Name, Synopsis, Configuration, Description, Options, Exit status, Return value, Errors, Environment, Files, Versions, Conforming to, Notes, Bugs, Example, Authors, and See also.
b. Type q to exit the man page.
c. Type man cp at the prompt to display the information about the cp command.
What command would you use to find out more information about the pwd command? What is the function of the pwd command?
man pwd command is used to access the man page about
pwd command prints the name of the current or working directory.
Step 3: Create and change directories.
In this step, you will use the change directory (cd), make directory (mkdir), and list directory (ls) commands.
Note: A directory is another word for folder. The terms directory and folder are used interchangeably throughout this lab.
a. Type pwd at the prompt. What is the current directory?
Answers may vary. The current directory is /home/ITEUser in this example.
b. Navigate to the /home/ITEUser directory if it is not your current directory. Type cd /home/ITEUser.
c. Type ls at the command prompt to list the files and folders that are in the current folder.
d. In the current directory, use the mkdir command to create three new folders: ITEfolder1, ITEfolder2, and ITEfolder3. Type mkdir ITEfolder1 and press Enter. Create ITEfolder2 and ITEfolder3.
e. Type ls to verify the folders have been created.
f. Type cd ITEfolder3 at the command prompt and press Enter. Which folder are you in now?
Answers may vary. The current directory is /home/ITEUser/ITEfolder3 in this example as indicated by ~/ITEfolder3 at the prompt.
Another way to determine your location in the directory tree is to looking at the prompt. In this example, the prompt, [email protected]ser-VirtualBox:~/ITEfolder3$, provides the name of the current user, the computer name, the current working directory, and the privilege level.
~/ITEfolder3: is the current working directory. The symbol ~ represents the current user’s home directory. In this example, it is /home/ITEUser.
$: indicates regular user privilege. If # is displayed at the prompt, this indicates elevated privilege (root).
g. Within the ITEfolder3 folder, create a folder named ITEfolder4. Type mkdir ITEfolder4. Use the ls command to verify the folder creation.
h. Type cd .. to change the current directory. Each .. is a shortcut to move up one level in the directory tree.
After issuing the cd .. command, what is your directory now?
What would be the current directory if you issue this command at [email protected]:~$?
Step 4: Create text files.
a. Navigate to the /home/ITEUser/ITEfolder1 (~/ITEfolder1) directory. Type cd ITEfolder1 at the prompt.
b. Type echo This is doc1.txt > doc1.txt at the command prompt. The echo command is used to display a message at the command prompt. The > is used to redirect the message from the screen to a file. For example, in the first line, the message This is doc1.txt is redirected into a new file named doc1.txt. Use the echo command and > redirect to create these files: doc2.txt, file1.txt, and file2.txt.
c. Use the ls command to verify the files are in the ITEfolder1 folder. To determine the file permission and other information, type the ls –l command at the prompt.
The following figure breaks down the information provided by the ls –l command. The user ITEUser is owner of file. The user can read and write to the file. The user ITEUser belongs to the group name ITEUser. Anyone in the group ITEUser has the same permission. The group can read and write to the file. If the user is not the owner or in the group ITEUser, the user can only read the file as indicated by the permission for other.
d. Type the man ls command at the prompt. What option would you use to list all the files in the directory, including the hidden files starting with .?
The –a or –all option allows you to view all files.
e. Use the cat command to view the content of the text files. To view the content of doc2.txt, type cat doc2.txt.
Step 5: Copy, delete, and move files.
a. At the command prompt, type mv doc2.txt ~/ITEfolder2 to move the file doc2.txt to the /home/ITEUser/ITEfolder2 directory.
b. Type ls at the prompt to verify that doc2.txt is no longer in the current directory.
c. Type cd ../ITEfolder2 to change the directory to ITEfolder2. Type ls at the prompt to verify doc2.txt has been moved.
d. Type cp doc2.txt doc2_copy.txt to create a copy of doc2.txt. Type ls at the prompt to verify a copy of the file has been created. Use the cat command to look at the content of doc2_copy.txt. The content in the copy should be the same as the original file.
e. Now use the mv command to move doc2_copy.txt to ITEfolder1. Type mv doc2_copy.txt ../ITEfolder1. Use the ls command to verify that doc2_copy.txt is no longer in the directory.
f. A copy of doc2.txt can be created and renamed with the cp command. Type cp doc2.txt ../ITEfoler1/doc2_new.txt at the prompt.
g. Type ls ../ITEfolder1 to view the content in ITEfolder1 without leaving the current directory.
h. Change the current directory to ITEfolder1. Type cd ../ITEfolder1 at the prompt.
i. Move file1.txt and file2.txt into ITEfolder3. To move all the files that contain the word file into ITEfolder3 with one command, use a wildcard (*) character to represent one or more characters. Type mv file*.txt ../ITEfolder3.
j. Now delete doc2_copy.txt from the ITEfolder1 directory. Type rm doc2_copy.txt. Use the ls command to verify the file deletion.
Step 6: Delete directories.
In this step, you will delete a directory using the rm command. The rm command can be used to delete files and directories.
a. Navigate to the /home/ITEUser/ITEfolder3 directory. Use the ls command to list the content of the directory.
b. Use the rm ITEfolder4 to delete the empty directory, and the message rm: cannot remove ‘ITEfodler4/’: Is a directory.
c. Use the man pages to determine what options are necessary so the rm command can delete directory. Type man rm at the prompt.
What option is needed to delete a directory?
The option –d or –dir is used to delete a directory.
d. Use the rm –d ITEfolder4 command to delete the empty directory and use the ls command to verify the removal of the directory.
e. Navigate to /home/ITEUser.
f. Now remove the folder ITEfolder3 using the rm –d ITEfolder3 command to delete the non-empty directory. The message indicates that the directory is not empty and cannot be deleted.
g. Use man pages to find out more information about the rm command.
What option is necessary to delete a non-empty folder using the rm command?
The option –r, -R, or –recursive is used with the rm command to delete non-empty folders.
h. To remove a non-empty directory, type the rm –r ITEfolder3 command to delete the non-empty folder. Use the ls command to verify that directory was deleted.
Step 7: Print lines matching a pattern.
The cat command is used to view the content of a text file. To search the content of a text file, you can use the grep command. The grep command can also be used to match a pattern with screen outputs.
In this step, you will create a few additional text files in the /home/ITEUser/ITEfolder1 directory. The content and the filename are of your choosing. Three text files are used as example in this step.
a. Navigate to /home/ITEUser/ITEfolder1.
b. Use the echo command and redirect > to create a few text files ~/ITEfolder1 and verify that the files were created in ~/ITEfolder1.
c. To determine which files contains the word file within the content of all the files, type grep file * to search for the word. The wildcard (*) allows any filename to be included in the search. The files, myfile and myfile2 have the word file in the content.
What command would you use to search for the word doc in the content of the files? Which files contains the word doc in this example?
You would use the grep doc * command. The files, doc1.txt, doc2_new.txt, and myfile1, contain the word doc with the content.
d. Type grep doc *.txt to search for the files with .txt in the filename and has the word doc in the content.
e. Type grep “some text” * at the prompt to determine which files contain the phrase some text. The files, myfile and myfile1 have the phase some text in the content.
What command would you use to search for word the in the file with the .txt extension? Which files met the requirements?
You would use the grep the *.txt command. No files met the search parameters.
f. The search pattern is case sensitive in the grep command. The option –i or –ignore-case is used to ignore the case distinction. To search for all the patterns of th, type the grep –i th * command at the prompt.
What command would you use to search for the pattern th or Th in the file with the .txt extension? Which files met the requirements?
You would use the grep –i th *.txt command. The files doc1.txt and doc2_new.txt met the search parameters.
g. To search for a certain pattern for a screen output, the vertical bar (|), commonly referred to as the pipe. The pipe (|) is used to direct the output from the first command into the input for the second command. Using the output of ls command as an example, type ls | grep file at the prompt to list all the filenames with the word file.
Step 8: Display the IP Address.
The ifconfig command allows you to configure a network interface. In this step, you will use the ifconfig to display the IP address associated with a network interface.
At the command prompt, type ifconfig. In this example, the eth0 interface has been assigned an IP address of 192.168.1.7 with a subnet mask of 255.255.255.0.
Step 9: Change your login password.
Changing your login password is a good practice in compute security and to unauthorized access to your information and your account.
In this step, you will change your login password. You will need your current password and choose a new password to access your account.
a. Type passwd at the prompt to start the process of changing your password. Enter the current password and provide your new password twice. When the message passwd: password updated successfully is displayed, your password has been changed.
b. Log out of the computer and use the new password to log on to the computer again.
Step 10: Use the shutdown command.
The shutdown command is used to bring the computer down gracefully. It requires elevated privileges and a time parameter. Because the user ITEUser is the first user account on the computer, the sudo command and the password allows this user the elevated privileges. The time parameter can be now, number of minutes from now, or at a specific time, such as 13:00.
Type sudo shutdown +1 to bring the computer down gracefully in 1 minute. When prompted, enter your password.
What are the advantages of using the Linux command line?
Answers may vary. The command line allows the users more options and control over the graphical interface. For example, you can search through many text files for a certain pattern without opening a single file. As the users become more experienced with the command line, the users may combine these commands in scripts to perform routine tasks. The command line interface uses less resources when users administrate the computers remotely.