Class Schedule
This work
is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
home & schedule | syllabus | contact | grades
Normally, one can work within the Shell of the server operating system
by using a command line interface.
Servers may be using either UNIX or LINUX, but the commands for both operating systems are essentially the same. So, if we learn the commands and behaviors for one, we probably can work easily on the other as well. For the rest of this page, where the word UNIX is used, you can substitute LINUX as well.
A little knowledge is a dangerous thing. This is especially true of UNIX. In UNIX it is possible to erase every one of your files with one little command and never get an "Are you sure?" message or warning.
Ask me.
I've done it.
And while I've done it to my own files, some network managers have done it to every user's files.
For Macintosh machines, you will be using an SSH client that comes with every Apple computer (although you might not have known about it).
For Windows machines, you will be using the PowerShell SSH that you installed on your Windows 10 laptop.
SSH uses ssh (the Secure Shell) to login, so that your username and password are not visible to other people on the campus network.
This would be a good time to get used to a convention.
commandsargumentvalue
Working with Unix/Linux at the command line requires us to know certain exact commands.
But we also want to become comfortable with the fact that some commands require an argument to effectively carry out the command.
Some commands require an argument to effectively carry out the command
Sometimes the argument will include a specific value that must be appended to the argument in order to carry out the command.
Sometimes the argument will include a specific value that must be appended to the argument to effectively carry out the Command
We will have to get used to this syntax as it will be a common theme in all the tools we will encounter.
If you want reference sheet for Unix/Linux commands, you may use and save this one.
As you move around among your files and directories, you may become disoriented as to "where" you are. UNIX has the concept of "current" directory, also known as the working directory, or the directory you are currently "in". Two additional commands will be useful to determine what directory you are in.
pwd
print working directory command
pwd doesn't take any arguments
cd
change directory command
cd takes the destination directory as its single argument.
Do you see that you changed to a new directory?
Type cd to return home.
More on ls (that's "ell ess"):
ls -l gives a long directory listing, including the file size, creation date, and access permissions
ls -s gives the size (in blocks) of a file
ls -a shows all files.
Otherwise, files starting with a dot (.) are skipped.
Your current directory is always abbreviated as .,
and the parent directory is always abbreviated as ..
You can put more than one argument on the ls command, as in ls -als
There are several commands that you will use to create directories and files.
These are (again) command line commands. They all have options, and they all take one or more arguments. In UNIX parlance, an argument is a file or directory name, or some other piece of information needed to complete the command.
To step up one level from a directory, you want to use the command ../
This tells the server to step up to the parent directory.
We will look at the arguments.
type the make directory command mkdir
followed by the name you want the directory to have. This looks like:
mkdir mynewdir
In this case, mynewdir is the argument for the mkdir command.
the argument is the name of the directory you want to remove. Try it.
rm for removing a file takes one argument, the name of the file.
each take two arguments.
In the copy command,
the first argument is the name of the file you wish to move or copy,
the second argument is the name of the file you want to copy into or move the file to.
cp mynewfile mynewfile1
makes a copy of the file named mynewfile and names it mynewfile1
The move command is essentially a rename command.
The arguments are not limited to file and directory names in the local directory. An argument can specify another directory and a file in that directory. For instance, if you have a directory called public_html (which you should), then you can move a file from your home directory into this directory as follows.
mv thisfile public_html/
If in addition to moving the file, you want to rename it,
then the new file name can be typed following the slash, as follows:
mv thisfile public_html/thatfile
These are commands commonly used. You will find them valuable when you work within a UNIX system, and for other UNIX tasks as well. Remember: UNIX is case-sensitive
Commands can have arguments and options. Options usually have a hyphen.
Most common errors in UNIX come from not knowing what directory you are in. Use the pwd and ls commands to keep track.
Use the man command to get usage information
20 August Lecture | preps | server OS | command line