Unix Commands


Unix/Linux Commands description
                                                             
Command
Description
Ls
link file or directory
Psd
for background running jobs
Cd
change directory
Clear
clear screen
diff,comm,cmp
file compare
Cp
file copy
Ctl-C
break (signal)
Ctl-D
EOF (end-of-file)
rm–rf
delete directory recursively
Rm
delete file(s)
Exit
exit current process
Grep
find strings in files
Mkdir
make directory
More
text file paging filter
$PATH
path to executables
Mv
rename (move)
Rmdir
remove directory
Sort
sort file
Date
display system time
Cat
output file to stdout
Scp
secure file  copy
Gzip
Compress  named file(s)
gunzip
decompress named file(s)
man              
Help manual
mv               
Move or rename files or directories
Cal
Display a calendar
cat              
Concatenate and print (display) the content of files
chmod
Change access permissions
crontab
Schedule a command to run at a later time
echo             
Display message on screen •
egrep
Search file(s) for lines that match an extended expression
exit             
Exit the shell
fgrep
Search file(s) for lines that match a fixed string
free             
Display memory usage
grep             
Search file(s) for lines that match a given pattern
hostname         
Print or set system name
help             
Display help for a built-in command
jobs             
List active jobs
kill             
Stop a process from running
killall
Kill processes by name
less             
Display output one screen at a time
logout           
Exit a login shell
nohup
Run a command immune to hang-ups
passwd
Modify a user password
Pwd
Print Working Directory
Sed
Stream Editor
Su
Substitute user identity
sudosu
Execute a command as another user
tail             
Output the last part of file
tar              
Tape ARchiver
time             
Measure Program running time
vi               
Text Editor
vmstat
Report virtual memory statistics
Wc
Print byte, word, and line counts
who              
Print all usernames currently logged in
whoami
Print the current user id and name (`id -un')
export           
Set an environment variable
.                
Run a command script in the current shell
!!               
Run the last command again
###              
Comment / Remark
     


  

















































































































  How to Use Unix Commands 

Command
Example
Description
Ls
Ls
Lists files in current directory
ls –alF
List in long format
Cd
cd tempdir 
Change directory to tempdir 
cd .. 
Move back one directory 
cd ~dhyatt/web-docs
Move into dhyatt's web-docs directory
Mkdir
mkdir graphics
Make a directory called graphics
Rmdir
rmdiremptydir
Remove directory (must be empty)
Cp
cp file1 web-docs 
Copy file into directory
cp file1 file1.bak
Make backup of file1
Rm
rm file1.bak 
Remove or delete file
rm *.tmp
Remove all file
Mv
mv old.html new.html
Move or rename files
More
more index.html
Look at file, one page at a time
Man
man ls
Online manual (help) about command
grep <str><files>
grep "bad word" *
Find which files contain a certain word
chmod<opt><file>
chmod 644 *.html 
Change file permissions read only
chmod 755 file.exe
Change file permissions to executable
Passwd
Passwd
Change passwd
ps<opt>
ps aux 
List all running processes by #ID
ps aux   |   grep dhyatt
List process #ID's running by dhyatt
kill <opt><ID>
kill -9 8453
Kill process with ID #8453
gcc (g++) <source>
gccfile.c -o file 
Compile a program written in C
g++ fil2.cpp -o fil2
Compile a program written in C++
gzip<file>
gzipbigfile 
Compress file 
gunzip bigfile.gz
Uncompress file
Mail
mail me@tjhsst.edu < file1 
Send file1 by email to someone 
(pine)
Pine
Read mail using pine
telnet <host> 
telnet vortex.tjhsst.edu 
Open a connection to vortex
ssh<host>
ssh -l dhyatt jazz.tjhsst.edu
Open a secure connection to jazz as user dhyatt
ftp <host> 
ftp station1.tjhsst.edu 
Upload or Download files to station1 
ncftp<host/directory>
ncftp metalab.unc.edu
Connect to archives at UNC
Who
Who
Lists who is logged on your machine
History
History
Lists commands you've done recently
Date
Date
Print out current date
cal<mo><yr>
cal 9 2000
Print calendar for September 2000
Xcalc
xcalc&
Calculator ("background" process)
ispell<fname>
ispell file1
Spell check file1
latex <fname>
latex file.tex
Run LaTeX, a scientific document tool
Df
Df
See how much free disk space
Du
du -b subdir
Estimate disk usage of directory in Bytes
Alias
alias lls="ls -alF"
Create new command "lls" for long format of ls
Tar
tar -cf subdir.tar subdir
Create an archive called subdir.tar of a directory
tar -xvf subdir.tar
Extract files from an archive file
logout (exit)
logout or exit
How to quit a UNIX shell.


   
































































































































Unix/Linux Commands Examples 

Linux Commands:

1. tar command examples

Create a new tar archive.

$ tar cvf archive_name.tar dirname/

Extract from an existing tar archive.

$ tar xvf archive_name.tar

View an existing tar archive.

$ tar tvf archive_name.tar


2. grep command examples

Search for a given string in a file (case in-sensitive search).

$ grep -i "the" demo_file

Print the matched line, along with the 3 lines after it.

$ grep -A 3 -i "example" demo_text

Search for a given string in all files recursively

$ grep -r "ramesh" *


3. find command examples

Find files using file-name ( case in-sensitve find)

# find -iname "demo.c"

Execute commands on files found by the find command

$ find -iname "MyCProgram.c" -exec md5sum {} \;

Find all empty files in home directory

# find ~ -empty

4. ssh command examples

Login to remote host

ssh -l jsmith remotehost.example.com

Debug ssh client

ssh -v -l jsmith remotehost.example.com

Display ssh client version

$ ssh -V

OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003


5. sed command examples

When you copy a DOS file to Unix, you could find \r\n in the end of each line. This example converts the DOS file format to Unix file format using sed command.

$sed 's/.$//' filename

Print file content in reverse order

$ sed -n '1!G;h;$p' thegeekstuff.txt

Add line number for all non-empty-lines in a file

$ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'

6. awk command examples

Remove duplicate lines using awk

$ awk '!($0 in array) { array[$0]; print }' temp

Print all lines from /etc/passwd that has the same uid and gid

$awk -F ':' '$3==$4' passwd.txt

Print only specific field from a file.

$ awk '{print $2,$5;}' employee.txt

7. vim command examples

Go to the 143rd line of file

$ vim +143 filename.txt

Go to the first match of the specified

$ vim +/search-term filename.txt

Open the file in read only mode.

$ vim -R /etc/passwd

8. diff command examples

Ignore white space while comparing.

# diff -w name_list.txt name_list_new.txt

2c2,3
< John Doe --- > John M Doe
> Jason Bourne

9. sort command examples

Sort a file in ascending order

$ sort names.txt

Sort a file in descending order

$ sort -r names.txt

Sort passwd file by 3rd field.

$ sort -t: -k 3n /etc/passwd | more

10. export command examples

To view oracle related environment variables.

$ export | grep ORACLE

declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"
To export an environment variable:

$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

11. xargs command examples

Copy all images to external hard-drive

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

Search all jpg images in the system and archive it.

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

Download all the URLs mentioned in the url-list.txt file
                         
# cat url-list.txt | xargs wget –c

12. ls command examples

Display filesize in human readable format (e.g. KB, MB etc.,)

$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr

$ ls -ltr

Visual Classification of Files With Special Characters Using ls -F

$ ls -F


13. pwd command

pwd is Print working directory. What else can be said about the good old pwd who has been printing the current directory name for ages.

14. cd command examples

Use “cd -” to toggle between the last two directories

Use “shopt -s cdspell” to automatically correct mistyped directory names on cd


15. gzip command examples

To create a *.gz compressed file:

$ gzip test.txt

To uncompress a *.gz file:

$ gzip -d test.txt.gz

Display compression ratio of the compressed file using gzip -l

$ gzip -l *.gz
         compressed        uncompressed  ratio uncompressed_name
              23709               97975  75.8% asp-patch-rpms.txt

16. bzip2 command examples

To create a *.bz2 compressed file:

$ bzip2 test.txt

To uncompress a *.bz2 file:

bzip2 -d test.txt.bz2


17. gunzip command examples

To extract a *.zip compressed file:

$ unzip test.zip

View the contents of *.zip file (Without unzipping it):

$ unzip -l jasper.zip

Archive:  jasper.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
    40995  11-30-98 23:50   META-INF/MANIFEST.MF
    32169  08-25-98 21:07   classes_
    15964  08-25-98 21:07   classes_names
    10542  08-25-98 21:07   classes_ncomp

18. shutdown command examples

Shutdown the system and turn the power off immediately.

# shutdown -h now

Shutdown the system after 10 minutes.

# shutdown -h +10
Reboot the system using shutdown command.

# shutdown -r now

Force the filesystem check during reboot.

# shutdown -Fr now

19. ftp command examples

Both ftp and secure ftp (sftp) has similar commands. To connect to a remote server and download multiple files, do the following.

$ ftp IP/hostname
ftp> mget *.html

To view the file names located on the remote server before downloading, mls ftp command as shown below.

ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html


20. crontab command examples

View crontab entry for a specific user

# crontab -u john -l

Schedule a cron job every 10 minutes.

*/10 * * * * /home/ramesh/check-disk-space

21. service command examples

Service command is used to run the system V init scripts. i.e Instead of calling the scripts located in the

/etc/init.d/ directory with their full path, you can use the service command.

Check the status of a service:

# service ssh status

Check the steatus of all the services.

service --status-all
Restart a service.


# service ssh restart

22. ps command examples

ps command is used to display information about the processes that are running in the system.

While there are lot of arguments that could be passed to a ps command, following are some of the common ones.

To view current running processes.

$ ps -ef | more

To view current running processes in a tree structure. H option stands for process hierarchy.

$ ps -efH | more



25. df command examples

Displays the file system disk space usage. By default df -k displays output in bytes.

$ df -k

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

df -h displays output in human readable form. i.e size will be displayed in GB’s.

ramesh@ramesh-laptop:~$ df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              29G  3.1G   24G  12% /
/dev/sda2             115G   48G   62G  44% /home
Use -T option to display what type of file system.

ramesh@ramesh-laptop:~$ df -T

Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill command examples

Use kill command to terminate a process. First get the process id using ps -ef command, then use kill -9 to kill the running Linux process as shown below. You can also use killall, pkill, xkill to terminate a unix process.

$ ps -ef | grep vim

ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$ kill -9 7243

27. rm command examples

Get confirmation before removing the file.

$ rm -i filename.txt

It is very useful while giving shell metacharacters in the file name argument.

Print the filename and get confirmation before removing the file.

$ rm -i file*

Following example recursively removes all files and directories under the example directory. This also removes the example directory itself.

$ rm -r example

28. cp command examples

Copy file1 to file2 preserving the mode, ownership and timestamp.

$ cp -p file1 file2

Copy file1 to file2. if file2 exists prompt for confirmation before overwritting it.

$ cp -i file1 file2

29. mv command examples

Rename file1 to file2. if file2 exists prompt for confirmation before overwritting it.

$ mv -i file1 file2

Note: mv -f is just the opposite, which will overwrite file2 without prompting.

mv -v will print what is happening during file rename, which is useful while specifying shell metacharacters in the file name argument.

$ mv -v file1 file2

30. cat command examples

You can view multiple files at the same time. Following example prints the content of file1 followed by file2 to stdout.

$ cat file1 file2

While displaying the file, following cat -n command will prepend the line number to each line of the output.

$ cat -n /etc/logrotate.conf
    1      /var/log/btmp {
    2          missingok
    3          monthly
    4          create 0660 root utmp
    5          rotate 1
    6      }

31. mount command examples

To mount a file system, you should first create a directory and mount it as shown below.

# mkdir /u01

# mount /dev/sdb1 /u01

You can also add this to the fstab for automatic mounting. i.e Anytime system is restarted, the filesystem will be mounted.

/dev/sdb1 /u01 ext2 defaults 0 2

32. chmod command examples

chmod command is used to change the permissions for a file or directory.

Give full access to user and group (i.e read, write and execute ) on a specific file.

$ chmod ug+rwx file.txt

Revoke all access for the group (i.e read, write and execute ) on a specific file.

$ chmod g-rwx file.txt

Apply the file permissions recursively to all the files in the sub-directories.

$ chmod -R ug+rwx file.txt

33. chown command examples

chown command is used to change the owner and group of a file. \

To change owner to oracle and group to db on a file. i.e Change both owner and group at the same time.

$ chown oracle:dba dbora.sh

Use -R to change the ownership recursively.

$ chown -R oracle:dba /home/oracle

34. passwd command examples

Change your password from command line using passwd. This will prompt for the old password followed by the new password.

$ passwd

Super user can use passwd command to reset others password. This will not prompt for current password of the user.

# passwd USERNAME

Remove password for a specific user. Root user can disable password for a specific user. Once the password is disabled, the user can login without entering the password.

# passwd -d USERNAME

35. mkdir command examples

Following example creates a directory called temp under your home directory.

$ mkdir ~/temp

Create nested directories using one mkdir command. If any of these directories exist already, it will not display any error. If any of these directories doesn’t exist, it will create them.

$ mkdir -p dir1/dir2/dir3/dir4/

36. ifconfig command examples

Use ifconfig command to view or configure a network interface on the Linux system.

View all the interfaces along with status.

$ ifconfig -a

Start or stop a specific interface using up and down command as shown below.

$ ifconfig eth0 up

$ ifconfig eth0 down


37. uname command examples

Uname command displays important information about the system such as — Kernel name, Host name, Kernel release number,
Processor type, etc.,

Sample uname output from a Ubuntu laptop is shown below.

$ uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux

38. whereis command examples

When you want to find out where a specific Unix command exists (for example, where does ls command exists?), you can execute the following command.

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

When you want to search an executable from a path other than the whereis default path, you can use -B option and give path as argument to it. This searches for the executable lsmk in the /tmp directory, and displays it, if it is available.

$ whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk

39. whatis command examples

Whatis command displays a single line description about a command.

$ whatis ls
ls                      (1)  - list directory contents

$ whatis ifconfig
ifconfig (8)         - configure a network interface

40. locate command examples

Using locate command you can quickly search for the location of a specific file (or group of files). Locate command uses the database created by updatedb.

The example below shows all files in the system that contains the word crontab in it.

$ locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim

41. man command examples

Display the man page of a specific command.

$ man crontab

When a man page for a command is located under more than one section, you can view the man page for that command from a specific section as shown below.

$ man SECTION-NUMBER commandname

Following 8 sections are available in the man page.

General commands
System calls
C library functions
Special files (usually devices, those found in /dev) and drivers
File formats and conventions
Games and screensavers
Miscellaneous
System administration commands and daemons
For example, when you do whatis crontab, you’ll notice that crontab has two man pages (section 1 and section 5). To view section 5 of crontab man page, do the following.

$ whatis crontab
crontab (1)          - maintain crontab files for individual users (V3)
crontab (5)          - tables for driving cron

$ man 5 crontab

42. tail command examples

Print the last 10 lines of a file by default.

$ tail filename.txt

Print N number of lines from the file named filename.txt

$ tail -n N filename.txt

View the content of the file in real time using tail -f. This is useful to view the log files, that keeps growing. The command can be terminated using CTRL-C.

$ tail -f log-file


43. less command examples

less is very efficient while viewing huge log files, as it doesn’t need to load the full file while opening.

$ less huge-log-file.log
One you open a file using less command, following two keys are very helpful.

CTRL+F – forward one window
CTRL+B – backward one window

44. su command examples

Switch to a different user account using su command. Super user can switch to any other user without entering their password.

$ su - USERNAME

Execute a single command from a different account name. In the following example, john can execute the ls command as raj username. Once the command is executed, it will come back to john’s account.

[john@dev-server]$ su - raj
[john@dev-server]$

Login to a specified user account, and execute the specified shell instead of the default shell.

$ su -s 'SHELLNAME' USERNAME

45. mysql command examples

mysql is probably the most widely used open source database on Linux. Even if you don’t run a mysql database on your server, you might end-up using the mysql command ( client ) to connect to a mysql database running on the remote server.

To connect to a remote mysql database. This will prompt for a password.

$ mysql -u root -p -h 192.168.1.2

To connect to a local mysql database.

$ mysql -u root -p

If you want to specify the mysql root password in the command line itself, enter it immediately after -p (without any space).

49. date command examples

Set the system date:

# date -s "01/31/2010 23:59:53"

Once you’ve changed the system date, you should syncronize the hardware clock with the system date as shown below.

# hwclock –systohc

# hwclock --systohc –utc





50 banner command examples

Banner command give design of names in the form of # symbols

~ $ banner suresh

  ####   #    #  #####   ######   ####   #    #
 #       #    #  #    #  #       #       #    #
  ####   #    #  #    #  #####    ####   ######
      #  #    #  #####   #            #  #    #
 #    #  #    #  #   #   #       #    #  #    #
  ####    ####   #    #  ######   ####   #    #

wc:
wc filename
 X  Y  Z  filename
X – Number of lines
Y – Number of words
Z – Number of bytes
filename – name of the file
EX:
wc demofile.txt
 36 104 570 demofile.txt

51 Symbolic or soft  Links

Symbolic links, sometimes called "soft" links, are different than "hard" links. Instead of linking to the data of a file, they link to another link. So in the example above, file2.txtpoints to the link file1.txt, which in turn points to the data of the file.
This has several potential benefits. For one thing, symbolic links (also called "symlinks" for short) can link to directories. Also, symbolic links can cross file system boundaries, so a symbolic link to data on one drive or partition can exist on another drive or partition.
You should also be aware that, unlike hard links, removing the file (or directory) that a symlink points to will break the link. So if we create file1.txt:
echo "This is a file." > file1.txt
...and create a symbolic link to it:
ln -s file1.txt file2.txt
...we can cat either one of these to see the contents:
cat file1.txt
This is a file.
cat file2.txt
This is a file.
...but if we remove file1.txt:
rm file1.txt
...we can no longer access the data it contained with our symlink:
cat file2.txt
cat: file2.txt: No such file or directory
53 hard link
echo "This is a file." > file1.txt
...and create a hard link to it:
ln  file1.txt file2.txt
...we can cat either one of these to see the contents:
cat file1.txt
This is a file.
cat file2.txt
This is a file.
...but if we remove file1.txt:
rm file1.txt
...we can access the data it contained with our hardlink:
cat file2.txt
This is a file.

53.unlink

Used to remove the soft link or hard link

[/u03/appl/farbat1/suresh]$ ls -alrt
total 10
drwxr-xr-x  23 farbat1  arboradm    3072 Sep 28 12:06 ..
drwxrwxr-x   2 farbat1  arboradm      96 Sep 28 12:06 .
-rw-rw-r--   2 farbat1  arboradm      47 Sep 28 12:07 file2.txt
-rw-rw-r--   2 farbat1  arboradm      47 Sep 28 12:07 file1.txt
[/u03/appl/farbat1/suresh]$ unlink file2.txt
[/u03/appl/farbat1/suresh]$ ls -alrt
total 8
drwxr-xr-x  23 farbat1  arboradm    3072 Sep 28 12:06 ..
-rw-rw-r--   1 farbat1  arboradm      47 Sep 28 12:07 file1.txt
drwxrwxr-x   2 farbat1  arboradm      96 Sep 28 12:13 .
[/u03/appl/farbat1/suresh]$

53 Tr command Examples:
1.    
Convert lower case letters to upper case

The following tr command translates the lower case letters to capital letters in the give string: 
>echo "linux dedicated server" | tr "[:lower:]" "[:upper:]"
LINUX DEDICATED SERVER
>echo "linux dedicated server" | tr "[a-z]" "[A-Z]"
LINUX DEDICATED SERVER
2.    
Transform upper case letters to lower case.

Similar to the above example, you can translate the uppercase letters to small letters. 
> echo "UNIX DEDICATED SERVER" | tr "[:upper:]" "[:lower:]"
unix dedicated server
> echo "UNIX DEDICATED SERVER" | tr "[A-Z]" "[a-z]"
unix dedicated server
3.    
Replace non-matching characters.

The -c option is used to replace the non-matching characters with another set of characters. 
> echo "unix" | tr -c "u" "a"
uaaa

In the above example, except the character "c" other characters are replaced with "a"

4. Delete non-printable characters

The -d option can be used to delete characters. The following example deletes all the non-printable characters from a file. 
>tr -cd "[:print:]" < filename
5.     Squeezing characters

You can squeeze more than one occurrence of continuous characters with single occurrence. The following example squeezes two or more successive blank spaces into a single space. 
>echo "linux    server" | tr -s " "
linux server

Here you can replace the space character with any other character by specifying in set2. 
> "linux    server" | tr -s " " ","
linux,server
6.    
Delete characters

The following example removes the word linux from the string. 
> echo "linuxserver" | tr -d "linux"
server

54 tee examples
ls -1 *.txt | wc -l | tee count.txt
In the above example, the ls command lists all files in the current directory that have the filename extension .txt, one file per line; this output is piped to wc, which counts the lines and outputs the number; this output is piped to tee, which writes the output to the  terminal, and writes the same information to the file count.txt. If count.txt already exists, it is overwritten.

55 NL
To provide sequence to the script.
cat list.txt
applesorangespotatoeslemonsgarlic
nl list.txt
     1             apples     2             oranges     3             potatoes     4             lemons     5             garlic
In the above example, we use the cat command to display the contents of list.txt. Then we use nl to number each line and display the result to standard output.


56 pg examples
pg myfile.txt
Displays the first screenful of the contents of text file myfile.txt, and a prompt (":"). Pressing the RETURN key displays the next page, or any of the command listed above may be entered to otherwise navigate the file.

57 Paste Command Examples:

Create the following three files in your unix or linux servers to practice to practice the examples:
>cat file1
Unix
Linux
Windows

>cat file2
Dedicated server
Virtual server

>cat file3
Hosting
Machine
Operating system
1.    
Merging files in parallel

By default, the paste command merges the files in parallel. The paste command writes corresponding lines from the files as a tab delimited on the terminal.
> paste file1 file2
Unix    Dedicated server
Linux   Virtual server
Windows

> paste file2 file1
Dedicated server  Unix
Virtual server    Linux
                  Windows
2.    
Specifying the delimiter

Paste command uses the tab delimiter by default for merging the files. You can change the delimiter to any other character by using the -d option.
>paste -d"|" file1 file2
Unix|Dedicated server
Linux|Virtual server
Windows|

In the above example, pipe delimiter is specified

3. Merging files in sequentially.

You can merge the files in sequentially using the -s option. The paste command reads each file in sequentially. It reads all the lines from a single file and merges all these lines into a single line.
>paste -s file1 file2
Unix    Linux   Windows
Dedicated server        Virtual server

The following example shows how to specify a delimiter for sequential merging of files:
> paste -s -d"," file1 file2
Unix,Linux,Windows
Dedicated server,Virtual server
4.    
Specifying multiple delimiters.

Multiple delimiters come in handy when you want to merge more than two files with different delimiters. For example I want to merge file1, file2 with pipe delimiter and file2, file3 with comma delimiter. In this case multiple delimiters will be helpful.
>paste -d"|," file1 file2 file3
Unix|Dedicatedserver,Hosting
Linux|Virtualserver,Machine
Windows|,Operating system
5.    
Combining N consecutive lines

The paste command can also be used to merge N consecutive lines from a file into a single line. The following example merges 2 consecutive lines into a single line
>cat file1 | paste - -
Unix    Linux
Windows


57.CUT

Cut command in unix (or linux) is used to select sections of text from each line of files. You can use the cut command to select fields or columns from a line by specifying a delimiter or you can select a portion of text by specifying the range or characters. Basically the cut command slices a line and extracts the text.

$ cat test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

60. Select Column of Characters

To extract only a desired column from a file use -c option. The following example displays 2nd character from each line of a file test.txt
$ cut -c2 test.txtaps
As seen above, the characters a, p, s are the second character from each line of the test.txt file.

61. Select Column of Characters using Range

Range of characters can also be extracted from a file by specifying start and end position delimited with -. The following example extracts first 3 characters of each line from a file called test.txt
$ cut -c1-3 test.txtcatcpls

62. Select Column of Characters using either Start or End Position

Either start position or end position can be passed to cut command with -c option.
The following specifies only the start position before the ‘-‘. This example extracts from 3rd character to end of each line from test.txt file.
$ cut -c3- test.txtt command for file oriented operations.command for copy files or directories.command to list out files and directories with its attributes.
The following specifies only the end position after the ‘-‘. This example extracts 8 characters from the beginning of each line from test.txt file.
$ cut -c-8 test.txtcatcommcp commals comma
The entire line would get printed when you don’t specify a number before or after the ‘-‘ as shown below.
$ cut -c- test.txtcat command for file oriented operations.cp command for copy files or directories.ls command to list out files and directories with its attributes.

63. Select a Specific Field from a File

Instead of selecting x number of characters, if you like to extract a whole field, you can combine option -f and -d. The option -f specifies which field you want to extract, and the option -d specifies what is the field delimiter that is used in the input file.
The following example displays only first field of each lines from /etc/passwd file using the field delimiter : (colon). In this case, the 1st field is the username. The file
$ cut -d':' -f1 /etc/passwdrootdaemonbinsyssyncgamesbala

64. Select Multiple Fields from a File

You can also extract more than one fields from a file or stdout. Below example displays username and home directory of users who has the login shell as “/bin/bash”.
$ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6root:/rootbala:/home/bala
To display the range of fields specify start field and end field as shown below. In this example, we are selecting field 1 through 4, 6 and 7
$ grep "/bin/bash" /etc/passwd | cut -d':' -f1-
4,6,7root:x:0:0:/root:/bin/bashbala:x:1000:1000:/home/bala:/bin/bash

65. Select Fields Only When a Line Contains the Delimiter

In our /etc/passwd example, if you pass a different delimiter other than : (colon), cut will just display the whole line.
In the following example, we’ve specified the delimiter as | (pipe), and cut command simply displays the whole line, even when it doesn’t find any line that has | (pipe) as delimiter.
$ grep "/bin/bash" /etc/passwd | cut -d'|'  -f1root:x:0:0:root:/root:/bin/bashbala:x:1000:1000:bala,,,:/home/bala:/bin/bash
But, it is possible to filter and display only the lines that contains the specified delimiter using -s option.
The following example doesn’t display any output, as the cut command didn’t find any lines that has | (pipe) as delimiter in the /etc/passwd file.
$ grep "/bin/bash" /etc/passwd | cut -d'|' -s -f1

66. Select All Fields Except the Specified Fields

In order to complement the selection field list use option –complement.
The following example displays all the fields from /etc/passwd file except field 7
$ grep "/bin/bash" /etc/passwd | cut -d':' --complement -s -f7root:x:0:0:root:/rootbala:x:1000:1000:bala,,,:/home/bala

67. Change Output Delimiter for Display

By default the output delimiter is same as input delimiter that we specify in the cut -d option.
To change the output delimiter use the option –output-delimiter as shown below. In this example, the input delimiter is : (colon), but the output delimiter is # (hash).
$ grep "/bin/bash" /etc/passwd | cut -d':'  -s -f1,6,7 --output-delimiter='#'root#/root#/bin/bashbala#/home/bala#/bin/bash

68. Change Output Delimiter to Newline

In this example, each and every field of the cut command output is displayed in a separate line. We still used –output-delimiter, but the value is $’\n’ which indicates that we should add a newline as the output delimiter.
$ grep bala /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'\n'bala/home/bala/bin/bash

69 Install the mailx command

On Ubuntu/Debian based systems the mailx command is available from 2 different packages -
1.     heirloom-mailx
2.     2. bsd-mailx
We shall be using the heirloom-mailx package because it has more features and options.
On CentOS/Fedora based systems, there is only one package named "mailx" which is the heirloom package.
To find out what mailx package is installed on your system, check the "man mailx" output and scroll down to the end and you should see some useful information.
# ubuntu/debian$ sudo apt-get install heirloom-mailx # fedora/centos$ sudo yum install mailx


EmoticonEmoticon