+ All Categories
Home > Documents > Unix Intro Basic

Unix Intro Basic

Date post: 29-May-2018
Category:
Upload: mustafa
View: 219 times
Download: 0 times
Share this document with a friend

of 42

Transcript
  • 8/8/2019 Unix Intro Basic

    1/42

    Schlum

    berg

    erPrivate

    1 Logging into SunOS

    1.1 Logging in

    When no one is logged in, a welcome window is displayed as:

    Enter the username name given to you by the system administrator or your instructor and

    press the Enter key on the keyboard.

    The system will request you to enter the password as shown above.

    Enter the password, provided to you by the system administrator or your instructor, in the

    space, as shown in the illustration above and press Enter. (If your account does not have a

    password assigned to it, the system logs you without asking you for password).

    Note: the system does not display (echo) your password on the screen as you type it. This is to

    prevent others from discovering your password.

    1

  • 8/8/2019 Unix Intro Basic

    2/42

    Schlum

    berg

    erPrivate

    1.2 How to open a terminal window

    A terminal window is a window in which you can work in command line mode of Unix. To

    open an XTerminal window, click on the right button of the mouse (MB3). A scroll menu

    will appear. Choose the Programs submenu, then select: Terminal (MB3 > Programs> Terminal).

    1.3 How to close a terminal window

    When you have finished working with a terminal window you can close it by typing the exit

    command followed by pressing the enter key on your keyboard.

    1.4 Logging out

    When you finish your work session and are ready to exit the operating system, click on the

    right button of the mouse, youll obtain a menu. Choose the Log out option in order to

    log out of the system. The system will ask you for a confirmation, clickOK.

    After a moment, the system once again displays the Welcome window indicating that you

    successfully logged out. The system is now ready for you or another user to log in.

    2 Working with files and directories

    The file is the basic unit in the SunOS operating system. Almost everything is treated as a file,

    including:

    Documents: These include text files, such as letters or reports, computer source code, or

    anything else that you write and want to save.

    Commands: Most commands are executable files; that is they are files you can execute to

    run a particular program. For example, the date command, which provides the current

    time and date, is an executable file.

    Devices: Your terminal, printer and disk drive(s) are all treated as files.

    Directories: A directory is simply a file that contains other files.

    The following section explains the commands available for creating, listing, copying, moving

    and deleting files. Youll also see how to list the contents of a file and how to determine the

    nature of a file.

    2

  • 8/8/2019 Unix Intro Basic

    3/42

    Schlum

    berg

    erPrivate

    2.1 Using File commands

    2.1.1 Before you begin

    Before you start experimenting with files, make sure that you are in your home directory. This

    is a directory established for you by the system administrator when your account was created.

    If you perform tasks shown in the following examples from your home directory, youll be

    less likely to create, copy, move or delete files within portions of the system that other users

    expect to remain unchanged.

    > cd

    > pwd

    /diske/student5

    In this example, the users home directory is /diske/student5, where student5 is the name of

    the user owning the home directory.

    2.1.2 Creating a test file

    Use the touch command to create an empty file.

    If a file by the name you specify doesnt already exist, the touch command creates an empty

    file (if this file already exists, touch updates the last access time).

    > touch tempfile

    2.1.3 Listing files (ls)

    Now list the file with the ls command:

    > ls tempfiletempfile

    3

  • 8/8/2019 Unix Intro Basic

    4/42

    Schlum

    berg

    erPrivate

    2.1.4 Copying files (cp)

    Use the cp command to copy tempfile to a file called copyfile

    > cp tempfile copyfile

    If you now want to list the contents of the directory, the command ls *file should list both

    tempfile and copyfile (and any other file in this directory with a name that end with file).

    > ls *file

    copyfile tempfile

    2.1.5 Moving and renaming files (mv)

    You can both move and rename files using the same command, mv (move). In this example,

    use the mv command to rename tempfile to emptyfile:

    > mv tempfile emptyfile

    Now list both files again to verify the change:

    > ls *file

    copyfile emptyfile

    As you can see, tempfile is replaced by emptyfile.

    2.1.6 Deleting files (rm)

    Finally, use rm (remove) command to delete copy file, and verify the result with the ls

    command:

    > rm copyfile

    > ls *file

    emptyfile

    Note: Deletes files cannot be restored unless you have a backup containing the original files.

    4

  • 8/8/2019 Unix Intro Basic

    5/42

    Schlum

    berg

    erPrivate

    2.1.7 Displaying file contents (more, cat)

    Use the more command to display the contents of a file. Type more followed by the name of

    the file to be displayed. The contents of the file scrolls down the screen. If the file is longer

    than one screen, this message appears:--More(nn%) [Press space to continue, q to quit. ]

    Where nn is the percentage of the file already displayed.

    You can also use the catcommand to display the contents of a file.

    2.1.8 Displaying file type (file)

    Use thefile command to show the file type:

    > file emptyfile

    emptyfile: ascii text

    2.1.9 Directories and hierarchy

    By now you know how to list, copy, rename and delete files. However, you may be

    wondering about larger issues. Where are these files located? This section discusses the

    directory hierarchy. Read the following narrative carefully and then try the examples in the

    sections that follow.

    2.1.10 Directory hierarchy

    Files are grouped into directories which are them selves organized in a hierarchy. At the top

    of the hierarchy is the root directory, symbolized by /

    5

    / (Root)

    /usr opt /diske /var

  • 8/8/2019 Unix Intro Basic

    6/42

    Schlum

    berg

    erPrivate

    2.1.11 Print working directory

    The commandpwd(print working directory) tells you your current directory:

    > pwd

    /diske/student5

    2.1.12 Change working directory (cd)

    The cd (change directory) command allows you to move around within the file system

    hierarchy:

    > cd /usr/lib

    > pwd

    /usr/lib

    When you type the cdcommand by itself, you return to yourhome directory. For example, if

    your home directory was /diske/student5:

    > cd

    > pwd

    /diske/student5

    In the C shell, the tilde (~) is used as shortcut for specifying your home directory. For

    example, you would type the following to change the subdirectory music within your home

    directory:

    > cd ~/music

    You can also use this shortcut to specify another users home directory. For example:

    > cd ~username

    Where username is another users login name, would change to that users home directory.

    6

  • 8/8/2019 Unix Intro Basic

    7/42

    Schlum

    berg

    erPrivate

    2.1.13 Creating directory (mkdir)

    It is easy to create a new directory. Type the mkdircommand followed by the name of the

    new directory:

    > mkdir data> cd data

    > mkdir geoframe

    > cd geoframe

    > pwd

    /diske/student5/data/geoframe

    2.1.14 Moving and renaming directories

    You rename a directory by moving it to a different name. Use the mv command to rename

    directories:

    > pwd

    /diske/student5/data

    > ls

    geoframe

    > mv geoframe eclipse

    > ls

    eclipse

    You can also move a directory to a location within another directory:

    > pwd

    /diske/student5/data

    > ls

    eclipse

    > mv eclipse ../data1

    > ls ../data1

    eclipse

    In this example, the directory eclipse is moved from data to data1 with the mv command.

    7

  • 8/8/2019 Unix Intro Basic

    8/42

    Schlum

    berg

    erPrivate

    2.1.15 Copying directories

    Use the cp r command to copy directories and the files they contain:

    > cp r data data2

    This command copy all file and subdirectories within the directory data to a new directory

    data2. This is a recursive copy, as designated by the r option. If you attempt to copy a

    directory without using this option, you will see an error message.

    2.1.16 Removing directories (rmdir)

    To remove a directory, use the rmdircommand as follow:

    > rmdir data2

    if the directory still contains files or subdirectories, the rmdircommand will not remove the

    directory.

    The rm r(adding the recursive optionrto the rm command) to remove a directory and all

    its contents, including any subdirectories and their files, as follow:

    > rm r data2

    Caution: Directories removed with the rmdir command cannot be recovered, nor can

    directories and their contents removed with the rm rcommand.

    2.1.17 Looking files (find)

    The find command searches for files that meet conditions you specify, starting from a

    directory you name. For example, you might search for filenames that match a certain pattern

    or that have been modified within a specified time frame.

    For example to see which files within the current directory and its subdirectories begin with

    data

    > pwd

    /diske/student5

    > find . name data* print

    ./data

    ./data1

    8

  • 8/8/2019 Unix Intro Basic

    9/42

    Schlum

    berg

    erPrivate

    Other options include:

    - name filename

    Selects files whose rightmost component matches filename.

    -user userid

    Selects files owned by userid. useridcan be either a login name or a user ID number

    - group group

    Selects files belonging to group

    - m time n

    Selects files that have been modified within n days

    2.1.18 File and directory security

    These are the basic file and directory permission type:

    r: read permission. A file must be readable to be examined or copied. A directory must be

    readable for you to list its contents.

    w: Write permission. A file must be writable in order for you to modify it, remove it or

    rename it. A directory must be writable for you add or delete files in it.

    x: Execute permission: A file with executable permissions is one you can run, such as

    program. A directory must be executable for you to gain access to any of its

    subdirectories.

    There are 3 categories of users for which you can set permissions:

    Self: the user

    Group: Other users within the same group as the user (for example, all accounting users).

    Groups are established and maintained by the system administrator.

    Others: Everyone else

    2.1.19 Displaying permission and status (ls l)

    You have already use the ls command to list files. The ls command has many options. Use the

    loption to display a long format list. Files and directories are listed in alphabetical order.

    The following figure illustrates this method for displaying files:> pwd

    9

  • 8/8/2019 Unix Intro Basic

    10/42

    Schlum

    berg

    erPrivate

    /diske/student5

    > ls l

    total 8

    drwxr--r-- 2 student5 1024 Jan 7 11:45 data

    drwxr--r-- 2 student5 1024 Jan 7 12:30 data1

    -rw-r--r-- 2 student5 0 Jan 7 11:30 emptyfile

    Permissions Links Owner Size Date Time File or directory name

    The first character on the line indicates the file type. A - (hyphen) is an ordinary file;

    dindicates a directory, and other characters indicate other special file types.

    The next nine characters indicate the permissions of the file or directory. The nine characters

    consist of three groups of three, showing the permissions for owner, the owners group and

    the world, respectively. The permissions for emptyfile are rw-r- -r- -, indicating that the

    owner can read and write this file, everyone can read it and no one can execute it. The

    permission for directory data1 are rwxr-xr-x, indicating that everyone has read and execute

    permissions, but only the owner can write to it.

    In addition to file permissions, the display shows the following information:

    Number of links to this file or directory

    Name of the owner (student5 in this case)

    Number of bytes (characters) in the file

    Date and time the file or directory was updated

    Name of the file or directory

    10

  • 8/8/2019 Unix Intro Basic

    11/42

    Schlum

    berg

    erPrivate

    2.1.20 Listing hidden files (ls a)

    There are some files that are not listed by the ordinary ls command. These files haves names

    beginning with the character . (called dot), such as .cshrc, .login, .profile. Use the

    ls a command to list these files:

    > ls a

    .

    ..

    .cshrc

    .login

    .profile

    emptyfile

    Notice that the files beginning with . are listed before the other files. There are two special

    files in this listing: the file . is the reference for the current directory, and the file .. is

    the reference for the parent directory.

    2.1.21 Changing permissions (chmod)

    Use the chmod command to change permissions for a file or a directory. You must be the

    owner of a file or a directory, or have root access to change its permissions. The general form

    of the chmodcommand is:

    > chmod permissions filename

    Where permissions indicates the permissions to be changed and filename is the name of the

    affected file or directory.

    The permissions can be specified in several ways. Here is one of the forms which is easiest to

    use:

    1. Use one or more letters indicating the users involved:

    u (for the user)

    g(for the group of users)

    o (for other users)

    a (for all three or above categories)

    11

  • 8/8/2019 Unix Intro Basic

    12/42

    Schlum

    berg

    erPrivate

    2. Indicate whether the permissions are to be added (+) or removed (-).

    3. Use one or more letters indicating the permissions involved.

    r(for read)

    w (for write) x (for execute)

    In the following example, write permission is added to the directory

    > ls l eclipse

    drwxr-xr-x 3 student5 1024 Jan 7 11:30 eclipse

    > chmod g+w eclipse

    > ls l eclipse

    drwxrwxr-x 3 student5 1024 Jan 7 11:30 eclipse

    As you can see, the hyphen (-) in the set of characters for group is changed to a w as a result

    of this command.

    To make this directory non-readable and non-executable by the other users outside your group

    (permissions is o-rx), you would enter the following:

    > ls l eclipsedrwxrwxr-x 3 student5 1024 Jan 7 11:30 eclipse

    > chmod o-rx eclipse

    > ls l eclipse

    drwxrwx--- 3 student5 1024 Jan 7 11:30 eclipse

    Now, the r(for read) and thex (for execute) in the set of characters for others users are both

    changed into hyphens.

    When you create a new file or directory, the system automatically assigns permissions. In

    general the default settings for a file are: -rw-r --r--

    And for new directories are: drwxr-xr-x

    12

  • 8/8/2019 Unix Intro Basic

    13/42

    Schlum

    berg

    erPrivate

    So, to make a new file test executable by its owner (student5), you would enter the following:

    > ls l test

    -rw-r--r-- 3 student5 1024 Jan 7 11:30 test

    > chmod u+x test

    > ls -l

    -rwxr--r-- 3 student5 1024 Jan 7 11:30 test

    2.1.22 Setting absolute permissions

    Up to this point, the discussion on permissions has only included using the chmodcommand

    to change permissions relative to their current settings. Using a different form of the chmod

    command, which applies numeric codes to specify permissions, you can set the permissions

    for a file or directory absolutely.

    The syntax for this usage ofchmodcommand is:

    chmod numcode name

    Where numcode is the numeric code and name is the name of file or directory for which you

    are changing permissions.

    The complete numeric code consists of three numbers. One number is used for each of the

    three categories: user, group and other. For example, the following command sets absolute

    read, write and execute permissions for the user and the group, and execute permissions only

    for others:

    > chmod 771 test

    The following table illustrates how the permissions described for test are represented by the

    code 7 7 1.

    Permissions for test

    Permission User Group Others

    Read

    Write

    Execute

    Total

    4

    2

    1

    7

    4

    2

    1

    7

    0

    0

    1

    1

    13

  • 8/8/2019 Unix Intro Basic

    14/42

    Schlum

    berg

    erPrivate

    The following is another example of this method for setting absolute permissions, with the

    ls lcommand to demonstrate the results:

    > ls l test1

    -rw-r--r-- 3 student5 1024 Jan 7 11:30 test1

    > chmod 755 test1

    > ls l test1

    -rwxr-xr-x 3 student5 1024 Jan 7 11:30 test1

    3 Searching files

    3.1 Searching for patterns with grep

    To search for a particular character string in a file, use thegrep command.

    The basic syntax of thegrep command is:

    > grep string file

    Where string is the word or phrase you want to find, and file is the file to be searched.

    For example, to find the phone number of the userstudent4 (this information is stored in the

    testfile)

    > grep student5 test

    student5 021 656666

    Note that more than one line may match the pattern you give:

    > grep student test

    student1 021 616666

    student2 021 626666

    student3 021 636666

    student4 021 646666

    student5 021 656666

    grep is case-sensitive; that is, you must match the pattern with respect to uppercase and

    lowercase letters:

    14

  • 8/8/2019 Unix Intro Basic

    15/42

    Schlum

    berg

    erPrivate

    3.1.1 Filtering using grep

    The following example displays files ending in .tmp that were created in the month ofMay:

    > ls l *.tmp |grep May

    the first part of this command produces a list of files:

    > ls l *.tmp

    -rw-r--r-- 1 student5 1567 Apr 15:07 change.tmp

    -rw-r--r-- 1 student5 2356 May 16:05 clock.tmp

    -rw-r--r-- 1 student5 1567 May 16:15 cmdtool.tmp

    -rw-r--r-- 1 student5 1067 Apr 12:45 commandos.tmp

    the second part, |grep Maypipes that list through grep, looking for the pattern May:

    > ls l *.tmp | grep May

    -rw-r--r-- 1 student5 2356 May 16:05 clock.tmp

    -rw-r--r-- 1 student5 1567 May 16:15 cmdtool.tmp

    3.1.2 grep with multi-word strings

    To find a pattern that is more than one word long, enclose the string with single or double

    quotation marks:

    > grep 021 61 test

    student1 021 616666

    grep can search for a string in a group of files. When it finds a pattern that matches in more

    than one file, it prints the name of the file, followed by a colon, then the line matching the

    pattern:

    > grep student5 *

    test: student5 021 616666

    test1:student5 Malika

    15

  • 8/8/2019 Unix Intro Basic

    16/42

    Schlum

    berg

    erPrivate

    4 Print command

    This section presents the most common print commands.

    4.1 How to submit a job (a file)

    Use the command lp to submit a specified file (usually, we call it job) to a printer as follows:

    lp d printer_name file_name

    Where:

    printer_name: is the name of the printer you want to print on (if you dont know it, ask your

    system administrator).

    file_name: is the name of the file you want to print.

    Example:

    > lp d hp4mv test

    request id is hp4mv-408 (1 file(s))

    Here we submitted the file testto the hp4mv printer.

    hp4mv-408 is the identifier of the print job

    Note: if you use the lp command without the -d option (just lp file_name), the file you

    want to print will be send to the default printer.

    4.2 How to show the status of a print job

    Use the lpstatcommand in order to check the status of your print job as follows:

    > lpstat

    hp4mv-408 berkine!student5 2001 Jan 7 11:45

    And use lpstat o all in order to check the status of all print jobs (all users) as follows:

    > lpstat o all

    hp4mv-408 berkine!student5 2001 Jan 7 11:45

    hp4mv-409 berkine!root 2001 Jan 7 11:46

    16

  • 8/8/2019 Unix Intro Basic

    17/42

    Schlum

    berg

    erPrivate

    4.3 How to cancel a print job

    Use the cancelcommand in order to cancel a job as follows:

    > cancel hp4mv-408

    Where: hp4mv-408 is the request ID of the file you want to cancel (here it is the id of the file

    test)

    5 Passwords, processes, and disk storage

    5.1 Using a password

    When choosing a password, keep the following in mind:

    Choose a password that you can remember without writing it down. A password that you

    cant remember is worse than one that is too easily guessed.

    Choose a password that is at least six characters long and contains at least one number.

    Dont use your own name or initials or name or initials of your spouse.

    Dont use the names or pets or objects common to your interests.

    Dont use all capital letters

    5.1.1 Changing your password

    To change your personal password, type thepasswdcommand:

    > passwd

    Changing password for student5 on ainsalah

    Old password:

    New password:

    Retype new password:

    >

    1. When the system prompts you forold password, type your current password.

    If no password is currently assigned to your account, the system will skip the old password

    prompt. Note that the system does not echo your password on the screen. This prevents other

    users front discovering your password.

    17

  • 8/8/2019 Unix Intro Basic

    18/42

    Schlum

    berg

    erPrivate

    2. When the system prompts you fornew password, type the password youve decided on.

    Again the password you type does not echo on the screen.

    3. At the final prompt, Retype new password:, type your new password second time. This is

    to verify that you typed exactly what you intended to type.

    5.2 Processes and PIDs

    After each command is interpreted by the system, an independent process with a unique

    process identification numberPID, is created to perform the command. The system uses the

    PID to track the current status of each process.

    5.2.1 Terminating processes using kill

    The killcommand provides you a direct way to stop command processes that you no longer

    want. This is particularly useful when you make a mistake typing a command that takes a long

    time to run.

    To terminate a process:

    1. Typeps to find out thePID(s) for the process(es).

    2. Type killfollowed by thePID(s).

    the following example illustrates this procedure:

    > ps

    PID TTY TIME co

    1291 co 0:12 -bin/csh (csh)

    3250 PO 0:00 ps

    1286 p1 0:05 -bin/csh (csh)

    3248 p1 0:05 vi commands

    > kill 1291

    (1) Terminated -bin/csh (csh)

    Note that a faster way of determining the right PID is to pipe ps output through grep as

    follow:

    > ps | grep commandname

    18

  • 8/8/2019 Unix Intro Basic

    19/42

    Schlum

    berg

    erPrivate

    Where commandname is the name of the command process you want to stop.

    If you need to forcibly terminate a process, you can use the 9 option with the killcommand

    as follow:

    > kill 9 PID

    WherePID is the process identification number of the process you want to terminate (kill).

    5.3 Managing disk storage

    5.3.1 Displaying disk usage df k

    df kshows you the amount of space currently in use on each disk that is mounted (directly

    accessible) to your system. Just type:

    > df -k

    to see the capacity of each disk mounted on your system, the amount available and the

    percentage of space already in use.

    N.B. File systems at or above 90 percent should be cleared of unnecessary files. You can do

    this either by moving them to a disk or a tape that is less full, using cp to copy them and rm to

    remove them, or you can simply remove them outright. Of course, you should only perform

    these housekeeping tasks on files that you own.

    5.3.2 Displaying directory usage (du)

    You can use du kto display the usage of a directory and all its subdirectories in K-byte.

    19

  • 8/8/2019 Unix Intro Basic

    20/42

    Schlum

    berg

    erPrivate

    6 Handling tape devices

    In the following, we will user/dev/rmt/0as the tape device path, but you should ask your

    system administrator in order to obtain the device path corresponding to the tape drive you

    want to use.

    6.1 The mt command

    The mt command sets control over the tape device mentioned, it comes with a variety of

    qualifiers that enable full handling of the tape. In what follows, we give some examples:

    0 Meaning automatic rewind to beginning of tape

    0l Meaning low density (2GB) writing to the tape

    0m Meaning medium density (5GB) writing to the tape

    0h Meaning high density (7GB) writing to the tape0u Meaning compressed (10GB if 120m tape; 14 GB if 160m tape length)

    0n Meaning no automatic rewind

    0b Meaning to follow Berkley standard for EOT (end of tape)

    Marker and EOF (end of file) marker assuming our tape device is

    /dev/rmt/0

    6.1.1 Rewinding a tape (using rew qualifier)

    > mt f /dev/rmt/0 rew

    This rewind the tape to its beginning.

    6.1.2 Forwarding a tape n files (using fsf qualifier)

    > mt f /dev/rmt/0n fsf 3

    This forwards the tape 3 files ahead and stops at the beginning of the 4th

    file. It is useful indealing with tapes containing multiple files.

    Note: The n for no rewind was important here so that the tape does not auto rewind to the

    beginning of the tape after skipping the 3 files.

    6.1.3 Checking a tape drive status (using stat qualifier)

    > mt f /dev/rmt/0 stat

    20

  • 8/8/2019 Unix Intro Basic

    21/42

    Schlum

    berg

    erPrivate

    This gives the current status of the tape drive.

    6.1.4 Rewinding and ejecting a tape (using rewoffl qualifier)

    > mt f /dev/rmt/0 rewoffl

    This brings the tape to its beginning and ejects it.

    6.2 Backup using tar command

    To create a backup file on a tape of a directory or a file we use the tar command as follows:

    tar cvf /dev/rmt/0 directoy_name

    Or

    tar cvf /dev/rmt/0 file_name

    Also you can have several files or directories or a mixture between both by mentioning this in

    the command line as follows:

    tarcvf /dev/rmt/0 directory_name1 [file_name1].[directory_name4]

    Note: It is better to go to the location of the file or directory which is to be backed-up rather

    than mentioning the full pathname for that file or directory; because if mentioned the

    pathname you will be obliged whenever you restore your backed data that this location exists,

    and you will be limited to just restoring to this location.

    6.3 Listing a backup file

    To list a backup file on the tape, we use the tar command as follow:tar tvf /dev/rmt/0

    This gives a listing of what resides on the tape.

    6.4 Restore a backup file

    To restore a backup file, we use the tar command as follows:

    tar xvf /dev/rmt/0 file_name

    21

  • 8/8/2019 Unix Intro Basic

    22/42

    Schlum

    berg

    erPrivate

    to restore a specific file from a tape

    tar xvf /dev/rmt/0

    to restore the whole backup file from the tape

    7 Some useful unix commands

    7.1 The tcopy command

    This is the tape copy command used to copy the whole tape contents to another tape or to a

    disk regardless of its contents format, it is used as follows:

    tcopy source destination

    For example: tcopy /dev/rmt/0 /dev/rmt/1

    This copies the tape in drive/dev/rmt/0 to another tape in/dev/rmt/1

    Also: tcopy /dev/rmt/0 file_name

    Copies the tape contents to a file on the disk with the namefile_name

    Note: The filefile_name must exist, this could be done by using the touch command to create

    a file even if a zero-size file as previously mentioned:

    touch file_name

    7.2 The dd command

    It copies a specified input file to a specified output file with the applied conversions. It reads

    block by block from the input with the specified size and outputs it with the mentioned block

    size.

    For example:

    dd if=/dev/rmt/0 of=/dev/rmt/1

    Where ifis the input file and ofthe output file.

    Also:

    tar cvf -.|compress|dd obs=1024k of=/dev/rmt/0

    This tars the current directory then compresses it and outputs it to the tape with output block

    size of 1024 K bytes.

    22

  • 8/8/2019 Unix Intro Basic

    23/42

    Schlum

    berg

    erPrivate

    7.3 The wc command

    This acts as a counter command, it gives counts for words, characters and lines in the

    specified file, for example:

    wc w file_name gives the number of words in the specified file

    wc l file_name gives the number of lines for the specified file

    wc c file_name gives the number of characters in the specified file

    7.4 The cut command

    This cuts out selected fields of each line in the file. For example, if we have the file employee

    as follows:

    > cat employee

    Name: Job_title:Salary:Location

    Tom:Engineer:3500:Egypt

    John:Accountant:4000:Italy

    Henry:Manager:5000:Germany

    Terry:Technician:2500:France

    Then we want to get only the employee_name & locationwe can apply:

    > cut d: -f1,4 employee

    Name: Location

    Tom: Egypt

    John: Italy

    Henry: Germany

    Terry: France

    Here we mentioned that our delimiter is a colon -d:, and we want only first and fourth fields

    f1,4.

    We can also specify a range of characters where we want to apply the cut command for

    example:> cut c1-20 employee

    23

  • 8/8/2019 Unix Intro Basic

    24/42

    Schlum

    berg

    erPrivate

    Name:Job_title:Salar

    Tom:Engineer:3500:Eg

    John:Accountant:4000

    Henry:Manager:5000:G

    Terry:Technician:250

    Here we mentioned that we wanted the first 20 characters out of every line.

    7.5 The xwd & xwud commands

    The xwdcommand enables us to capture a screen dump of an active window on a file like

    follows:

    xwd > file_name

    A pointer like + will show. You should use this pointer to point to the window that you

    would like to have a captures image of on the file file_name and then apply one click with

    your left mouse button. You will hear one peep followed by 2 peeps to indicates that

    capturing the image has been done.

    To see how the captures image look like, you can apply the xwudcommand like this:

    xwud < file_name

    An image of the captured window will show. To remove it, click the left mouse button one

    click.

    24

  • 8/8/2019 Unix Intro Basic

    25/42

    Schlum

    berg

    erPrivate

    8 Basic network commands

    8.1 Objectives

    Upon completion of this lesson, youll be able to:

    Describe the terms client-server and distributed processing

    Execute a command on another machine.

    Copy files from one machine to another machine

    Log in to another machine on the network

    Work into a remote machine.

    Perform a backup into a remote tape drive.

    8.2 Client-server

    8.2.1 Distributed processing

    Distributed processing allows access to remote system for the purpose of sharing information

    and network resources, and it allows communication with users on other systems.

    8.2.2 Server

    A server is a machine that provides resources to one or more clients. A server connects to the

    clients it serves by a network.

    8.2.3 Client

    A client is a machine that uses the services from one or more servers on a network.

    8.2.4 Network

    A network is a connection between machines that allows an exchange of information between

    these machines. Three types of network are:

    Local area network (LAN)

    A LAN is a network that covers a small area, usually less than a few thousand feet.

    Metropolitan area network (MAN)

    A MAN is a network that can span across a city

    Wide area network (Wan)

    A WAN is a network that can span thousand of miles

    25

  • 8/8/2019 Unix Intro Basic

    26/42

    Schlum

    berg

    erPrivate

    8.3 The /etc/hosts file

    Before using any network resource, you should know that for each entity connected to the

    network corresponds an IP address. The /etc/hosts file contains these correspondences (you

    can view it by typing the following command pg /etc/hosts)

    8.4 The rsh command

    Use the rsh (remote shell) command to execute a command on another machine.

    Command format:

    rsh hostname [command]

    Example:

    Use the rsh command to look for specific information on another host rather than remotely

    logging in to look for it.

    > rsh berkine ls l /tmp

    8.5 Using the ftp command

    Use theftp command to copy a file or files to and from another machine.

    8.5.1 Copying file(s) to another machine

    In order to copy file(s) from your machine to another machine, follow these instructions:

    1. Change to the directory from which you want to copy file(s).

    2. Execute the command ftp remote_name, where remote_name is the name of the remote

    machine you want to copy file(s) on. The system will ask you to enter the username and

    the password you want to connect with (you must have an account in the host machine in

    order to execute this command).

    3. Change to the directory you want to copy on (cd directory_name)

    4. Execute the command put file_name, wherefile_name is the name of the file you want

    to copy

    26

  • 8/8/2019 Unix Intro Basic

    27/42

    Schlum

    berg

    erPrivate

    5. Once the file is copied (after the message of success), type bye in order to close theftp

    session

    Note: If you want to copy more than one file you should replace the 4 th instruction by the

    following:

    mput file_name1file_name2.

    Or: mput *

    And then, the system will ask you to choose the files you want to copy.

    8.5.2 Getting file(s) from another machine

    In order to copy file(s) from another machine to your machine, follow these instructions:

    1. Change to the directory to which you want to copy file(s).

    2. Execute the command ftp remote_name, where remote_name is the name of the remote

    machine you want to copy file(s) on. The system will ask you to enter the username and

    the password you want to connect with.

    3. Change to the directory you want to copy from (cd directory_name)

    4. Execute the command get file_name, wherefile_name is the name of the file you want

    to copy

    5. Once the file is copied (after the message of success), type bye in order to close theftp

    session

    Note: If you want to copy more than one file you should replace the 4th instruction by the

    following:

    mget file_name1file_name2.

    Or: mget *

    And then, the system will ask you to choose the files you want to copy.

    Note: When users copy files between systems, the files retain the ownership of the UID who

    executed the command.

    27

  • 8/8/2019 Unix Intro Basic

    28/42

    Schlum

    berg

    erPrivate

    8.6 Log in to another machine

    Before attempting to remotely log in to another system as a different user, be sure you have an

    account on the remote machine you want to access. If not, check with your system

    administrator.The pertinent information is:

    Machine name

    Login ID

    Password

    Remotely logging into workstation is helpful under the following circumstances:

    To access information on another workstation that not available otherwise.

    To access your workstation to read mail

    To access your workstation to kill a process that has caused it to hang.

    8.6.1 Using the rlogin command

    Use the rlogin command to establish a remote login session on another workstation.

    Command format:

    rlogin hostname [-option]

    Example:

    Use rlogin command to establish a remote session on berkine the remote machine, with

    your current login ID on your current local workstation.

    > rlogin berkine

    Password:

    Last login Sat 6 16:00 berkine

    Sun Microsystems Inc Solaris Generic Sept

    Use the rlogin l to specify a different login ID for your remote login session.

    Command format:

    rlogin machinename -l username

    28

  • 8/8/2019 Unix Intro Basic

    29/42

    Schlum

    berg

    erPrivate

    Example:

    > rlogin berkine -l user5

    Password:

    Last login Sat 6 16:00 berkine

    Sun Microsystems Inc. SunOs 5.6 Generic august 1997

    You have a new mail

    8.6.2 Using the telnet command

    Use the telnetcommand to start a new login session to a remote machine with the login id you

    specify at the Login prompt.

    Command format:

    telnet machinename

    Example:

    > telnet berkine

    Login: user5

    Password:

    Last login Sat 6 16:00 berkine

    Sun Microsystems Inc. SunOs 5.6 Generic August 1997

    You have a new mail

    8.7 Working in a remote machine

    Here is the sequence of commands you should use in order to work in a server via yourworkstation.

    With the right button of your mouse, click on the SunOs desktop. Youll obtain a menu,

    choose the xhost + option.

    Connect to this server with a telnet or rlogin command.

    Once you are connected, execute the following command:

    setenv DISPLAY IP_address:0.0 orsetenv DISPLAY hostname:0.0

    Where IP_address: is the IP address of your local machine.And hostname: is the hostname (name) of the workstation.

    29

  • 8/8/2019 Unix Intro Basic

    30/42

    Schlum

    berg

    erPrivate

    8.8 Using a remote tape drive

    When having a network, this gives variety of benefits. One of which is using resources on

    remote networked machines like in our case here the tape drive.

    Consider having two machines:local the current machine we are using

    remote the remote machine with tape drive /dev/rmt/0

    8.8.1 Baking up to a remote tape

    This could be done using the rsh command like this:

    tar cvf file_name | rsh remote dd of=/dev/rmt/0 obs=20b

    Where obs is the output block size; we chose 20b because this is the standard default when

    making a tar on a tape drive.

    8.8.2 Restoring from a remote tape

    This could be done like follows:

    rsh remote dd if=/dev/rmt/0 ibs=1000b |tar xvf

    Where ibs is the input block size; we chose 1000b just a big number to make the read process

    mach faster by reading larger blocks.

    30

  • 8/8/2019 Unix Intro Basic

    31/42

    Schlum

    berg

    erPrivate

    9 Additional information

    9.1 The startup files (.cshrc et .login)

    The startup files contain some commands that should be executed when you log in an

    account. This allows to prepare the environment you will work in.

    As the shell used is the csh, the files considered are the .cshrc and the .login

    9.2 The environment variables

    Environmental variables are used to provide information to the programs you use (exple :

    The current environment variables are displayed with the "printenv" command. Some

    common ones are:

    DISPLAY The graphical display to use, e.g. ainsalah:0.0

    HOME Path to your home directory, e.g. /diske/student5

    HOST The hostname of your system, e.g. ainsalah

    PATH Paths to be searched for commands, e.g. /usr/bin:/usr/ucb:/usr/local/bin

    USERYour username, e.g. student5

    Many environment variables will be set automatically when you login. You can modify them

    or define others with entries in your startup files or at anytime within the shell.

    To set or modify an environment variable, use this syntax:

    > setenv NAME value

    Where NAME is the name of the environment variable.

    You can unset an environment variable with the unsetenv command as follows:

    > unsetenv NAME

    You can access to current value of the variable via the "$NAME", or "${NAME}",

    notation.

    Example:

    > setenv PATH $PATH:/diske/student4

    31

  • 8/8/2019 Unix Intro Basic

    32/42

    Schlum

    berg

    erPrivate

    9.3 Using the manual pages of Unix (man)

    The man command is used in order to give information about the way you should use a

    specific command. This command is very useful in order to remind a command syntax.

    Command format: man command_nameExample:

    > man man

    32

  • 8/8/2019 Unix Intro Basic

    33/42

    Schlum

    berg

    erPrivateAPPENDIX

    Using the vi editor

    33

  • 8/8/2019 Unix Intro Basic

    34/42

    Schlum

    berg

    erPrivate

    Introducing vi

    The visual display (vi editor) is an interactive editor that is used to create and/or modify text

    files.

    The vi editor uses a screen display, but you cannot use the mouse to position the cursor.It is important that users know how to use vi editor, as it is sometimes the only editor

    available (besides ed).

    vi modes

    There are three modes of operation in vi:

    Command mode

    Entry mode

    Last-line mode

    When you open a file with vi, you are in command mode. In this mode, you can enter

    positioning and editing commands to perform functions. While in command mode you can do

    advanced editing commands by typing a colon (:), which places you at the bottom line of the

    file. This is called last-line mode. However, all commands are initiated from command mode

    You must be in entry mode to enter text. To enter text you must type a vi insert command

    such as i ora. This takes vi out of command mode and puts it into entry mode. In this mode,

    text will not be interpreted as editing commands. When you finish entering text in your file,

    press the Esc key to return to command mode.

    Invoking vi

    Command format:

    vi [filename]

    Example:

    To create a new file, invoke vi with a new file name by typing:

    > vi filename

    34

  • 8/8/2019 Unix Intro Basic

    35/42

    Schlum

    berg

    erPrivate

    The following table contains commands you can use to create, edit or view a file.

    Command Meaning

    vi filename Open or create file

    vi Open new file to be named later

    vi r filename Recover crashed fileview filename Open file read-only

    Input commands

    Command Meaning

    a Append text after cursor

    A Append text at line end

    i Insert text before cursor

    I Insert text at beginning of line

    o Open a new line below cursor

    O Open a new line above cursor

    Positioning commands introduction

    The following pages list the vi editor editing and positioning commands, which are used to

    make changes to your file.

    The vi is case sensitive, so make sure to use the specified case when using the editing and

    positioning commands.

    Command Meaning

    h or backspace Move left one character

    j Move down one line

    k Move up one line

    l or spacebar Move right (forward) one character

    w Move forward one word (including punctuation)

    W Move forward one word (past punctuation)

    b Move back one word (including punctuation)

    B Move back one word (past punctuation)e Move to end of current word

    Return Move down to beginning of next line

    H Move to top of screen

    m Move to middle of screen

    L Move to bottom of screen

    Control-F Page forward one screen

    Control-D Scroll down one-half screen

    Control-B Page back one screen

    Control-U Scroll up one-half screen

    35

  • 8/8/2019 Unix Intro Basic

    36/42

    Schlum

    berg

    erPrivate

    Editing Command

    Deleting text

    To delete text, use the following options:

    Command Meaningx Delete character at the cursor

    X Delete character to the left of the cursor

    dw Delete word (or part of word to right of cursor)

    3dw Delete 3 words

    dd Delete the line containing the cursor

    3dd Delete 3 lines

    D Delete the rest of the line right of the cursor (from cursor

    position to the end of the line)

    dG Delete to end of file

    dlG Delete from beginning of the file to cursor :5,10d Delete lines 5 through 10

    Undoing, Repeating and changing text commands

    To change text, cancel or repeat edit functions, use the following options.

    The following commands (except for r) change you to insert mode until you press Esc.

    Command Meaning

    cw Change word (or part of word) at the cursor location to

    the end of the word.3cw Change 3 words

    R Overwrite or replace characters on line

    C Change from cursor to end of line

    s Substitute character for string

    r Replace character at cursor with one other character

    i Return Break line

    J Join current line and line below

    xp Transpose character at cursor and character to the right

    ~ Change case of letter (upper or lower) at cursor

    u Undo previous commandU Undo all changes to current line

    36

  • 8/8/2019 Unix Intro Basic

    37/42

    Schlum

    berg

    erPrivate

    :u Previous last line command

    Copying and pasting text

    Command Meaning

    yy Yank a copy of line3y Yank a copy of 3 lines

    p Put yanked or deleted line below current line

    P Put yanked or deleted line above current line

    :1,3co5 Copy line 1 through 3 and put after line 5

    :4,6m8 Move lines 4 through 6 to line8 (line6 becomes line8,

    line 5 becomes line7 and line 4 becomes line 6)

    Note: Both delete and yank write to a buffer. When yanking and pasting, the paste commands

    insert the text differently depending on whether you are pasting a word(s) or a line(s).

    Saving and quitting files

    To save and quit a file, use the following options:

    Command Meaning

    :w Save changes (write buffer)

    :w new_file Write buffer to a new file:wq Save changes and quit vi

    ZZ Save changes and quit vi

    q! Quit without saving changes

    Advanced editing options

    vi offers options to customize your edit session such as:

    Display line numbers

    Display invisible character such as tab and end of line characters.

    Thesetcommands are used from last-line to control these options

    Command Meaning

    :set nu Show line number

    :set nonu Hide line number

    :set ic Searches should ignore case

    :set noic Search should be case sensitive

    :set list Display invisible characters such as tab and end of line

    :set nolist Turn off the display of invisible characters

    :set showmode Display current mode of operation:set noshowmode Turn off I-node display

    37

  • 8/8/2019 Unix Intro Basic

    38/42

    Schlum

    berg

    erPrivate

    To find a line, use the following options:

    Command Meaning

    G Go to last line of file

    1G Go to first line of file:21 Go to line 21

    21G Go to line 21

    To clear the screen and insert a file, use the following options:

    Command Meaning

    Control-L Clear (refresh) scrambled screen

    :r filename Insert (read) file at line after cursor

    :34 r filename Insert file after line 34

    To search and replace text, use the following option

    Command Meaning

    /string Search forward for string

    ?string Search backward for string

    n Find next occurrence of string

    N Find previous occurrence of string

    :%s/old/new/g Search and replace globally

    Creating and saving file example

    The following steps describe how to create a file using the vi editor

    1. Type vi filename to create the file

    2. type i to insert text

    3. Press Esc to go to command mode

    4. Type :wq to write the file and exit vi

    The Esc key always puts you in command mode. Use the Esc if you are not sure what modeyou are in.

    If you press Esc while you are in command mode, the workstation beeps as a reminder that

    you are already in command mode.

    38

  • 8/8/2019 Unix Intro Basic

    39/42

    Schlum

    berg

    erPrivate

    39

  • 8/8/2019 Unix Intro Basic

    40/42

    Schlum

    berg

    erPrivate

    Index

    1 Logging into SunOS...............................................................................................................1

    1.1 Logging in.........................................................................................................................1

    1.2 How to open a terminal window.......................................................................................2

    1.3 How to close a terminal window.......................................................................................2

    1.4 Logging out......................................................................................................................2

    2 Working with files and directories.......................................................................................2

    2.1 Using File commands........................................................................................................3

    2.1.1 Before you begin........................................................................................................3

    2.1.2 Creating a test file......................................................................................................3

    2.1.3 Listing files (ls)..........................................................................................................3

    2.1.4 Copying files (cp).......................................................................................................4

    2.1.5 Moving and renaming files (mv)...............................................................................4

    2.1.6 Deleting files (rm)......................................................................................................4

    2.1.7 Displaying file contents (more, cat)...........................................................................5

    2.1.8 Displaying file type (file)...........................................................................................5

    2.1.9 Directories and hierarchy...........................................................................................5

    2.1.10 Directory hierarchy..................................................................................................5

    2.1.11 Print working directory............................................................................................6

    2.1.12 Change working directory (cd)................................................................................6

    2.1.13 Creating directory (mkdir).......................................................................................7

    2.1.14 Moving and renaming directories ...........................................................................7

    2.1.15 Copying directories..................................................................................................8

    2.1.16 Removing directories (rmdir)...................................................................................82.1.17 Looking files (find)..................................................................................................8

    2.1.18 File and directory security........................................................................................9

    2.1.19 Displaying permission and status (ls l)..................................................................9

    2.1.20 Listing hidden files (ls a).....................................................................................11

    2.1.21 Changing permissions (chmod).............................................................................11

    2.1.22 Setting absolute permissions..................................................................................13

    3 Searching files.......................................................................................................................14

    3.1 Searching for patterns with grep.....................................................................................14

  • 8/8/2019 Unix Intro Basic

    41/42

    Schlum

    berg

    erPrivate

    3.1.1 Filtering using grep...............................................................................................15

    3.1.2 grep with multi-word strings................................................................................15

    4 Print command.....................................................................................................................16

    4.1 How to submit a job (a file)............................................................................................16

    4.2 How to show the status of a print job..............................................................................16

    4.3 How to cancel a print job................................................................................................17

    5 Passwords, processes, and disk storage..............................................................................17

    5.1 Using a password............................................................................................................17

    5.1.1 Changing your password..........................................................................................17

    5.2 Processes and PIDs.........................................................................................................18

    5.2.1 Terminating processes using kill..........................................................................18

    5.3 Managing disk storage....................................................................................................19

    5.3.1 Displaying disk usage df k.................................................................................19

    5.3.2 Displaying directory usage (du)...............................................................................19

    6 Handling tape devices..........................................................................................................20

    6.1 The mt command............................................................................................................20

    6.1.1 Rewinding a tape (using rew qualifier)....................................................................20

    6.1.2 Forwarding a tape n files (using fsf qualifier)......................................................20

    6.1.3 Checking a tape drive status (using stat qualifier)...................................................20

    6.1.4 Rewinding and ejecting a tape (using rewoffl qualifier)..........................................21

    6.2 Backup using tar command.........................................................................................21

    6.3 Listing a backup file........................................................................................................21

    6.4 Restore a backup file.......................................................................................................21

    7 Some useful unix commands...............................................................................................22

    7.1 The tcopy command........................................................................................................22

    7.2 The dd command.............................................................................................................22

    7.3 The wc command............................................................................................................23

    7.4 The cut command............................................................................................................23

    7.5 The xwd & xwud commands..........................................................................................24

    8 Basic network commands....................................................................................................25

    8.1 Objectives........................................................................................................................25

    8.2 Client-server....................................................................................................................25

    8.2.1 Distributed processing..............................................................................................258.2.2 Server.......................................................................................................................25

  • 8/8/2019 Unix Intro Basic

    42/42

    Schlum

    berg

    erPrivate

    8.2.3 Client........................................................................................................................25

    8.2.4 Network....................................................................................................................25

    8.3 The /etc/hosts file............................................................................................................26

    8.4 The rsh command............................................................................................................26

    8.5 Using the ftp command...................................................................................................26

    8.5.1 Copying file(s) to another machine..........................................................................26

    8.5.2 Getting file(s) from another machine.......................................................................27

    8.6 Log in to another machine..............................................................................................28

    8.6.1 Using the rlogin command ......................................................................................28

    8.6.2 Using the telnet command........................................................................................29

    8.7 Working in a remote machine.........................................................................................29

    8.8 Using a remote tape drive...............................................................................................30

    8.8.1 Baking up to a remote tape......................................................................................30

    8.8.2 Restoring from a remote tape...................................................................................30

    9 Additional information .......................................................................................................31

    9.1 The startup files (.cshrc et .login)...................................................................................31

    9.2 The environment variables..............................................................................................31

    9.3 Using the manual pages of Unix (man)..........................................................................32

    Appendix .....33


Recommended