50 Most Frequently Used UNIX / Linux Commands (With Examples)

by Ramesh Natarajan on November 8, 2010

This article provides practical examples for 50 most frequently used commands in Linux / UNIX.

This is not a comprehensive list by any means, but this should give you a jumpstart on some of the common Linux commands. Bookmark this article for your future reference.

Did I miss any frequently used Linux commands? Leave a comment and let me know.

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

More tar examples: The Ultimate Tar Command Tutorial with 10 Practical Examples

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" *

More grep examples: Get a Grip on the Grep! – 15 Practical Grep Command Examples

3. find command examples

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

# find -iname "MyCProgram.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

More find examples: Mommy, I found it! — 15 Practical Linux Find Command Examples

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

More ssh examples: 5 Basic Linux SSH Client Commands

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/ /'

More sed examples: Advanced Sed Substitution Examples

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

More awk examples: 8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR

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

More vim examples: How To Record and Play in Vim Editor

8. diff command examples

Ignore white space while comparing.

# diff -w name_list.txt name_list_new.txt

< John Doe --- > John M Doe
> Jason Bourne

More diff examples: Top 4 File Difference Tools on UNIX / Linux – Diff, Colordiff, Wdiff, Vimdiff

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

More ls examples: Unix LS Command: 15 Practical Examples

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

More cd examples: 6 Awesome Linux cd command Hacks

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

More bzip2 examples: BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless, bzmore examples

17. 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
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 -

More ftp examples: FTP and SFTP Beginners Guide with 10 Examples

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

More crontab examples: Linux Crontab: 15 Awesome Cron Job Examples

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 status 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

23. 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.

$ free
             total       used       free     shared    buffers     cached
Mem:       3566408    1580220    1986188          0     203988     902960
-/+ buffers/cache:     473272    3093136
Swap:      4000176          0    4000176

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.

$ free -g
             total       used       free     shared    buffers     cached
Mem:             3          1          1          0          0          0
-/+ buffers/cache:          0          2
Swap:            3          0          3

If you want to see a total memory ( including the swap), use the -t switch, which will display a total line as shown below.

ramesh@ramesh-laptop:~$ free -t
             total       used       free     shared    buffers     cached
Mem:       3566408    1592148    1974260          0     204260     912556
-/+ buffers/cache:     475332    3091076
Swap:      4000176          0    4000176
Total:     7566584    1592148    5974436

24. top command examples

top command displays the top processes in the system ( by default sorted by cpu usage ). To sort top output by any column, Press O (upper-case O) , which will display all the possible columns that you can sort by as shown below.

Current Sort Field:  P  for window 1:Def
Select sort field via field letter, type any other key to return

  a: PID        = Process Id              v: nDRT       = Dirty Pages count
  d: UID        = User Id                 y: WCHAN      = Sleeping in Function
  e: USER       = User Name               z: Flags      = Task Flags

To displays only the processes that belong to a particular user use -u option. The following will show only the top processes that belongs to oracle user.

$ top -u oracle

More top examples: Can You Top This? 15 Practical Linux Top Command Examples

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

More kill examples: 4 Ways to Kill a Process – kill, killall, pkill, xkill

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

More chmod examples: 7 Chmod Command Examples for Beginners

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

More ifconfig examples: Ifconfig: 7 Examples To Configure Network Interface

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

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.

  1. General commands
  2. System calls
  3. C library functions
  4. Special files (usually devices, those found in /dev) and drivers
  5. File formats and conventions
  6. Games and screensavers
  7. Miscellaneous
  8. 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

More tail examples: 3 Methods To View tail -f output of Multiple Log Files in One Terminal

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

More less examples: Unix Less Command: 10 Tips for Effective Navigation

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.


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 -c 'ls'


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


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

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).

46. 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

47. 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

More rpm examples: RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages

48. ping command examples

Ping a remote host by sending only 5 packets.

$ ping -c 5 gmail.com

More ping examples: Ping Tutorial: 15 Effective Ping Command Examples

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. 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

More wget examples: The Ultimate Wget Download Guide With 15 Awesome Examples

