Friday, 22 November 2013

Centos 6/RHEL update system with Yum

Updating your system and installing packages is fairly straightforward using the Yum package manager a tool developed by Seth Vidal, who sadly died in a hit and run accident in Durham, North Carolina. 

You will be required to access the server with full root privileges in order to do this and some updates may require a full system reboot.

To begin with, see whether there are any updates for your installed packages.

As root enter in to the terminal

# yum check-update


If no updates are available, then the update process will end and no further work will need to be done. However, if updates are available, Yum will now return a list of all package updates from the repositories known to your system.

Yum update Centos 6
To complete the updateprocess type

# yum -y update

No further work is required so you may resume typical operations. However, if a new kernel has been installed or an important security update has taken place, it may be necessary to reboot the system in order for the new changes to take effect. 

To do this, type 

# reboot  

Yum is the default package management system for CentOS and part of its role is to automatically calculate what packages may require updating, what dependencies are required, and to manage the entire process of updating your system. 

Yum makes the process of updating your system very simple and is easy to use. Additionally, you can use yum-priorities & extra repositories to enhance the whole yum experience in Centos 6.

Thursday, 21 November 2013

Centos 6/RHEL cleaning Yum cache

It is recommended to regularly clean the cache of YUM to ensure that the working cache remains current.

Yum will create a cache that consists of metadata and packages. These files are very useful, but over time they will accumulate in size to such an extent that you will probably find that Yum is acting erratically.

The frequency of this happening can vary from system to system but it generally implies that the Yum cache system requires your immediate attention.

We look at a quick solution that will serve to assist you in cleaning the cache and restoring Yum to its original working state.


First, clean any cached package information, log in as root

# yum clean packages

Now remove any cached XML-based metadata

# yum clean metadata


Remove any cached database files

# yum clean dbcache


Following this you will want to clean all the files to confirm the preceding instructions and to ensure that unnecessary disk space is not used

# yum clean all


Rebuild the Yum cache by typing

# yum makecache


Yum is a very powerful tool that is known for its ability to resolve package dependencies and automate the process of package management, but as with all things, there are times when even the best utilities can get confused and may report errors or behave erratically.

Fixing this issue is relatively simple and the approach outlined will help keep your package manager in a healthy running state for the life time of your operating system.

During its typical operation Yum will create a cache of metadata and packages found in /var/cache/yum. These files are essential, but as they grow in size this cache will slow down the overall use of this utility and may even cause some issues.


To address this situation we started by using the following command to clean the current package-based cache.


We then followed this by cleaning the metadata cache, which would remove any excess XML-based files.


Yum uses SQLite as a part of its normal operation, so the next step was to remove any remaining database files.

The penultimate step was to clean all files associated with enabled repositories in order to reclaim any unused disk space.


Finally, we restored Yum to its normal working state by rebuilding the cache.


So you run through the steps above in order to keep Yum in an optimal working state.


Tuesday, 19 November 2013

Centos 6/RHEL set file permissions

File permissions are an essential component of a Linux system and are used to implement security measures on a Server or Desktop system.

For any file or folder there are three types of access, or permission.

read (from the file)

write (to the file)

execute (run or access the file or folder).

When you do a long file listing (ls –l) of any folder, you will see listed the file permissions for each file. 

As you can see from the sample listing, ten ‘characters’ are used to represent the file permission of each file. For all but the first position, there are five possible characters


r, representing the read permission

w, representing the write permission

x, representing the execute permission

s, which is only found in the execute field (read on) and is used to set the ‘user id’, which gives them access to system resources

-, meaning no permission granted.

Each of the ten characters and its left-to-right sequence has a meaning see below.
The ten character permissions are divided into four groups: 

File type

a.

d represents a directory (or folder)

b.

- represents an ordinary file

c.

s represents a socket used in network communication

d.

p represents a pipe used in processor threads

e.

