DOC

# Simple exercises for learning basic UnixLinux commands

By Judith Young,2014-08-10 23:04
20 views 0
Simple exercises for learning basic UnixLinux commands

Jan. 18, 2005

Exercises for learning basic Unix/Linux commands:

The following contain a series of Q&A’s for the purpose of learning the most fundamental

Unix/Linux commands. Commands are shown using the Arial font, different from the Times

New Roman font used for other texts. This practice assumes access to a Unix system, as a non-

root user.

Use the man command to locate manual pages, for example, type man date to learn

about the date command; man w for the w command, and even man man to learn about

the man command itself. You can also do a keyword search for commands that have a

certain keyword, for example, man k permission lists about a dozen commands that

contain the word “permission” in their descriptions.

2. How to use a text editor to create and save files?

The vi editor is available on all Unix/Linux systems although it will take some effort

to learn how to use vi. There are simpler text editors such as pico and nano but need to

be installed on your system. A simple way to create single-line text files is to use the

echo command and redirect the output using the “>” notation to a file, for example,

typing echo “A single line of text.” > file1 creates a text file named “file1” containing a

single line of words, and saves it to the current directory.

3. How to use the list file command ls (letters L and S in lower case)?

Before you start using the ls command, find out where you are within the file system

hierarchy using the pwd (print working directory) command. Suppose your current

directory is /home/doe, and there are two files named “file1” and “file2” under the

current directory. Then the command ls will list these two files (only the file names),

while the command ls l will print a long listing of the files in the current directory. The

permission setting, file size, owner id, last modify time, etc.

Again, suppose the current directory is /home/doe. The mkdir command creates an

empty sub-directory under here, for example, the command mkdir sub1 creates a

directory file /home/doe/sub1. After this operation, try the command ls l which will

show the new directory “sub1” being part of the current directory. The command ls ld

shows the settings (properties) about the current directory itself. In Unix the current

directory has an abbreviated name “.” (a single period symbol); the parent directory has

the abbreviated name “..” (two period symbols).

4. What is the file’s path name, and how to navigate the directory hierarchy?

Suppose that the current directory is /home/doe, which contains a subdirectory named

“sub1”, and two other regular (i.e. non-directory) files named “file1” and “file2”. The

absolute path name for file “file1” is “/home/doe/file1”; the word absolute is to mean that

the full file name is specified starting with the root “/”, followed by all intermediate

directories and sub-directories. Thus, given that the current directory is at /home/doe, the

command ls l file1, and the command ls l /home/doe/file1, produce the same results.

The shorter name file1 is a relative file name, which doesn’t start with the “/” symbol and

the name is relative to (or under) the current directory place.

You can navigate the directory hierarchy using the cd (change directory) command.

For example, suppose that the current directory is /home/doe, which contains a subdirectory named “sub1”. The command cd sub1 (or the command cd

/home/doe/sub1 using the full path name) moves the current directory to

/home/doe/sub1. You can also change the directory to the parent directory (one level up) using the command cd .. (recall the double-period notation “.. for the parent directory).

You can always find out the current directory using the pwd command.

5. How to delete (remove) files or directories?

Suppose that the current directory is /home/doe, which contains a subdirectory “sub1” and two non-directory files “file1” and “file2”. The command rm file1 removes (deletes)

the file “file1”. The command rmdir sub1 removes the directory sub1 (assuming the

subdirectory is empty). The (more damaging) command rm R sub1 recursively

removes the subdirectory sub1 and all files (and directories) under it.

6. How to copy files and rename files?

Suppose that the current directory is /home/doe, which contains a subdirectory “sub1” and two non-directory files “file1” and “file2”. The cp command copies a source file to a

destination file, or to a directory. For example, cp file1 file3 creates a new copy of file1

and name it “file3” under the current directory. You may use the command ls l to see

both files with identical properties except for the last modify times. You can also copy one or more files ad save them with the same file names but under a different directory, for example, cp file1 file2 sub1 creates copies of both files “file1” and “file2”, and save them under the subdirectory sub1. The command ls l sub1 shows a listing of these two

files under directory sub1.

The command mv (move) renames a file, for example, mv file1 file4 renames “file1”

to “file4”. Try the command ls l to see the results of the mv command.

7. How to change a file’s permission settings?

The command chmod allows the owner of the file (or the super-user) to change a file’s permission mode. Suppose that the current directory is /home/doe, which contains a subdirectory “sub1” and two non-directory files “file1” and “file2”. Suppose the long listing of the current directory (using the command ls l) shows the following:

-rw-r--r-- 1 doe doe 6 Jan 21 15:31 file1

-rw-r--r-- 1 doe doe 6 Jan 21 15:32 file2

drwxr-xr-x 2 doe doe 512 Jan 21 15:32 sub1/

Thus, the owner (i.e., doe) of file “file1” allows himself both r(ead) and w(rite)

permissions, allows group and others only the r(ead) permission. The same permission setting is for the file “file2”. Any of the following use of chmod will add the w(rite)

permission to others for file “file1”: chmod o+w file1; chmod o=rw file1;or chmod

0646 file1. You can see the resulting permission mode through the command ls l file1:

-rw-r--rw- 1 doe doe 6 Jan 21 15:31 file1

Also, the command ls ld shows the permission mode for the current directory:

drwxr-xr-x 3 doe doe 512 Jan 21 15:32 .

Recall that a person needs the x (search, or access) permission to the directory

containing the file “file1” in order to read it. In other words, if the permission mode for

the directory /home/doe is drwxr-xr--, which grants no x permission to others to this

directory, then others cannot read (or copy) or write (modify) “file1” even though file1’s

permission setting says -rw-r--rw-. In fact, in order to read or write a file, a person

needs the x (search) permission to all intermediate directories specified in the full path

name of that file.

To delete (remove) a file from a directory, a person also needs the w(rite) permission

to that directory.

8. How to find information about the running processes (applications)?

The ps command, including the appropriate options, lists the running applications on

the system. Check out the manual pages on ps for details. Processes can be started and

run in the background, and terminated using the kill command.

Note: The lecture notes on Unix/Linux contains links to other resources available on the Internet. In particular, this 108-page pdf file provides a useful Linux tutorial especially for

investigative purposes.

Report this document

For any questions or suggestions please email
cust-service@docsford.com