Did I miss any frequently used Linux commands? Leave a comment and let me know.

Linux Sysadmin Course Linux provides several powerful administrative tools and utilities which will help you to manage your systems effectively. If you don’t know what these tools are and how to use them, you could be spending lot of time trying to perform even the basic administrative tasks. The focus of this course is to help you understand system administration tools, which will help you to become an effective Linux system administrator.
Get the Linux Sysadmin Course Now!

If you enjoyed this article, you might also like..

  1. 50 Linux Sysadmin Tutorials
  2. 50 Most Frequently Used Linux Commands (With Examples)
  3. Top 25 Best Linux Performance Monitoring and Debugging Tools
  4. Mommy, I found it! – 15 Practical Linux Find Command Examples
  5. Linux 101 Hacks 2nd Edition eBook Linux 101 Hacks Book

Bash 101 Hacks Book Sed and Awk 101 Hacks Book Nagios Core 3 Book Vim 101 Hacks Book

{ 199 comments… read them below or add one }

1 Shantanu Oak November 8, 2010 at 3:01 am

Very useful list.
But I guess the commands like du, scp and init should be included. I will also like to add that -S with ls will sort on size and -f with rm will forcefully remove files. The commands like shutdown, yum, rpm, whereis and whatis can be excluded.

2 mio November 8, 2010 at 5:42 am

“less” is one of my most useful command. should be part of the list.

3 Madharasan November 8, 2010 at 5:48 am

Hi Ramesh,
Thank you !!!!

Hope this article is a Deepavalli treat .

Very Nice and Informative.

Please prepare one more treat for Christmas and New year 2011.

4 rameshkumar November 8, 2010 at 5:49 am

Excellent article for beginners like me..thanks..

5 RO November 8, 2010 at 8:52 am

I found this a good set of tips to pass on to a newbie on my team that is supporting a corporate application package, although I had to make the following distinctions for the Solaris servers we work on:

commands in that list of 50 that do not work in Solaris (without adding extra packages at least):
• vim (only vi is included, and a much simpler editor than vim)
• shutdown (only for root Id, so you “should” not be able to use it – do NOT try, if you can for some reason)
• service – specific to root in Linux
• free – parts of this command info can be had from several Solaris commands: vmstat, iostat, mpstat
• top – use prstat in Solaris
• mount – another one only for root (“superuser”) Id
• passwd – our organization uses NIS for this kind of user management, and only via special requests
• whereis, locate – use “which” in Solaris, although not as powerful
• mysql – not installed
• yum, rpm – RedHat Package Manager tools, so not relevant for Solaris
• ping – available as /user/sbin/ping, and with significant differences from the Llinux version the linked tutorial shows, so check the Solaris ping man page ( “ man ping “) to see its syntax – very useful for troubleshooting connectivity issues.
• date – only root Id can change the date/time – normally one uses date command to view it, and there are many format options, so check “man date” and “man strftime “ for that formatting info.

I think distinguishing at least superuser-specific commands in a separate list might be helpful, as well as Linux-specific commands like “free” (thinking I might see if I can make an alias to massage vmstat, iostat, and some others for a similar output – would be useful).


6 Geoff November 8, 2010 at 9:39 am

Great list – thanks!
I would add:
nmap -sP nnn..nnn.nnn.0/24
There might be a better way, but I use it all the time for a list of ip addresses in use.

7 Shashi November 8, 2010 at 10:42 am

Very useful list – Thanks

8 Earl Jenkins November 8, 2010 at 11:41 am

You missed my favourite usage of ps:

ps -ef | grep procname

Filters the ps output based on the given procname — very useful to see if a particular process is running, or to find it’s pid. (Similar functionality is available via pgrep as well.)

But this is a handy list, nonetheless. I suspect it will be showing up in a lot of Google searches.

9 Hamilton Jimenez November 8, 2010 at 12:59 pm

This is a really nice article for everyone. I sent the link to every friend who know Unix/Linux. Thanks a lot!

10 ignazioc November 8, 2010 at 3:09 pm


11 dj November 8, 2010 at 3:31 pm