c and b represent characters and blocks for device-based data buffers. It is rare that you see any of these, so while it is not critical that you commit these to your long-term memory, it is important that you are able to ‘look these up’ in the future.
User permissions define how the owner (anton in the example above) may access, manage or use the file. 

Other user permissions define how the rest of the world may access, manage or use the file.

So in the image above

As an example, Table 11 lists permissions and the resulting access.

Linux file permissions examples

Permission
Access
-r--r-----
The user and the given group only have read access to the file
drwx------
The directory is available (to read, write or enter) for the user only
----rwxr--
Members of a group have full access to the file; other users have read access
----r-----
Only group members can read this file


To change permissions for any file, directory or collection of files (or folders) in Linux, you must use the change mode (chmod) command.

The command has the format

chmod who=/-/+permissions filename

where ‘who’ is …

u, the user who owns the file

g, the group the file is a member of

o, all other users

a, all of the above (a is an abbreviation for ugo).

With the symbols =, - and + you can equate (also known as assign), remove or add permissions. Permissions are r, w and x, a combination of all three, or none.

The chmod command can also assign the file permissions using octal values (octal is a number system from 0 to 7).

 Octal values for permissions

Permissionrwx

binary ‘values’421octal valueresulting file permission

0000---

0011--x

0102-w-

0113-wx

1004r--

1015r-x

1106rw-

1117rwx

If you wanted to set the permissions of a file called 
testfile.sh to rwxr--r--, you would use

chmod 744 testfile.sh

which is the same as the following 

chmod a=r,u=wx testfile.sh

The user executing the chmod command must be the owner of the file or root. 

If the user is root, then they can change any file even if the permission is set to 000 or ---------.

One especially dangerous option to chmod is –R which will recursively change all the permissions for a given folder and all files and folders below it.

So avoid that one unless absolutely necessary.

Wednesday, 13 November 2013

Centos 6/RHEL install Hadoop Multi Node Server

Installation of Hadoop on your Centos 6/RHEL box is now a lot simpler since rpm versions have been made available but you nonetheless need to have installed the JDK prior to doing so.

Change the JAVA_HOME path to /usr/java/default and you can install Hadoop via yum from Epel repo.

$ sudo yum -y install hadoop

If you have any problems with yum you can also use the Apache mirror service, download your preference and install it with

$ sudo rpm -Uvh <rpm_package_name>

Once installed as a package, set  it all up.

Generate hadoop configuration on all nodes

$ /usr/sbin/hadoop-setup-conf.sh

--jobtracker-url=${jobtracker}:9001 \

--conf-dir=/etc/hadoop \

--hdfs-dir=/var/lib/hadoop/hdfs \
   
--namenode-dir=/var/lib/hadoop/hdfs/namenode \
   
--mapred-dir=/var/lib/hadoop/mapred \
   
--datanode-dir=/var/lib/hadoop/hdfs/data \

--log-dir=/var/log/hadoop \

--auto

Where ${namenode} and ${jobtracker} should be replaced with hostname of namenode and jobtracker.

Format namenode and setup default HDFS layout.

$ /usr/sbin/hadoop-setup-hdfs.sh

Start all data nodes after stopping first.


$ /etc/init.d/hadoop-datanode start

Start job tracker node.
   
$ /etc/init.d/hadoop-jobtracker start

Start task tracker nodes
   
$ /etc/init.d/hadoop-tasktracker start

Create a user account on HDFS for yourself.
   
$ /usr/sbin/hadoop-create-user.sh -u $USER

Set up Hadoop Environment
   
$ vi ~/.bash_profile

In INSERT mode set path for JAVA_HOME

Export JAVA_HOME

Save file by clicking esc:wq

Run the .bash_profile
   
$ source ~/.bash_profile

Set JAVA_HOME path in Hadoop Environment file
   
$ sudo vi /etc/hadoop/hadoop-env.sh

Configure Hadoop

Use the following:

$ sudo vi /etc/hadoop/core-site.xml:

<configuration>

<property>
   
<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>
   
