Basic Linux Admin Commands!

3 views
Skip to first unread message

naresh

unread,
May 9, 2007, 5:31:44 AM5/9/07
to Delhi/NCR Linux Users Group
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!

Reply all
Reply to author
Forward
0 new messages