Nice list.
Possible additions:
nano (in vi category)
sudo (in su category)
apropos (in man category)
who, whoami,groups
exit or ctrl-d
hexdump -C

A side-note on `less`. If the user finds the need to edit the file they are viewer, they could use the `v` command. I do see in the man-page it says, “The following four commands may or may not be valid, depending on your particular installation.”.

12 Teresa November 8, 2010 at 6:05 pm

A really helpful command that I use is ‘watch’.
Instead of writing a while loop to run a command repeatedly, use watch.
It runs the command you specify every 2 seconds (default interval). Running the command with ‘-d’ highlights changes between each refresh.

13 Wuzzy November 16, 2010 at 5:03 pm

In case you don’t want tar to list the files it processed (because you want a clean terminal ;-) ), simply remove the letter “v” (“v” for “verbose” [not vendetta ;-) ]) from the options:
for creating a tar, use “tar cf ” instead of “tar cvf ”
for extracting a tar, use “tar xf ” instead of “tar xvf ”
for viewing a tar use “tar tf ” instead of “tar tvf “

14 krushna December 28, 2010 at 7:28 am

Thanks, It is very very informative .Examples are awesome.


15 sathiya January 1, 2011 at 6:35 am

Test comment, please remove.

16 tom January 16, 2011 at 9:59 pm

Title of this article is kinda inaccurate. Several examples aren’t so much “UNIX/Linux” as much as they are “GNU tools”.

Also, the use of “ssh -l ${USER}” is kind of an archaic usage style. Using “ssh $USER@${HOST}” (or “scp $USER@${HOST}”) is a bit more common (at least in production UNIX or Linux) shops and has the value of saving you a couple keystrokes.

17 Vaishali February 8, 2011 at 3:28 am

Nice list

18 anonymous February 8, 2011 at 10:57 pm

Not that “service” command is a Red Hat command. For any Unix or Linux (including Red Hat) is via:
/etc/init.d/sshd status
/etc/init.d/httpd start or /etc/init.d/apache2 start
/etc/init.d/nfs restart
/etc/init.d/mysdl stop
As already mentioned since these act upon Daemons (or services) you need to be username root (or use sudo).

19 BHARATH March 9, 2011 at 11:45 pm


20 joey March 24, 2011 at 2:07 pm

very good tools for linux apprentices…

21 Shelly May 18, 2011 at 9:27 am

Thanks Ramesh! This is a very useful list for new Linux users to use for reference. Really gets you up to speed quickly!

22 highlandham June 14, 2011 at 3:38 pm

Very useful to climb the cli knowledge ladder.

23 AR June 18, 2011 at 12:19 pm

1. tutorial on chkconfig?
2. how to set up a temporary and a permanent route?
3. how to check SAN?

Thank You!!

24 Hima June 23, 2011 at 7:17 am

Thanks for providing all useful commands as a single collection

Thank U Sir,

25 joel August 1, 2011 at 3:40 am

thanks very very very much please keep the good work going
am so a beginner in linux for i am a oracle11g student those command are real helping me. please i would like to have more pleaseeeeeeeeeeeee in my email thanks alot

26 eliyas September 7, 2011 at 6:34 am

Excellent! Very useful commands for me.TQ

27 Nalaka September 12, 2011 at 9:35 pm

Dear Ramesh,
Pls clarify, the way how can i create a descending order file(upon numeric column), where there are many columns in the lst file.

28 Another Brown Man September 20, 2011 at 2:56 pm

You should include print commands like lpr, lpoptions, lpstat too

29 Dave AKA "8" October 13, 2011 at 2:27 am

Thanks for a really great tute.
I first learned to program Miniwaft via punchcards (Pascal), in 1974, but didnt like command lines, so never got round to looking at ‘nix, or prompts.
You helped me take the first steps.
I really wanted to say thank you for writting such a great tutorial.

Any chance of NMAP, Print, Whois topics, please
Also, a litte tute on switches would be awesome.

30 Mihai October 15, 2011 at 8:57 am