</configuration>

conf/hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

conf/mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

 </property>

</configuration>

Hadoop Commands

$ hadoop

$ hadoop namenode –format (Format the namenode, If ask to
answer ‘Y’)
   
$ hadoop namenode (Start the namenode)
   
$ find / -name start-dfs.sh (find the file in directory)
   
$ cd usr/sbin (Go to respective directory directly)
   
$ start-dfs.sh
   
$ start-mapred.sh

$ hadoop fs –ls / (Shows the HDFS root folder)
   
$ hadooop fs –put input/file01 /input/file01 (Copy local input/file01 to

HDFS root /input/file01)


Saturday, 2 November 2013

Centos 6/RHEL install Lamp using Centos Live CD

There can be occasions when you need to use the Centos Live CD if you are away from your usual PC. You may carry about a laptop or you may simply need to use a machine which has neither Linux nor a web server installed on it.

You can set up a test Lamp server using the Centos 6 Live CD in order to try things out. This is surprisingly easy to accomplish as the basic repos which ship with the Live CD carry all the tools you need.

Obviously you will first need to boot the laptop or machine from the Centos Live CD and log in, so this presumes you have already burned it to a disk and done that.

Once you are up and running, first you will need Httpd web server, which is the newer name for the Apache, so install it with the following command.

$ sudo yum -y install httpd

Start it up with

$ sudo service httpd start

We do not set to start on reboot for the obvious reason that the Live CD is not persistant, so this is a one use scenario and as of writing you will need to keep the machine on or in sleep mode and not switch it off before you have finished what you are doing.
Now install mysql with a similar command

$ sudo yum -y install mysql-server

and again start it with

$ sudo service mysqld start

Run the secure configuration tool

$ /usr/bin/mysql_secure_installation

And enter your preferences at the prompt

At this point you can check the installation with firefox if it is installed.

/usr/bin/firefox http://localhost

And you should see a screen such as the one below.


To use php you need to make a couple of small adjustments in the configuration files.

$ sudo vi /etc/httpd/conf.d/welcome.conf

Scroll down to comment out or remove the block as indicated,

$ sudo vi /etc/httpd/conf/httpd.conf

Scroll down to 'DirectoryIndex' and add the line 'index.php'

Now add the final php component

$ sudo yum -y install php php-mysql

Which will give the basics for php use

You can create an info file in the web directory

$ sudo vi /var/www/html/info.php

and add the line

<?php
phpinfo();
?>

Close and save the file then restart the httpd server

$ sudo service httpd restart

Then again browse to http://localhost


So, if you are on the move but need quick access to a webserver, whatever the machine is loaded up with, you can still use Centos with a basic (or more advanced) Lamp stack in minutes.

This is especially useful for anyone using CMS such as Wordpress, Joomla or similar which rely upon the PHP component of the stack







Sunday, 20 October 2013

Centos 6/RHEL install Hadoop Single Node Server

Installation of Hadoop on your Centos 6/RHEL box is now a lot simpler since rpm versions have been made available but you nonetheless need to have installed the JDK prior to doing so.

Change the JAVA_HOME path to /usr/java/default and you can install Hadoop via yum from Epel repo.

$ sudo yum -y install hadoop

If you have any problems with yum you can also use the Apache mirror service, download your preference and install it with

$ sudo rpm -Uvh <rpm_package_name>

Once installed as a package, set it up in two steps.

First set up configuration and start Hadoop processes

$ sudo /usr/sbin/hadoop-setup-single-node.sh 

You will be asked a series of questions to which you should answer yes and you should get output similar to below.

Welcome to Hadoop single node setup wizard

Would you like to use default single node configuration? (y/n) y
Would you like to format name node? (y/n) y
Would you like to setup default directory structure? (y/n) y
Would you like to start up Hadoop? (y/n) y
Would you like to start up Hadoop on reboot? (y/n) y

Review your choices:

Setup single node configuration    : y
Format namenode                    : y
Setup default file system structure: y
Start up Hadoop                    : y
Start up Hadoop on reboot          : y

Proceed with setup? (y/n) y


and lots more besides, after which the setup will be complete and Hadoop should be started.

Now create a user account on the HDFS

$ sudo /usr/sbin/hadoop-create-user.sh -u $USER 

So setting up a single node Hadoop cluster is now much easier.









Centos 6/RHEL install Baobab Disk Analysis

Baobab is a useful graphical tool for checking the amount of disk space used on your system. It is available in the Epel repo as part of the gnome-utils package which contains a set of small desk accessory utility applications for GNOME, such as a dictionary, a disk usage analyzer, a screenshot tool and others.

Make sure that you have it installed with one of the following commands.

$ sudo yum -y install baobab

$ sudo yum -y install gnome-utils

Now you can use it with a couple of simple commands.

$ baobab /home/anton

Baobab Centos 6
$ baobab

Baobab
Baobab places disk usage analysis in two panels.

Per-directory disk utilization stats are reported in numbers in the left panel whereas the overall disk utilization is visualized in the right panel.


In the ring chart right panel visualisation, multiple concentric circles show the directories from the directory tree, while the center of the circles corresponds to the root of the directory tree. 

The smaller a circle is, the higher a corresponding directory ranks in the directory hierarchy. Hovering a mouse over any particular directory will show the names of its sub-directories on the immediate outer circle. The relative sizes of the sub-directories can be assessed by comparing their sizes in a ring-shaped area.


Baobab also uses treemap charts in which overlapping rectangles are implemented to visualize the hierarchical structure of directories, where the outermost rectangle corresponds to the root of the directory tree, and the inner rectangles to sub-directories. The size of each rectangle indicates the size of a corresponding sub-directory. Again, you can hover a mouse to check the name of a sub-directory.


Baobab can analyze local folders as well as remote folders. To examine remote folders, click on “Scan a Remote Folder” button at the far right. Baobap supports SSH, FTP, WebDAV and Windows Share.

Sunday, 13 October 2013

Centos 6/RHEL install Nagios


Nagios is a powerful monitoring system that enables you to identify and resolve infrastructure problems before they affect critical processes.

Designed with scalability and flexibility in mind, Nagios gives you the peace of mind that comes from knowing your business processes won't be affected by unknown outages.

Nagios is a powerful tool that provides you with instant awareness of your organization's mission-critical IT infrastructure. It allows you to detect and repair problems and mitigate future issues before they affect end-users and customers.

By using Nagios, you can:

  • Plan for infrastructure upgrades before outdated systems cause failures
  • Respond to issues at the first sign of a problem
  • Automatically fix problems when they are detected
  • Coordinate technical team responses
  • Ensure your organization's SLAs are being met
  • Ensure IT infrastructure outages have a minimal effect on your organization's bottom line
  • Monitor your entire infrastructure and business processes 

    To use Nagios, first make the necessary alterations to your network configuration file. 

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Change
ONBOOT=no to ONBOOT=yes
Add the following to the configuration file, fill the X’s to your IP configuration:

IPADDR=X.X.X.X
GATEWAY=X.X.X.X
NETMASK=X.X.X.X
NETWORK=X.X.X.X
 
Save and close the file, then restart the network service.


# service network restart
Now install the nagios related packages

# yum install httpd php gcc glibc glibc-common gd gd-devel openssl-devel wget perl make
Create the nagios user and set the password

# /usr/sbin/useradd -m nagios
 
# passwd nagios

Create the nagios group, nagcmd, which will allow external commands to be submitted through the web interface. 
Then add the nagios user and apache user to the group
 
# /usr/sbin/groupadd nagcmd

# /usr/sbin/usermod -a -G nagcmd nagios

# /usr/sbin/usermod -a -G nagcmd apache

Create a temp directory to place the nagios downloads

# mkdir ~/downloads cd ~/downloads

Download nagios


# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.0.tar.gz  
Extract the nagios tar ball

 
# cd nagios
  
Run the nagios script passing the nagcmd group


# ./configure --with-command-group=nagcmd
General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagcmd Embedded Perl: no Event Broker: yes Install ${prefix}: /usr/local/nagios Lock file: ${prefix}/var/nagios.lock Check result directory: ${prefix}/var/spool/checkresults Init directory: /etc/rc.d/init.d Apache conf.d directory: /etc/httpd/conf.d Mail program: /bin/mail Host OS: linux-gnu Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/

Compile the nagios source code

# make all

Install the binaries, init script, sample configs, and set permissions on external command directory


# make install

# make install-init

# make install-config

# make install-commandmode
 
The sample config files have been installed in the /usr/local/nagios/etc directory. 
Edit the /usr/local/nagios/etc/objects/contacts.cfg file and change the email address associated with the nagiosadmin contact definition to the address you’d like to use for receiving alerts.

# vi /usr/local/nagios/etc/objects/contacts.cfg
Configure the web interface

# make install-webconf
Create the nagiosadmin account for logging into the web interface


# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Restart Httpd


# service httpd restart
Download the plugins 
# tar xzf nagios-plugin (tab)

# cd nagios-plugins (tab)
 
Compile and install the plugins


# ./configure --with-nagios-user=nagios –with-nagios-group=nagios

# make

# make install
 
Add nagios to the system services and have it start when system boots


# chkconfig --add nagios

# chkconfig nagios on
 
Verify the nagios configuration files


# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

# service nagios start
Find out if you have SELinux in Enforced mode

getenforce

Run the following commands to run the CGIs under SELinux enforcing/targeted mode

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
 
Log into the nagios web interface

http://localhost/nagios
Username will be nagiosadmin unless you specified different, plus the password you have set. 
You can also add numerous extras from Nagios Exchange.


If you try to access the web interface remotely and the page doesn’t load, check to see if you have IPTABLES enabled

service iptables status
If you don’t see entries for port 80 and/or 443, then it is being denied.

Allow http and https services through IPTABLES:

vi /etc/sysconfig/iptables
Add the following entries:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

Sunday, 6 October 2013

Centos 6/RHEL popular commands


One of the greatest attributes of the Minimal Fluxbox Desktop is the key shortcuts to the most used programs and these are certain to include the likes of Thunar and Rxvt terminal emulator or similar. You can use the F1 through 12 keys amongst others to pop up the programs and I assign F1 and F2 to Thunar and Rxvt respectively. 

Notwithstanding the fact that the Minimal Desktop can be made headless by simply hitting Ctrl+Alt+F4, there are also a formidable array of commands at your disposal in order to perform tasks from the console or terminal emulator. Below are some of the most used ones.


The following list describes some of the most useful and popular Linux commands. Consult the man page for each command to learn about additional arguments and details of operation.

# adduser userid

Creates a new userid, prompting for necessary information

# apropos keyword
Searches the manual pages for occurrences of the keyword and prints short descriptions from the beginning of matching manual pages.
 
# at time
 
# at -t file time
 
Executes commands entered via stdin (or, by using the alternative form, the specified file) at the specified time. The time can be specified in a variety of ways; for example, in hour and minute format or in hour, minute, month, day, and year format.
 
# cal month year 

Prints a calender for the specified month of the specified year

Centos 6 calender function
# cat files
 
Prints out the contents of the specified files
 
# cd
 
# cd directory
 
Changes the current working directory to the user's home directory or the specified directory.
 
# chgrp group files
 
# chgrp -R group files
 
Changes the group of the specified files to the specified group. The alternative form of the command operates recursively, changing the group of subdirectories and files beneath a specified directory. The group must be named in the /etc/groups file, maintained by the newgroup command
 
# chmod mode files
 
# chmod -R mode files  
 
Changes the access mode of the specified files to the specified mode. The alternative form of the command operates recursively, changing the mode of subdirectories and files beneath a specified directory.
 
