Beginning Server Administration Command
Command |
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
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. |
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). |
joe or nano |
Easy
to use command line editors that are often included with the major Linux
flavors
Most
common uses:
A real world example for you to
get a better sense on how this works:
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. |
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. |
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! |