Super useful especially for a beginner in linux like MEEEEEEEEEEEEE :D
Great post and thank you for your effort to create it
It’s really useful

31 John November 10, 2011 at 10:42 am

Great list, I’m in college and taking a few linux admin classes, and my teacher was trying to do a lesson on Crontab, but for whatever reason couldn’t remember how to do it. I looked it up on here and was able to look smart in front of the whole class ;)

32 Asif Bin Qadir November 18, 2011 at 11:53 pm

Profound Regards & Thank you so much….

33 Stefan November 25, 2011 at 8:20 am

Don’t forget the cut command.

cat /etc/passwd | cut -d: -f6

for example.

34 Bob Kraus December 2, 2011 at 1:22 pm

What about the grep command? Amazingly powerful and helpful.
Thanks for all the other examples

35 bob kraus December 2, 2011 at 3:02 pm

Sorry about the previous grep comment — it was at the top of your 50 and I missed it. Dooh!

36 prabinseth December 7, 2011 at 3:32 am

i think it should be
tar -cvf archive_name.tar dirname/

instead of
tar cvf archive_name.tar dirname/

please correct me if i am wrong.

37 RO December 7, 2011 at 12:02 pm

Re tar options format from the man page:

The first argument to tar should be a function; either one of the letters
Acdrtux, or one of the long function names. A function letter need not
be prefixed with “-”,

I have not used a dash prefix for a long time (maybe since it is not allowed (?) in Solaris version, which is what I use more than Linux for work like that).

38 vinayak January 2, 2012 at 3:40 am

thanks you its very helpful,

39 sukhbir January 19, 2012 at 5:39 am

Great Job!!

40 MYZJ forever... January 30, 2012 at 3:46 am

thanks very much…

very excellent!!!!

41 Munish February 2, 2012 at 10:20 pm

well done

42 foyufugfogfopu February 3, 2012 at 12:13 am

great help

43 chandrashekar February 7, 2012 at 2:14 am

too good, frehsers can learn many things from this

44 hemant February 7, 2012 at 10:24 pm

thanks very much…

my – its very helpful,

45 shesh nath February 9, 2012 at 11:20 pm

this is very helpful suite according to me

46 Chamanlal February 17, 2012 at 9:34 am

U r not a beginner bro..

47 moses chisanga February 23, 2012 at 8:37 am

This is very good., am a bigginer but i know that very soon will be very far

48 Ramesh Velauthem March 9, 2012 at 6:32 am

Really Very Usefull Commends

49 pubudu March 18, 2012 at 9:55 am

Thanks Bro..awesome article very useful

50 Tb March 19, 2012 at 1:38 am

this is awsome for begineers and thanks for that.

51 abhi March 22, 2012 at 3:17 pm


Nice list. very helpful.

Prabin seth,

you are right.

52 sanvi March 30, 2012 at 4:03 am

sudo command

53 moumita April 4, 2012 at 2:23 am

I have a question.How can I construct a pipe to execute the following?
Output of who should be displayed on the screen with value of total number of users who have logged in
displayed at the bottom of the list.


54 Rajendeer April 9, 2012 at 2:44 am


55 pathum April 9, 2012 at 2:59 am

nice post i am really lucky to read this post,thanks….

56 Shradha April 9, 2012 at 12:53 pm

too good,getting more infornation,Thx a lot

57 Welly April 26, 2012 at 9:06 pm

thanks, really helpful.

58 Aslam May 3, 2012 at 6:59 am


59 Vijay May 13, 2012 at 1:40 am

Very good explanation with examples. Can you provide just brief explanation about command eg, awk what is mean by awk ? (remembering purpose)

Thank you!

60 Ashok May 14, 2012 at 10:50 am

Thank u very much…

61 Prr Suresh May 24, 2012 at 7:03 am

Very useful to beginners like me. You might have included vim editor commands with its useful options and its subcommands

62 Vivek May 27, 2012 at 5:49 pm

Hi, Does anyone know how I can install UNIX on my laptop to practice unix commands?


63 Elex June 1, 2012 at 1:11 am

