You are on page 1of 7

cd to change directories Type cd followed by the name of a directory to access

that directory.
Keep in mind that you are always in a directory and allowed access to any
directories hierarchically above or below. Ex:
cd games
If the directory games is not located hierarchically below the current directory,
then the complete path must be written out. Ex:
cd /usr/games
To move up one directory, use the shortcut command. Ex:
cd ..
Use clear to clear the command prompt Type clear to clean up your command prompt
window.
This is especially helpful when you are typing lots of commands and need a clean
window to help you focus.Ex:
clear
This is also useful when you are getting ready to type a rather long command and
do not wish to become confused by other details on the screen.
Use date to set your server's date and time Type date followed by the two digit
month, the two digit date, the two digit time, and two digit minutes. The syntax
is easy enough and resembles this: MMDDhhmm
This command is helpful but must be used when superuser or logged in as root.
Otherwise you will get an "Operation not permitted" reply.As root user you can use
the command such as:
date 11081300
The above command will set the server date and time to the 11th month (November),
the 8th day, at 1:00pm.
Use df to check disk space Typing df provides a very quick check of your file
system disk space.
Type df -h to get a more easily readable version of the output. Notice that this
command will include all applicable storage such as your hard disk/s (hda, hdb
etc.) and your server SWAP file (shm). To list disk space including filesystem
type:
df -h -T
Use finger to see who's on the system Typing finger allows you to see who else is
on the system or get detailed information about a person who has access to the
system.
Type finger followed by the name of a user's account to get information about that
user. Or, type finger and press enter to see who's on the system and what they are
doing. Ex:
finger johndoe
Use logout to quit using the system Yep, you guessed it, typing logout will log
your account out of the system.
Type logout at the prompt to disconnect from your Linux machine or to logout a
particular user session from the system. Keep in mind that although rudimentary,
leaving your critical account logged on may be a security concern. We always
recommend promptly using logout when you are finished using your root account! Ex:
logout
Use ls to list files and directories Type ls to see a list of the files and
directories located in the current directory. If you’re in the directory named
games and you type ls, a list will appear that contains files in the games
directory and sub-directories in the games directory. Examples:
ls Mail
ls /usr/bin
Type ls -alt to see a list of all files (including .rc files) and all directories
located in the current directory. The listing will include detailed, often useful
information. Examples:
ls -alt
ls -alt /usr/bin
If the screen flies by and you miss seeing a number of files, try using the |more
at the end like:
ls -alt |more
* In Bash (Linux shell) often the abbreviated command L is available. To get a
verbose listing of files and directories you could therefore simply type: l
Use man to pull up information about a Linux command Type man followed by a
command to get detailed information about how to use the command. Ex:
man ls
Type man -k followed by a word to list all of the commands and descriptions that
contain the word you specified. Ex:
man -k finger
Use more to read the contents of a file Type more followed by the name of a text
file to read the file’s contents. Why do we exmphasize using this on a "text"
file? Because most other types of files will look like garbage! Ex:
more testfile.txt
Use nano to start a text editor Typing nano will start a basic text editor on most
Linux systems.
Type nano followed by the filename you wish to edit. This basic editor is quick
and easy to use for beginners. However, it is very important that you also learn
about other text editors available on Linux and UNIX systems. Click on this link
to learn about others like emacs, vi, and pico. Ex:
nano /etc/security/access.conf
Use passwd to change your current password Type passwd and press enter. You'll see
the message Changing password for yourname.
At the Old password: prompt, type in your old password .
Then, at the Enter new password: prompt, type in your new password .
The system double checks your new password. Beside the Verify: prompt, type the
new password and press again.

Create a secure password that combines parts of words and numbers. For instance,
your dog's name may be Rufus. He may have been born in 1980. Create a password
that uses parts of both the name and date of birth, such as 80rufuS. Note the use
of at least one capital letter. This is a fairly secure password and easy to
remember.
Use pwd to list the name of your current directory Type pwd and hit enter. You'll
see the full name of the directory you are currently in. This is your directory
path and is very handy. This is especially handy when you forget which directory
you’ve changed to and are trying to run other commands.

Summary Use
arp
Command mostly used for checking existing Ethernet connectivity and IP address
Most common use: arp
This command should be used in conjunction with the ifconfig and route commands.
It is mostly useful for me to check a network card and get the IP address quick.
Obviously there are many more parameters, but I am trying to share the basics of
server administration, not the whole book of commands.

df
Display filesystem information
Most common use: df -h
Great way to keep tabs on how much hard disk space you have on each mounted file
system.

du
Display usage
Most common use, under a specific directory: du -a
Easily and quickly identify the size of files/programs in certain directories. A
word of caution is that you should not run this command from the / directory. It
will actually display size for every file on the entire Linux harddisk.

find
Find locations of files/directories quickly across entire filesystem
Most common use: find / -name appname -type d -xdev

(replace the word appname with the name of a file or application like gimp)
This is a very powerful command and is best used when running as root or
superuser. The danger is that you will potentially look across every single file
on every filesystem, so the syntax is very important. The example shown allows you
to search against all directories below / for the appname found in directories but
only on the existing filesystem. It may sound complex but the example shown allows
you to find a program you may need within seconds!
Other uses and more complex but beneficial functions include using the -exec or
execute a command.
You may also try the commands: locate or try slocate

