Simple exercises for learning basic UnixLinux commands

By Judith Young,2014-08-10 23:04
7 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.

1. How to use the online help (manual pages)?

    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

    long listing format includes more information about the listed files, such as the file type,

    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