@vivek – Install one of the linux distribution on your system. Ubuntu will be good for you.
If you want dual boot, Install ubuntu with WUBI that is “windows based ubuntu installer”.
If you do not want dual boot, install virtual box on your windows and install ubuntu into it. You can find free ubuntu iso file on ubuntu-website.

64 Wes June 8, 2012 at 1:36 pm

A good reference. Thanks!

If you had links to each command on an index at the beginning, it would make it easier to drill down to each command.

65 b2 June 9, 2012 at 9:24 pm

hmmm,,,really nice collection for beginners…!!!

66 meena June 12, 2012 at 11:33 pm

& command, nice command using linux with example

67 charan nm June 22, 2012 at 6:39 am

very usefull

68 Ashok June 27, 2012 at 7:03 am

Its amazing, very useful to me.. Thank u so much

69 Anonymous June 27, 2012 at 11:14 pm

Hi Ramesh

70 Mikkh July 3, 2012 at 2:04 pm

Yum and rpm only really apply to Red Hat/Fedora or rpm distributions – shouldn’t really be in this list IMO unless you also include the equally common apt for Debian distributions, emerge for Gentoo etc etc.

A command I find useful is uname for finding out various bits of system info but mostly by me for what kernel is currently installed

uname -r – display kernel number installed

uname -a – display all uname info in one string

uname -h – help on all switches available

71 sanjeev July 5, 2012 at 5:54 am

very nice collection for beginners………

72 david July 9, 2012 at 7:22 am

great collection. thanks alot

73 Ebby July 10, 2012 at 3:17 am

hi, Could please help me in getting the UNIX code to display a message box if the file size is 85% full?

74 Ramesh July 17, 2012 at 3:23 am

awesome bro.

75 Yogesh Choudhary July 19, 2012 at 1:00 pm

Thank,it’s very help for freshers…

76 seyi July 23, 2012 at 8:20 pm

Work well done.
I wish to know if there is a command that can be used to increase the space allocated to an application (e.g a simulator). Help with it.

77 Aravind Reddy Kaithy July 25, 2012 at 8:59 am

Very good list, update more..

78 satish September 6, 2012 at 12:58 pm

thank you so much sir……………….

79 OM PRAKASH SINGH September 9, 2012 at 1:19 pm

Hi Dear
I found these commands are very useful and now I am studying. Actually where I am working there Linux, AIX6 and Solaris 10 server is used. I wanted to know how to connect tata photon in Red hat linux 5. Please help me. I shall remain thankful to
you forever.

80 pommuraj September 11, 2012 at 10:22 pm

thank you.

81 Ramachandra September 12, 2012 at 1:29 am

It is very use useful to all basic level unix guys……..Good

82 Durjoy September 27, 2012 at 12:01 am

Thank U So much……………. It is very useful to us…. More information expected….

83 Ramesh September 27, 2012 at 10:32 am

Thanks a lot. If you write another article, please include the below commands.

nslookup, dig, host

84 waleed butt October 11, 2012 at 12:44 am

this is very useful..i learn many commands of linux from this.Thanx

85 snsn October 16, 2012 at 5:28 am

Thanks a lot……….

86 vinayak October 17, 2012 at 5:26 am

More useful commands:

87 MMR October 29, 2012 at 10:14 pm

Great Collection


88 farhad November 2, 2012 at 12:46 am

thanks. very good and usefull

89 Subrat N November 15, 2012 at 10:45 am

Really, Great Collection……….!!!
Keep it up…

90 Rahul SIngh November 28, 2012 at 1:15 am

how to search in .tgz file without untar

91 Hareesh December 10, 2012 at 5:54 am

very useful for us…………

92 Green December 17, 2012 at 6:36 am

Hi Im new for unix….
Can any one help me out how the sed and awk command working in the example 5 and 6 to get reverse order and Remove duplicate lines using awk.

93 rajendar December 19, 2012 at 3:43 am

i want to know the command for ‘lm’

94 sameer December 24, 2012 at 3:02 am


Thank you for posting useful commands.

95 mahesh bomble January 4, 2013 at 4:34 am

A post for beginers..

96 riten January 8, 2013 at 3:54 am