# chown userid files
 
# chown -R userid files 
 
Changes the owner of the specified files to the specified userid. The alternative form of the command operates recursively, changing the owner of subdirectories and files beneath a specified directory.
 
# clear
 
Clears the terminal screen
 
# cp file1 file2

# cp files directory
 
# cp -R files directory
 
Copies a file to another file or directory, or copies a subdirectory and all its files to another directory.
 
# date
 
# date date
 
Displays the current date and time or changes the system date and time to the specified value.
 
# df
 
Prints the amount of free disk space on each mounted filesystem
 
# diff file1 file2 

# Compares the two files, reporting all discrepancies. Similar to the diff command though the output format differs.
 
# dmesg
 
Prints the messages resulting from the most recent system boot
 
# du
 
# du directories 

Prints the amount of disk space used by the current directory (or the specified directories) and subdirectories.

# echo string

# echo -n string

Prints the specified text on the standard output stream. The -n option causes omission of the trailing newline character.
 
# fdformat device 

Formats the media inserted in the specified floppy disk drive. The command performs a low-level format only; it does not create a filesystem. To create a filesystem, issue the mkfs command after formatting the media.

# fdisk device

Edits the partition table of the specified hard disk.

# fg

# fg jobs

Brings the current job (or the specified jobs) to the foreground.

# file files

Determines and prints a description of the type of each specified file.
 
# find

# find path -name pattern -print

Search for files in a directory hierarchy. Searches the specified path for files with names matching the specified pattern (usually enclosed in single quotes) and prints their names.
 
# finger users 
 
Prints a description of the specified users (install with yum).
 
Centos 6 Finger command

# ftp hostname

Opens a FTP connection to the specified host, allowing files to be transfered. The FTP program provides subcommands for accomplishing file transfers.

# grep pattern files
 
# grep -i pattern files
 
# grep -n pattern files
 
# grep -v pattern files 
 
Search the specified files for text matching the specified pattern (usually enclosed in single quotes) and print matching lines. The -i option specifies that matching is performed without regard to case. The -n option specifies that each line of output is preceded by the file name and line number. The -v option reverses the matching, causing non-matched lines to be printed.

# gzip files

# gunzip files

Compress (or expand) the specified files. Generally, a compressed file has the same name as the original file, followed by .gz.
 
# head files
 
Prints the first several lines of each specified file.
 
# hostname
 
# hostname name
 
Displays (or sets) the name of the host.

# info

Launches the GNU Texinfo help system.

# init run_level (eg '3')

Changes the system run level to the specified value

# insmod module

Dynamically loads the specified module

# jobs

Displays all background jobs

# ispell files

Checks the spelling of the contents of the specified files

# kill process_ids

# kill -l

Kills the specified processes, sends the specified processes the specified signal (as a number or a name), or prints a list of available
 
# killall program
 
Kills all the processes that are instances of the specified program or sends the specified signal to all processes that are instances of the specified program.

# ispell files

Checks the spelling of the contents of the specified files

# ln old new

# ln -s old new

Creates a hard (or soft) link associating a new name with an existing file or directory.

# locate pattern

Locates files with names containing the specified pattern and uses the database maintained by the updatedb command.

# lpq

Prints the entries of the print queue

# lpr files

Prints the specified files

# lprm job

Cancels printing of the specified print queue entries. Use lpq to determine the contents of the print queue.

# ls

# ls files

# ls -a files

# ls -l files

# ls -lr files

Lists (non-hidden) files in the current directory or the specified files or directories. The -a option lists hidden files as well has non-hidden files. The -l option causes the list to include descriptive information, such as file size and modification date. The -R option recursively lists the subdirectories of the specified directories.
 
# mail
 
Launches a simple mail client that permits sending and recieving email messages. 

# man title

# man section title

Prints the specified man page.

# mkdir directories

# mkdir -p directories

Creates the specified directories. The -p option causes creation of any parent directories needed to create a specified directory.
 
# mkfs -t type device 
 
Creates a file system of the specified type on the specified device.

# mkswap device
 
Creates a Linux swap space on the specified hard disk partition.

# more file
 
Lets the user peruse a file too large to be displayed as a single screen (page) of output. The more command provides many subcommands that let the user navigate the file. For example, the Space key moves forward one page, the b key moves back one page, and the q key exits the program.

# mount

# mount device directory

# mount -o option -t device directory
 
Prints the mounted devices or mounts the specified device at the specified mount point. (usually a sub-directory of /mnt).
The mount command consults /etc/fstab to determine statndard options associated with a device. The command generally requires root privileges. The -o option allows specification of a variety of options. For example, ro for read-only access. The -t option allows specification of the filesystem type (eg ext2, msdos etc)
 
# mv paths target
 
Moves the specified files or directories to the specified target.
 
# newgroup 

Creates the specified group

# passwd

# passwd user
 
Changes the current user's password, or that of the specified user (reaquires root privileges). The command prompts for the new password.
 
# ping host
 
Sends an echo request via TCP/IP to the specified host. A response confirms that the host is operational.
 
# pr files
 
Formats the specified files for printing, by inserting page breaks and so on. The command provides many arguments and functions.
 
# ps
 
# ps -Aux
 
Display the processes associated with the current userid or displays a description of each process.
 
# pwd
 
Prints the absolute path corresponding to the current working directory. 

# reboot

Reboots the system.

# reset

Clears the terminal screen and resets the terminal status.

# rm files

# rm -i files

# rm -f files

# rm -if files

# rm -rf files

Deletes the specified files or (when the -r option is specified) recursively deletes all subdirectories of the specified files and directories. The -i option causes the command to prompt for confirmation; the -f option suppresses confirmation. Because deleted files cannot generally be recovered, the -f option should be used only with extreme care, particularly when used by the root user.
 
# rmdir directories 

# rmdir -p directories

Deletes the specified empty directories or (when the -p option is specified) the empty directories along the specified path.
 
# shutdown minutes
 
# shutdown -r minutes 

Shuts down the system after the specified number of minutes elapses (requires root privileges). The -r option causes the system to be rebooted once it has shut down.
 
# sleep time
 
Causes the command interpreter to pause for the specified number of seconds
 
# sort files
 
Sorts the specified files. The command has many useful arguments.
 
# split file

Splits a file into several smaller files. The command has many arguments.

# su

# su user

# su -

# su - user

Changes the current userid to root or to the specified userid
The - option establishes a default environment for the new userid.

# swapon device

Enable use of the specified device for swapping

# swapoff device

Enables use of the specified device for swapping

# sync

Completes all pending input/output operations

# tail file

# tail - n file

# tail -f file
 
Prints the last several lines of the specified files. The -n option specifies the number of lines to be printed. The -f option causes the command to continuously print additional lines as they are written to the file.
 
# talk user
 
Launches a program that allows a chat-like dialog with the specified user
 
# tar cvf tar_file files
 
# tar zcvf tar_file files 

Creates a tar file with the specified name, conCreates the specified directories. The -p option causes creation of any parent directories needed to create a specified directory.taining the specified files and their subdirectories. The z option specified that the tar file will be compressed.
 
# tar xvf tar_file
 
# tar zxvf tar_file 

Extracts the contents of the specified tar file. The z option specified that the tar file has been compressed.

# telnet host

Opens a login session on a specified host

# top

Prints a display of system processes that is continually updated until the user presses the q key.

# traceroute host
 
Uses echo requests to determine and print a network path to the host
 
# umount device
 
Unmounts the specified filesystem
 
# uptime
 
Prints the system uptime
 
# w

Prints the current system users

# wall

Prints a message to each user except those who've disabled message reception
 
# traceroute host
 
Uses echo requests to determine and print a network path to the host. 

# wc files

Prints the number of characters, words and lines in the specified files.