Download - Linux Directory Structure
March 15, 2005
Laboratory Experiment II
THE LINUX DIRECTORY STRUCTURE by Alex Shaw III
Unedited Version
The Linux Directory Structure i
TABLE OF CONTENTS
Introduction ii
Laboratory Sheets iii Procedures iii
Data Sheets 1 Results 1
Part I 1 Part II 2 Part III 3 Part IV 3
Diagrams 4
Analysis 5 Explanations 6
Part I 6 Part II 7 Part III 7 Part IV 7
References 8
The Linux Directory Structure ii
INTRODUCTION
This experiment involves working in the Linux shell and the concept of directory tree structuring. It includes navigating through the file structure and working with files and directories.
Four parts make up this experiment:
Part I—deals with creating files and directories, changing directories, and displaying directory contents.
Part II—works on various directory listing options and the comparison between the list command options.
Part III—helps you understand the contents of the root directory.
Part IV—determines the best way to remove a directory.
The Linux Directory Structure iii
1LABORATORY SHEETS
LABORATORY EXPERIMENT II
LEHMAN COLLEGEOf the City University of New York
Experiment 2: The Directory StructureObjective: To study the concept of directory tree structuring
Procedure: Part I.1. Login to your working directory.2. Make a subdirectory under your working directory.
• Use your name as the subdirectory name with a “01” at the end of your name.I.e. “your name”01.
• Use the mkdir command to create the directory. i.e. mkdir john013. Make another subdirectory under your home directory and use 02 at the
end of your name4. Change directory to the “your name”01 directory.5. Create a file in the “your name”01 directory.6. Return to your home directory.
How did you return to your home directory?NOTE: You were just given instruction to perform functions. You find the commands needed to perform the functions.
7. Enter the command ls -l.How do you tell a directory from an ordinary file?
8. Enter the command ls.How do you tell a directory from an ordinary file?
Sheet 1-1 Experiment procedures (Part I).
Part II.1. Type the command ls -1.2. Type the command ls -al.
What do you notice between the two commands? Did you notice any new files or directories?
3. Type the commands ls -F.What do you notice about the command?
4. Copy the file from “your name”01 to the directory “your name”02.5. Change directory to “your name”02.6. Copy the file from your home directory to the present directory.
How did you perform this task? How did you perform the task in step 4? Explain, in detail, as to whether you used relative or absolute path movement. Explain the difference between the two.
Sheet 1-2 Experiment procedures (Part II).
Part III.1. Change directory to the root directory. i.e. cd /.2. Type the command ls -al.3. Explain and discuss the files and directories you find.
Sheet 1-3 Experiment procedures (Part III).
Part IV.1. Return to your home directory2. Type the command rm “your name”02. What happened?3. Type the command rm -r “your name”02. What happened?4. Explain, in detail, the difference between rm and rm -r commands.
Sheet 1-4 Experiment procedures (Part IV).
Procedures
The procedures on this page represent the tasks to complete, in four parts. Some tasks require simple explanations, while others need a more detailed analysis.
In the next section, each sheet is revisited for clarity.
The Linux Directory Structure 1
2DATA SHEETS
LABORATORY EXPERIMENT II
Procedures—Part I.
1. Login to your working directory.2. Make a subdirectory under your working directory.
• Use your name as the subdirectory name with a “01” at the end of your name.I.e. “your name”01.
• Use the mkdir command to create the directory. i.e. mkdir john013. Make another subdirectory under your home directory and use 02 at the end of your
name4. Change directory to the “your name”01 directory.5. Create a file in the “your name”01 directory.6. Return to your home directory.
How did you return to your home directory?
NOTE: You were just given instruction to perform functions. You find the commands needed to perform the functions.
7. Enter the command ls -l.
How do you tell a directory from an ordinary file?
8. Enter the command ls.
How do you tell a directory from an ordinary file? Sheet 2-1 Experiment procedures (Part I).
Results
This section contains results to the procedures presented on the laboratory sheets in the previous section. The Analysis section provides in-depth explanations to various questions.
Part I Below are results for Part I (Sheet 2-1) of the experiment.
1. I logged into my working directory using my current username and password shown in Output 2-1.
Output 2-1 Login screen (including password prompt).
2. mkdir Alex01 3. mkdir Alex02 4. cd Alex01 5. I utilized the cat command to create a file (Output 2-2).
Output 2-2 Utilizing cat to create a file.
6. cd $HOME 7. Output 2-3 displays results of the ls -l command.
Output 2-3 Results of the ls -l command (issued in home directory).
8. The ls command displays results shown in Output 2-4.
Output 2-4 Results of the ls command (issued in my home directory).
Data Sheets
The Linux Directory Structure 2
Procedures—Part II.
1. Type the command ls -1.2. Type the command ls -al.
What do you notice between the two commands? Did you notice any new files or directories?
3. Type the commands ls -F.
What do you notice about the command?
4. Copy the file from “your name”01 to the directory “your name”02.5. Change directory to “your name”02.6. Copy the file from your home directory to the present directory.
How did you perform this task? How did you perform the task in step 4? Explain, in detail, as to whether you used relative or absolute path movement. Explain the difference between the two.
Sheet 2-2 Experiment procedures (Part II).
Part II Below are results for Part II (Sheet 2-2) of the experiment.
1. The ls -l command displays results shown in Output 2-3 on the previous page.
2. The ls -al command displays results shown in Output 2-5.
Output 2-5 Results of the ls -al command.
3. The ls -F command displays results shown in Output 2-6.
Output 2-6 Results of the ls -F command.
4. cp Alex01/CDFILE Alex02 5. cd Alex02 6. cp ~/CONNECT CONNECT
Data Sheets
The Linux Directory Structure 3
Procedures—Part III.
1. Change directory to the root directory. i.e. cd /.2. Type the command ls -al.3. Explain and discuss the files and directories you find.
Sheet 2-3 Experiment procedures (Part III).
Procedures—Part IV.
1. Return to your home directory2. Type the command rm “your name”02. What happened?3. Type the command rm -r “your name”02. What happened?4. Explain, in detail, the difference between rm and rm -r commands.
Sheet 2-4 Experiment procedures (Part IV).
Part III Below are results for Part III (Sheet 2-3) of the experiment.
1. cd /. 2. The ls -al command displays results shown in
Output 2-7.
Output 2-7 Results of the ls -al command.
3. Most of the files and directories contained in the root directory (Output 2-7) are standard to the Linux operating system (See Diagram 3-1 on page 4).
Part IV Below are results for Part IV (Sheet 2-4) of the experiment.
1. cd ~. 2. The rm Alex02 command displays results shown in
Output 2-8.
Output 2-8 Results of the rm Alex command.
3. The rm -r Alex02 command removes the Alex02 directory.
4. See Analysis section.
The Linux Directory Structure 4
3DIAGRAMS
LABORATORY EXPERIMENT II
bin
boot
dev
etc
home
initrd
lib
lost+found
misc
mnt
opt
pgsql
proc
root
sbin
tftpboot
tmp
usr
var
Contains executable files
Contains the files needed to boot Linux
Contains device driver files, mainly for hardware devices
Used mainly by the system administrator for host-specific files and directories
Contains the user’s home directories
Loads drivers necessary to the system1
Contains files or an archive for programs, such as C, C++, or FORTRAN
Contains files not connected to any directory A fsck (file system check) is used to trace these files
Contains source and executables of a number of programs needed for the installation2
Used by the administrator to mount file systems with the mount command
Contains add-on software packages
pgsql
Contains process and system information
Usually acts as the home directory
Contains system administrator commands and utilities
tftpboot
Contains temporary files, which could be used by the user also
Contains information that can be shared between users
Contains data the changes while the system is running
Root Directory Structure
.Current directory
..Parent directory
File/DirectoryFile/DirectoryPurpose Purpose
autofsckAutomatic file system check
automountautomount
.bash_historyContains old commands
.fonts_cache-1Contains fonts
Diagram 3-1 Root directory structure.
Notes: 1. A Detailed Look at the Boot Process: http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1-boot-init-shutdown-process.html 2. Linux.com—Anatomy of the Red Hat FTP site: http://www.linux.com/howtos/RedHat-CD-HOWTO/redhat-ftp-site.shtml
The Linux Directory Structure 5
4ANALYSIS
LABORATORY EXPERIMENT II
Procedures—Part I.
1. Login to your working directory.2. Make a subdirectory under your working directory.
• Use your name as the subdirectory name with a “01” at the end of your name.I.e. “your name”01.
• Use the mkdir command to create the directory. i.e. mkdir john013. Make another subdirectory under your home directory and use 02 at the end of your
name4. Change directory to the “your name”01 directory.5. Create a file in the “your name”01 directory.6. Return to your home directory.
How did you return to your home directory?
NOTE: You were just given instruction to perform functions. You find the commands needed to perform the functions.
7. Enter the command ls -l.
How do you tell a directory from an ordinary file?
8. Enter the command ls.
How do you tell a directory from an ordinary file? Sheet 4-1 Experiment procedures (Part I).
Procedures—Part II.
1. Type the command ls -1.2. Type the command ls -al.
What do you notice between the two commands? Did you notice any new files or directories?
3. Type the commands ls -F.
What do you notice about the command?
4. Copy the file from “your name”01 to the directory “your name”02.5. Change directory to “your name”02.6. Copy the file from your home directory to the present directory.
How did you perform this task? How did you perform the task in step 4? Explain, in detail, as to whether you used relative or absolute path movement. Explain the difference between the two.
Sheet 4-2 Experiment procedures (Part II).
Procedures—Part III.
1. Change directory to the root directory. i.e. cd /.2. Type the command ls -al.3. Explain and discuss the files and directories you find.
Sheet 4-3 Experiment procedures (Part III).
Procedures—Part IV.
1. Return to your home directory2. Type the command rm “your name”02. What happened?3. Type the command rm -r “your name”02. What happened?4. Explain, in detail, the difference between rm and rm -r commands.
Sheet 4-4 Experiment procedures (Part IV).
This section contains a more detailed discussion of the results presented in the Data Sheets' section. It also notes any discoveries or errors encountered during the experiment.
Some questions presented straightforward results; therefore, I only note questions that need explanations. The procedures (Sheets 1–4) listed to the left revisit the tasks for each part. It may assist you in locating the task mentioned in the explanations.
Analysis
The Linux Directory Structure 6
Output 4-1 Results of the ls l command. It lists the directory contents in long format. The first column displays the file attributes.
Explanations
Part I 1. Task 1:
Once I login, my system defaults to the home directory; therefore, my experiments start in the home directory.
2. Task 5: Although the cat command concatenates files or show contents of a file, it can also create files with the '>' symbol (243). To create the new file—CDFILE—I used the code below: cat > CDFILE <Enter> This file was created using the 'cat' command. <Enter> <ctrl-d> Discovery: The touch command (A-74), given by a hint from the professor, also creates a file. If a file does not exist, it can be created with the following syntax: touch CDFILE <Enter>
3. Task 6: I used cd $HOME to return to the home directory. cd ~ also returns to the home directory.
4. Task 7: ls -l lists directory contents in long format. To distinguish between files and directories, look at the first item in the attribute list. A directory usually displays a 'd' and a file displays a '-' (Output 4-1).
5. Task 8: The ls command lists the directory contents. In this list, directories are usually a different color, such as blue. However, not all systems display color-coded directories. Discovery: When I login from a Microsoft Windows system via Telnet, no color-coded distinction between files and directories appears with the ls command. Therefore, I would have to use ls -l or another option to distinguish between the two.
Analysis
The Linux Directory Structure 7
Output 4-2 Results of the ls -F command.
Output 4-3 Results of the rm Alex command.
Part II 1. Task 2:
The ls -al command lists all contents in long format, including hidden files.
2. Task 3: Output 4-2 revisits the ls -F command (174). It displays '/' after directories, '*' after binary executables, and '@' after symbolic links. Discovery: Text files contain no symbol.
3. Task 6: Absolute paths move directly from the root directory to the target directory without shortcuts or skipping any subdirectories. All absolute paths start with the '/' symbol. Absolute path example: cd /home/brw05/Alex02 Relative paths do not start with the '/' symbol. Relative path example: cd ../../Alex02
Part III
1. Task 3: Please see Diagram 3-1 on page 4.
Part IV
1. Task 2: Because the rm Alex02 command attempted to remove a directory, an error (Output 4-3) occurs.
2. Task 3: The rm -r Alex02 command removed the Alex02 directory.
3. Task 4: The rm command removes files. It will not remove a directory without any arguments. The rm -r removes a directory and the files in it. Discovery: rmdir also removes a directory. However, the directory has to be empty first. The rmdir and rm -r commands will 'not' work if you are in the current directory.
Analysis
The Linux Directory Structure 8
References
1. Sarwar, Syed Mansoor, Robert Koretsky, Syed Aqeel Sarwar. Linux: The Textbook. Boston: Addison Wesley Longman Inc., 2002.