pls send me how to create log file(tape wirrten is normal file, normal file format only not tar file format)

97 ismail January 10, 2013 at 1:02 pm

‘pwd’ print working directory

98 tulasi January 21, 2013 at 5:01 am

thank you
very useful

99 ramac January 23, 2013 at 11:27 pm

very useful & thanks

100 Anoop January 24, 2013 at 5:47 pm

Excellent list .Thank you

101 Corbeaux January 26, 2013 at 9:57 pm

These are often useful to me:
ps -fu user_name
kill `pidof process_name`
ll -tr `locate file_name`
rsync -avzp -e ssh /local/path/file username@remote_server:/remote/path/.

102 riten January 28, 2013 at 4:29 am

pls anyone write commond how to create log file (text file), file written by normal format in 3592 tape.

103 sinjish January 29, 2013 at 4:55 am

Good …really helpful….

104 shresta February 4, 2013 at 5:42 am

thanks a lot it helped me:-)

105 amit February 5, 2013 at 8:40 am

1.for replacement of string in single file
2. for replacemnt of stirng without opening the file

106 Adam February 7, 2013 at 8:37 am

if you include rpm and yum, how about apt/dpkg and pacman?

107 octopus February 11, 2013 at 6:07 pm

another really common one:

# ln -s target /path/to/link/to/

108 riten February 11, 2013 at 11:56 pm

Mutiple files write in tape how to create log file

109 Milan February 14, 2013 at 12:54 am

Good site for learning a gist of commands.

110 sudhakar reddy February 15, 2013 at 5:40 am

Really this site helps us a lot ..!

111 raj February 25, 2013 at 11:45 am

very very imp and usefull commands thank you

112 Harikrishna February 26, 2013 at 11:38 pm

Thanks for thinking and sharing knowledge about collection of things required for Unix user.

113 Ravi March 3, 2013 at 12:41 am

thankyou very much dude ………this really help me in making my college assignment…………….thankyou once again

114 deepak March 6, 2013 at 11:09 am

Very precise and useful like me beginners. Want to see more commands.

115 pGwtech March 7, 2013 at 12:59 pm

A simple thank you.

116 Anonymous March 8, 2013 at 9:06 am

list is awesome. Thank you

117 Shailendra March 10, 2013 at 3:34 pm

It’s ok not bad for beginer

118 Neeraj March 13, 2013 at 1:02 am

i m new, this may help me i think, I would like to know the similarity of windows / dos commands with linux / unix commands.

It would be helpful to those who want to use linux in place of windows / dos.

119 siva sankar vara prasad March 15, 2013 at 5:40 am

it is so nice & good for new lernars

120 A.Nagaraju March 23, 2013 at 1:11 am

good !

121 Krishna March 29, 2013 at 12:35 am

Good “

122 meenu tiwari April 14, 2013 at 2:01 am


123 Aditya Rajawat April 24, 2013 at 3:43 am

Good list…

124 Deep April 26, 2013 at 10:12 pm

This is a really nice article for everyone. I sent the link to every friend who know Unix/Linux. Thanks a lot!

125 Deep April 26, 2013 at 10:13 pm

This is a really nice article for beginners. Thanks

126 Mahesh May 8, 2013 at 3:46 am

This is very help full for beginners,Keep on posting few more.

127 Subba Reddy May 10, 2013 at 2:12 am

Good Work , very helpful to Freshers.

128 dharamvir May 15, 2013 at 3:54 am


129 Anju May 16, 2013 at 2:28 am


130 Samah May 16, 2013 at 2:54 am

I am a beginner, this is really very helpful , thank you.

131 Tarakraj bist May 18, 2013 at 8:49 pm

this is helpful for me

132 KAnagaraj May 19, 2013 at 6:49 am

How can i install exe file in linux (for ex-NHM Writer 1511.exe)

133 Curt May 22, 2013 at 6:37 am

Thanks for the very useful information.
I’m currently trying to grasp the ‘find’ command.
I’d like to see an explanation and examples.
‘man find’ is a huge beast and mostly incomprehensible to someone like me.