ifconfig
Command line tool to configure or check all network cards/interfaces
Most common uses: ifconfig and also ifconfig eth0 10.1.1.1
Using the plain ifconfig command will show you the details of all the already
configured network cards or interfaces. This is a great way to get a check that
your network hardware is working properly. You may also benefit from this review
of server configuration. Using the many other options of ifconfig such as the one
listed allows you to assign a particular interface a static IP address. I only
show an example and not a real world command above. Your best bet, if you want to
configure your network card using this command is to first read the manual pages.
You access them by typing: man ifconfig

init
Allows you to change the server bootup on a specific runlevel
Most common use: init 5
This is a useful command, when for instance a servers fails to identify video
type, and ends up dropping to the non-graphical boot-up mode (also called runlevel
3).

The server runlevels rely on scripts to basically start up a server with specific
processes and tools upon bootup. Runlevel 5 is the default graphical runlevel for
Linux servers. But sometimes you get stuck in a different mode and need to force a
level. For those rare cases, the init command is a simple way to force the mode
without having to edit the inittab file.

Of course, this command does not fix the underlying problem, it just provides a
fast way to change levels as needed. For a more permanent correction to the
runlevel, edit your /etc/inittab file to state: id:5:initdefault:

joe or nano
Easy to use command line editors that are often included with the major Linux
flavors
Most common uses:
joe filename
nano filename
A real world example for you to get a better sense on how this works:
nano /etc/dhcp3/dhcpd.conf
This allows you to edit using nano the dhcpd.conf configuration file from the
command line.
Maybe you are not up to speed on vi, or never learned how to use emacs? On most
Linux flavors the text editor named joe or one named nano are available. These
basic but easy to use editors are useful for those who need a text editor on the
command line but don't know vi or emacs. Although, I do highly recommend that you
learn and use Vi and Emacs editors as well. Regardless, you will need to use a
command line editor from time to time. You can also use cat and more commands to
list contents of files, but this is basic stuff found under the basic linux
commands listing. Try: more filename to list contents of the filename.

netstat
Summary of network connections and status of sockets
Most common uses: netstat and also netstat |head and also netstat -r
Netstat command simply displays all sockets and server connections. The top few
lines are usually most helpful regarding webserver administration. Therefore if
you are doing basic webserver work, you can quickly read the top lines of the
netstat output by including the |head (pipe and head commands). Using the -r
option gives you a very good look at the network routing addresses. This is
directly linked to the route command.

nslookup
Checks the domain name and IP information of a server
Most common use: nslookup www.hostname.com
You are bound to need this command for one reason or another. When performing
server installation and configuration this command gives you the existing root
server IP and DNS information and can also provide details from other remote
servers. Therefore, it is also a very useful security command where you can lookup
DNS information regarding a particular host IP that you may see showing up on your
server access logs. There is a lot more to this command and using the man pages
will get you the details by typing: man nslookup

ping
Sends test packets to a specified server to check if it is responding properly
Most common use: ping 10.0.0.0 (replace the 10.0.0.0 with a true IP address)
This is an extremely useful command that is necessary to test network connectivity
and response of servers. It creates a series of test packets of data that are then
bounced to the server and back giving an indication whether the server is
operating properly.
It is the first line of testing if a network failure occurs. If ping works but for
instance FTP does not, then chances are that the server is configured correctly,
but the FTP daemon or service is not. However, if even ping does not work there is
a more significant server connectivity issue… like maybe the wires are not
connected or the server is turned off! The outcome of this command is pretty much
one of two things. Either it works, or you get the message destination host
unreachable. It is a very fast way to check even remote servers.

ps
Lists all existing processes on the server
Most common uses: ps and also ps -A |more
The simple command will list every process associated with the specific user
running on the server. This is helpful in case you run into problems and need to
for instance kill a particular process that is stuck in memory. On the other hand,
as a system administrator, I tend to use the -A with the |more option. This will
list every process running on the server one screen at a time. I use it to quickly
check what others are goofing with on my servers and often find that I'm the one
doing the dangerous goofing!

rm
Removes/deletes directories and files
Most common use: rm -r name (replace name with your file or directory name)
The -r option forces the command to also apply to each subdirectory within the
directory. For instance if you are trying to delete the entire contents of the
directory x which includes directories y and z this command will do it in one
quick process. That is much more useful than trying to use the rmdir command after
deleting files! Instead use the rm -r command and you will save time and effort.
You may already have known this but since server administrators end up spending a
lot of time making and deleting I included this tip!

route
Lists the routing tables for your server
Most common use: route -v
This is pretty much the exact same output as the command netstat -r. You can suit
yourself which you prefer to run. I tend to type netstat commands a lot more than
just route and so it applies less to my situation, but who knows, maybe you are
going to love and use route the most!

shred
Deletes a file securely by overwriting its contents
Most common use: shred -v filename (replace filename with your specific file)
The -v option is useful since it provides extra view of what exactly the shred
tool is doing while you wait. On especially BIG files this could take a bit of
time. The result is that your file is so thoroughly deleted it is very unlikely to
ever be retrieved again. This is especially useful when trying to zap important
server related files that may include confidential information like user names or
hidden processes. It is also useful for deleting those hundreds of love notes you
get from some of the users on your server, another bonus of being a server
administrator. :)

sudo
The super-user do command that allows you to run specific commands that require
root access.
Most common use: sudo command (replace command with your specific one)
This command is useful when you are logged into a server and attempt a command
that requires super-user or root privileges. In most cases, you can simply run the
command through sudo, without having to log in as root. In fact, this is a very
beneficial way to administer your server without daily use of the root login,
which is potentially dangerous.

Below is a simple example of the sudo capabilities:


sudo cd /root
This command allows you to change directories to the /root without having to login
as root. Note that you must enter the root password once, when running a sudo
command.

top
Displays many system statistics and details regarding active processes
Most common use: top
This is a very useful system administrator tool that basically gives you a summary
view of the system including number of users, memory usage, CPU usage, and active
processes. Often during the course of a day when running multiple servers, one of
my Xwindows workstations just displays the top command from each of the servers as
a very quick check of their status and stability.

touch
Allows you to change the timestamp on a file.
Most common use: touch filename
Using the basic touch command, as above, will simply force the current date and
time upon the specified file. This is helpful, but not often used.

However, another option that I've used in the past when administering servers, is
to force a specific timestamp on a set of files in a directory.

For instance, to force a specific date and time upon all files in a directory,
type:
touch *

You can also force a specific date/time stamp using the -t option like this: touch
-t200103041200.00 *
The command above will change all files in the current directory to take on the
new date of March 4th, 2001 at noon. The syntax follows this pattern:
YYYYMMDDhhmm.ss

YYYY represents the four digit year, then the two digit month, day, hour and
minutes. You can even specify seconds as noted above. In any case, this is a
useful way to control timestamps on any files on your server.

traceroute
Traces the existing network routing for a remote or local server
Most common use: traceroute hostname
(replace hostname with the name of your server such as reallylinux.com)
This is a very powerful network command that basically gives the exact route
between your machine and a server. In some cases you can actually watch the
network hops from country to country across an ocean, through data centers, etc.
This comes in handy when trying to fix a network problem, such as when someone on
the network can not get access to your server while others can. This can help
identify the break or error along the network line. One strong note to you is not
to misuse this command! When you run the traceroute everyone of those systems you
see listed also sees YOU doing the traceroute and therefore as a matter of
etiquette and respect this command should be used when necessary not for
entertainment purposes. A key characteristic of gainfully employed server
administrators: knowing when to use commands and when not to use them!

w
An extension of the who command that displays details of all users currently on
the server
Most common uses: w
This is a very important system admin tool I use commonly to track who is on the
server and what processes they are running. It is obviously most useful when run
as a superuser.
The default setting for the w command is to show the long list of process details.
You can also run the command w -s to review a shorter process listing, which is
helpful when you have a lot of users on the server doing a lot of things! Remember
that this is different than the who command that can only display users not their
processes.

who
Tool used to monitor who is on the system and many other server related
characteristics
Most common uses: who and also who -q and also who -b
The plain command just lists the names of users currently on the server. Using the
-q option allows you to quickly view just the total number of users on the system.
Using the -b option reminds you how long it has been since you rebooted that
stable Linux server! One of my servers had a -b of almost three years! Yes, that's
really Linux!
d Use cd to change directories. Type cd followed by the name of a directory to
access that directory. Keep in mind that you are always in a directory and can
navigate to directories hierarchically above or below. Ex:
cd games
If the directory games is not located hierarchically below the current directory,
then the complete path must be
written out. Ex:
cd /usr/games
To move up one directory, use the shortcut command. Ex:
cd ..
Use cp -r to copy a directory and all of its contents
Type cp -r followed by the name of an existing directory and the name of the new
directory. Ex:
cp -r testing newdir
You must include the -r or you’ll see the following message:
cp: testing is a directory and -r not specified.
This command saves you time if you need to make a mirror image of a directory
packed with files.

mkdir Use mkdir to make/create a brand new directory


Type mkdir followed by the name of a directory. Ex:
mkdir testdir

mv Use mv to change the name of a directory


Type mv followed by the current name of a directory and the new name of the
directory. Ex:
mv testdir newnamedir

pwd Trying to find out where on your Linux server you currently are located? The
pwd (print working directory) command will show you the full path to the directory
you are currently in. This is very handy to use, especially when performing some
of the other commands on this page!

rmdir
Use rmdir to remove an existing directory (assuming you have permissions set to
allow this).
Type rmdir followed by a directory's name to remove it. Ex:
rmdir testdir

You CAN'T remove a directory that contains files with this command. A more useful
command is rm -r that removes directories and files within the directories. You
can read more about this in Commands for Beginning Admins

The rmdir command is used mostly to remove empty directories. If you have a desire
to use this command then you'll need to delete or move the files before attempting
to remove a full directory. For more help please read the mv command and also File
Related Commands.

You might also like