Introducing the Command Line

advertisement
Introducing the
Command Line
CMSC 121 Introduction to UNIX
Much of the material in these slides was taken from
Dan Hood’s CMSC 121 Lecture Notes.
Format of UNIX Commands




UNIX commands can be very simple one word commands, or they can take a
number of additional arguments (parameters) as part of the command. In
general, a UNIX command has the following form:
command options(s) filename(s)
The command is the name of the utility or program that we are going to
execute.
The options modify the way the command works. It is typical for these options
to have be a hyphen followed by a single character, such as -a. It is also a
common convention under Linux to have options that are in the form of 2
hyphens followed by a word or hyphenated words, such as --color or -pretty-print.
The filename is the last argument for a lot of UNIX commands. It is simply
the file or files that you want the command to work on. Not all commands
work on files, such as ssh, which takes the name of a host as its argument.
Common UNIX Conventions



In UNIX, the command is almost always
entered in all lowercase characters.
Typically any options come before filenames.
Many times, individual options may need a word
after them to designate some additional meaning
to the command.
Familiar Commands:
scp (Secure CoPy)


The scp command is a way to copy files back
and forth between multiple computers.
Formats for this command:



scp path/local_name username@hostname:path/remote_name
scp username@hostname:path/remote_name path/local_name
Demo with renaming and copying files.
Familiar Commands:
ssh (Secure SHell)


The ssh command is a way to securely connect to a remote computer.
Formats for this command:




If you do not specify the username, it will assume that you want to connect
with the same username that you have on this local computer.



ssh hostname
ssh username@hostname
ssh hostname -l username
Since you have a single username for all computers on the OIT network, you don’t
need to explicitly enter a username.
But you can give a username, and will need to if your local username is different
that your GL username. This might be the case if you are logging on from home
and set up your username to be different from what it is on GL.
Demo with connecting with different usernames.
Familiar Commands:
ssh (Secure SHell)

You can save a couple of keystrokes if you are on one
of the Linux PCs in the labs:




You really only need to specify enough of a hostname as you
may need.
Linux will automatically attempt to fill out the hostname with
“umbc.edu” for you.
So if you want to log onto the lightest loaded linux server on
gl, you only need to issue the following command...
ssh linux.gl
Or, if you don't care the flavor of UNIX, you can simply
type...
ssh gl
Familiar Commands:
passwd (change PASSWorD)



The passwd command changes your UNIX
password.
This command is an example of a “no
argument” command. Thus, the format of this
command is just the command name itself.
passwd
passwd is an interactive command, as once we
have typed it, we need to interact with it.
Familiar Commands:
quota (account QUOTA)



The quota command shows you how much
storage space you have left in your account.
When we use this command, we have to specify
the -v option to get the information for our
account.
The format of this command is:
quota -v
Familiar Commands:
oitcleaner (account cleaning tool)

The oitcleaner account cleaning tool was
developed by the UMBC OIT department.


This command is specific to the UMBC GL systems.
This command takes no options and no
filenames, so its format is:
oitcleaner
Man Pages



The man command allows you to access the
MANual pages for a UNIX command.
To get additional help on any of the commands
listed below, you can always type man
name_of_command at the command prompt.
Examples:
man ssh
 man passwd

Commands

ls : lists the contents of a directory






pwd : prints the current working directory
cd : changes directories




l : long directory listing
a : lists all files, including files which are normally hidden
F : distinguishes between directories and regular files
h : ? Look it up using man
The difference between relative and absolute paths.
Special characters ., .., and ~.
mkdir : creates a directory
rmdir : removes a directory (assuming it is empty)

If you get an error that the directory isn’t empty even though it looks
empty, check for hidden files.
Commands


touch : creates an empty file with the specified name,
or if the file already exists it modifies the timestamp.
rm : removes a file.



mv - moves a file, or renames a file


f : force deletion
r : recursive deletion
f : forces overwrite, if the destination file exists
cp - copies a file, leaving the original intact


f : forces overwrite, if the destination file exists
r : recursive copying of directories
Commands





cat : shows the contents of a file, all at once
more : shows the contents of a file, screen by
screen
less : also shows the contents of a file, screen by
screen
head : used to show so many lines form the top
of a file
tail : used to show so many lines form the
bottom of a file
Commands


lpr : prints a file
alias : creates an alias for a command.






Aliases can be placed in your .cshrc login script.
Example: alias rm ‘rm –i’.
date : shows the date and time on the current system
who : used to print out a list of users on the current
system
hostname : prints the hostname of the current
computer
whoami : prints your current username
The UNIX Pipe (|)



The pipe (|) creates a channel from one command to another.
Think of the pipe as a way of connecting the output from one
command to the input of another command.
The pipe can be used to link commands together to perform
more complex tasks that would otherwise take multiple steps
(and possibly writing information to disk).
Examples:

Count the number of users logged onto the current system.




The who command will give us line by line output of all the current users.
We could then use the wc -l to count the number of lines...
who | wc –l
Display long listings in a scrollable page.


The lpq command will give us a list of the waiting print jobs.
lpq | less
Commands

ps : lists the processes running on the machine.




kill : terminates a process



ps -u username lists only your processes.
ps -a : lists all processes running on the machine.
The PID column of the listing, provides the information
required by the kill command.
kill process_id : sends a terminate signal to the process
specified by the process_id (PID).
In cases where the terminate signal does not work, the
command "kill -9 process_id" sends a kill signal to the process.
nice : runs a process with a lower priority.
Download