134 Curt May 27, 2013 at 12:30 pm

Oh! You’ve already written it.
Thanks again.

135 Naresh July 10, 2013 at 6:12 am

Good document along with good examples.

136 Priyabrata Karan July 18, 2013 at 1:42 pm

i m really impressed with this type question answer… thanx a lot

137 pavan July 25, 2013 at 3:45 am

thank a lot ,,,,,,, this is really helpful…

138 raja July 30, 2013 at 3:05 am

very nice

139 andy August 4, 2013 at 8:57 am

very helpful !!! Cool stuff!!

140 storm August 6, 2013 at 3:55 am

>>Good Job…

141 DIWAKAR August 8, 2013 at 11:03 am


142 rasedul islam August 21, 2013 at 1:15 pm

very good.

143 faizil kovai August 26, 2013 at 1:00 am

very good
Thank you very much

144 kannan September 5, 2013 at 5:00 am

nice job thanks

145 Subhash S Bobade September 5, 2013 at 9:25 am

Very nice artical , If possible please provide some new and useful command(tricky) which may ask in interview.

Thank You.

146 tejas September 6, 2013 at 1:24 pm

nice. best exmple

147 pooja September 16, 2013 at 4:05 am

very good job….thank u

148 Chuck Nunez September 18, 2013 at 9:50 am

Your website is fantastic. I’m just getting familiar with Linux and the resources here are excellent.

Have you considered adding a a “printer friendly” button to the site? When I PDF articles so I can highlight and save them, I can’t copy/paste from the resulting PDF into a notes document. The paste buffer puts unintelligible characters into the document.


149 zeelan September 21, 2013 at 7:25 pm

thank you so much …. it helps lot :)

150 Ruth Yehle September 23, 2013 at 5:00 pm

I am looking to attach a document listed as /home/ruth/documents on the linux computer built by my son Nathan Yehle of Madison WI (runs the UW main computer but did not teach me how to attach my documents to share them in an email). Perhaps i could retype the letter and send it on. Ruth Yehle

151 megavannan September 27, 2013 at 2:16 am

Its good to learners

152 kiran September 27, 2013 at 5:02 am

Very useful…………….. Thanks to Ramesh

153 Neelu October 1, 2013 at 5:05 am

Very useful. Thanks Ramesh.

154 GUruraj October 5, 2013 at 12:44 am

Awesome , very good article for begginiger

155 john October 7, 2013 at 1:37 am

very useful, thanks a lot for sharing your experiences .so blessing for me .

156 Pavan October 14, 2013 at 5:14 am

Awesome ! Thanks a lot mate

157 jagruti October 17, 2013 at 3:48 am

Nice list Thanks. :)

158 mrunali October 17, 2013 at 3:49 am

Nice list Thanks. :)

159 chaitali October 17, 2013 at 3:50 am

good one. Thanks

160 shashi October 22, 2013 at 7:35 am

Really good.

161 ckajua-US-guru October 24, 2013 at 12:47 pm

Even an expert has to start somewhere – as a beginner or later at the intermediate level!
Thank you for sharing knowledge through this blog. Many people will benefit from it. In Solaris, you can count the number of files in your CURRENT directory with the following commands:
ls | wc -l
ls -l | grep ^[^d] | wc -l
find ./ -type f | wc -l
ls -F | grep -v -e “/” -e “@” | wc -w
ls -F | grep -v “/” | wc -w

You can count the number of occurrences of a word in a file within your CURRENT directory by using the following command:
cat ./file-name | grep -v word-to-search | wc -w

162 Flott October 27, 2013 at 12:31 pm

Hey before I even try out the tutorials, just wanted to say thanks for putting up such a brilliant site. Great work.

163 Jim Branden October 31, 2013 at 6:38 am

Thank you for a very helpful list. Please direct me to the source of explanations of message content to interpret these two commands:
tail -n 20 /var/log/syslog
tail -n 20 /var/log/messages

I’m trying to debug a script to set static IP with two zones for Apache and my resolv.conf files.

Thanks for your help. Jim

