This article provides practical examples for 50 most frequently used commands in Linux / UNIX.
Bookmark this article for your future référence.
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 : $ grep -i "the" test_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 "mani" *
3. find command examples
Find files using file-name :# find -iname "MyCProgram.c"
Find all empty files in home directory : # find ~ -empty
4. ssh command examples
Login to remote host : $ssh -l mani remotehost.example.com
Debug ssh client : $ssh -v -l mani remotehost.example.com
Display ssh client version : [mani@oc1875515708 ~]$ ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
5. 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
6. 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
7. 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
8. export command examples
To view oracle related environnent 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="orcl"
declare -x ORACLE_TERM="xterm"
To export an environment variable:
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0
9. 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
10. ls command examples
Display filesize in human readable format (e.g. KB, MB etc.,)
[mani@oc1875515708 ~]$ ls -lh
drwxr-xr-x. 4 mani mani 4.0K Feb 12 02:16 Desktop
Order Files Based on Last Modified Time (In Reverse Order): $ ls -ltr
Visual Classification of Files With Special Character : $ ls -F
11. pwd command
pwd is Print working directory : $ pwd
12. cd command examples
Use “$ cd -” to toggle between the last two directories
13. 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
14. bzip2 command examples
To create a *.bz2 compressed file: $ bzip2 test.txt
To uncompress a *.bz2 file: $bzip2 -d test.txt.bz2
15. unzip command examples
To extract a *.zip compressed file: $ unzip test.zip
View the contents of *.zip file (Without unzipping it): $ unzip -l jasper.zip
16. 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
17. 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
18. crontab command examples
View crontab entry for a specific user : # crontab -u mani -l
Schedule a cron job every 10 minutes : */10 * * * * /home/mani/check-disk-space
19. 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 status of all the services : #service --status-all
Restart a service : # service ssh restart
20. ps command examples
ps command is used to display information about the processes that are running in the system.
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
21. free command examples
This command is used to display the free, used, swap memory available in the system.
Typical free command output. The output is displayed in bytes.
[mani@oc1875515708 ~]$ free
total used free shared buffers cached
Mem: 7910800 4458420 3452380 149884 56052 1982580
-/+ buffers/cache: 2419788 5491012
Swap: 8388604 0 8388604
If you want to quickly check how many GB of RAM your system has use the -g option. -b option displays in bytes, -k in kilo bytes, -m in mega bytes.
[mani@oc1875515708 ~]$ free -g
total used free shared buffers cached
Mem: 7 4 3 0 0 1
-/+ buffers/cache: 2 5
Swap: 7 0 7
If you want to see a total memory ( including the swap), use the -t switch, which will display a total line as shown below.
[mani@oc1875515708 ~]$ free -t
total used free shared buffers cached
Mem: 7910800 4440500 3470300 140724 56124 1973444
-/+ buffers/cache: 2410932 5499868
Swap: 8388604 0 8388604
Total: 16299404 4440500 11858904
22. top command examples
top command displays the top processes in the system ( by default sorted by cpu usage ).
$ top -u mani
23. 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.
$ 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.
$ 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
24. 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
mani 7243 7222 9 22:43 pts/2 00:00:00 vim
$ kill -9 7243
25. 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
26. 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
27. 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
28. 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 }
29. 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
30. 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
31. 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
32. 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
33. 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/
34. ifconfig command examples
Use ifconfig command to view or configure a network interface on the Linux system.
View machine IP Address :
# ifconfig (as root user)
$ /sbin/ifconfig (as normal user)
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
35. 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 Linux laptop is shown below.
[mani@oc1875515708 ~]$ uname -a
Linux oc1875515708.ibm.com 2.6.32-504.7.1.el6.x86_64 #1 SMP Mon Dec 15 14:32:06 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
36. 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
37. 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
38. 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
39. man command examples
Display the man page of a specific command : $ man crontab
40. 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
41. 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
42. 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
Login to a specified user account, and execute the specified shell instead of the default shell : $ su -s 'SHELLNAME' USERNAME
43. 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).
44. yum command examples
To install apache using yum : $ yum install httpd
To upgrade apache using yum : $ yum update httpd
To uninstall/remove apache using yum : $ yum remove httpd
45. rpm command examples
To install apache using rpm : # rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
To upgrade apache using rpm : # rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
To uninstall/remove apache using rpm : # rpm -ev httpd
46. ping command examples
Ping a remote host by sending only 5 packets : $ ping -c 5 gmail.com
47. date command examples
Set the system date: # date -s "02/15/2015 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
48. wget command examples
The quick and effective method to download software, music, video from internet is using wget command.
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
Download and store it with a different name.
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
49. history command
It will display entire history in the terminal
$ history
50. last command
This command will display ,who used your system and all reboot information
$ last
Hope this helps you!!