164 arun kumar November 13, 2013 at 6:54 am

thanx,it is very helpful to recapsulate linux command.add more command ,such as how to delete copied iteams of group?

165 Gumnos November 17, 2013 at 7:16 pm

While a good example of “xargs”, you can simplify “cat url-list.txt | xargs wget –c” to just be “wget -c -i url-list.txt” since the “-i” argument to wget tells it to read the URLs from a file. I use this regularly.

166 Dirce November 20, 2013 at 8:21 pm

Thank you. Your summaries are very useful.

167 Rahul More December 9, 2013 at 12:39 am

Very Nice ..

168 sandeep December 10, 2013 at 7:32 am

very usefull commands

169 parameswara rao December 11, 2013 at 5:54 am

please update vmstat and cpio commands

170 Sohil Memon December 12, 2013 at 7:27 am

Can you please explain “grep” and “sed” in detail. As I know, grep and sed has the long directory of commands with different combinations and I want to know how to represent and use it in “Shell Script”.

171 prasad December 18, 2013 at 4:22 am

Hi Ramesh,

I guess, the comand to To uncompress a *.bz2 file should be bunzip.

its mistakenly written as : bzip2 -d test.txt.bz2

172 rahul January 4, 2014 at 6:27 am

very nice ,very helpful.. :)

173 Raja Sekhar January 7, 2014 at 4:24 am

I appreciate ur work..Knowledge should be sharable as u did now..

174 Shubham Agarwal January 18, 2014 at 6:24 am

Very helpful…

Thanks a lot…

175 Umesh Mankar January 30, 2014 at 10:33 pm

Its very helpful … thanks Ramesh

176 Jalal Hajigholamali February 4, 2014 at 11:25 am


Very useful article..

177 Sumit February 13, 2014 at 11:18 am

good commands,its really helpful for beginers

178 Alok February 20, 2014 at 4:09 am

Have Some More Commands:-
cd ../..

179 Krizalys February 20, 2014 at 9:29 am

Very realistic list!
Another indispensable “command” though: gcc :)

180 PN.Lavanna February 21, 2014 at 4:39 am

Very use full commands all r using this commands thank u very much
we can u use lot of commands in real time projects

181 kanade rashmi February 22, 2014 at 12:05 am

very very useful command

182 Mohsin Khan February 22, 2014 at 12:06 pm

This command is most usefull……………………..

183 Gowri Shankar February 25, 2014 at 1:04 am

After reading your site.. I am feeling Some Unix power i got it….

184 monal March 12, 2014 at 11:35 pm

its very helpful………….

185 Dinesh March 13, 2014 at 1:42 am

Great Work Buddy !!!. Excellent article. Very very useful to beginners. Keep Rocking.

186 Nilesh March 17, 2014 at 7:03 am

Nice , Thank you…

187 nav March 21, 2014 at 4:42 am

nice one

188 Megha March 26, 2014 at 4:34 am

Really helpful for new learners.Great work.

189 suesh March 28, 2014 at 1:38 am

very helpful for beginner.

190 soufiane April 4, 2014 at 4:46 am

very nice.

191 shakir April 14, 2014 at 12:15 pm

Great work done ……!! Thank you very much…. :)

192 subhani April 25, 2014 at 1:02 am

hi sir

its very helpful article to the learners of linux and personally i feel good and clear about the important linux commands

193 gopalreddy April 30, 2014 at 1:14 am

Great Stuff

194 dheeraj reddy May 1, 2014 at 12:55 am

Awesome… These are very much useful to me.

Thanks buddy

195 Rabindar kewat June 4, 2014 at 3:41 am

Good job.that is helpful for newer

196 Athira June 23, 2014 at 3:29 am

Good……….It’s very useful for begineers in linux…thanks to the effort made…looking for such kind of documents.

197 Adnan June 29, 2014 at 4:10 pm

That was nice stuff buddy. keep it up.

198 reddy July 3, 2014 at 10:42 am

its Very nice

199 dario matias July 14, 2014 at 7:03 pm

Super helpful article, thanks very much!

Leave a Comment

Previous post:

Next post: