The Upcoming Version of Linux Shell Scripting Tutorial v2.0

I’ve been working on the Linux Shell Scripting Tutorial v.2.0 for some time and now the updated version licensed under “Creative Commons Attribution Noncommercial Share Alike 3.0 Unported” of the same available in wiki format. It will contain a few significant changes from the previous versions of the tutorial, which includes a new topics, grammar & typo fixing and new sys admin related scripts.

The first eight updated chapters are available online at the following URL:

I’m planning to add few more chapters:

  • Shell Functions and Libraries.
  • Shell Array.
  • Writing interactive scripts.
  • Quick tour of filters such as cut, awk, sed, grep, cut, paste and sort commands.
  • Date and strings manipulation.
  • Common sys admin tasks automation such as file backup, database backup, user management, ftp, ssh, remote login, server monitoring, security, firewall, BIND dns management, web server management scripts etc

Hope you will enjoy new tutorial in wiki format! What you like, do not like or anything you feel I should improve on. If you see my mistake, typos or know of a better way to accomplish same task, please let me know. Add your feedback in the comments below.

🐧 Please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
26 comments… add one
  • pasty! Dec 2, 2009 @ 12:47

    Fantastic tutorial so far – especially like the dialog chapters…..
    makes any bash script very professional.
    Especially when trying to get non unix users doing admin tasks.

    Good work.

  • Pravin Bari Oct 6, 2009 @ 6:56

    Very very useful guide specially form beginners. Such guides really help people like me. Thanks very much Vivek.

    Keep writing….

  • mekjs2001 Sep 28, 2009 @ 20:49

    For the …/Getting_User_Input_Via_Keyboard, I’d point out what the last variable looks like when more than 3 values are entered. You also might want to introduce the IFS concept here.

  • marc Sep 26, 2009 @ 0:31

    lots of thanks.

    English it’s not my mother thong, but if i find a tipo i’report it to you.


  • Philippe Sep 25, 2009 @ 23:06

    See, I think there are already a bunch of good sites,
    I think energies should merge on Wikipedia,
    there are quite a lot of pages on the subject: (Advanced Bash-Scripting Guide)

    And here a list of all sources:
    The Comprehensive List of bash Reference Documentation and Examples:

    and the reference to me [again]

    — Philippe

    • 🐧 nixCraft Sep 25, 2009 @ 23:29


      I really don’t have answers to all your questions. But, this tutorial was created way back in 1999. It was featured twice on Slashdot. This is just an updated version to 1.05. Yes, those are very good sites. The Internet is good place for sharing, gaining knowledge, and increasing competition. Competition (multiple sites sharing info) is good for consumers.


  • Philippe Sep 25, 2009 @ 22:57


    Again, it seems to be a great idea, content is nice and container (Wiki) is usable,
    we all want to contribute and share,
    so why wouldn’t we want to add/merge it to the existing Wikipedia pages,
    or make/merge an existing Wikibook?

    I don’t mean to be rude,
    but Wikipedia may last a little longer than any privately individually owned web site,
    don’t you think?

    (Not mentionning again Bash Hackers wiki, which is awesome)

    — Philippe

  • 🐧 nixCraft Sep 25, 2009 @ 21:22

    @ marc

    Okay, I’ve uploaded PDF version here

    @Mike, It should work with any Linux distro as long as it shipped with BASH v3.x.x or above.

  • Mike Sep 25, 2009 @ 21:08

    Looks like a good start and I added it to my bookmarks. I was curious about what Linux distributions you linked but the link is not working. A good Linux distribution for testing bash scripts would be It is only 10Meg so dial up is feasible.

  • marc Sep 25, 2009 @ 15:29

    If there is any way to download it as pdf or book-like package it will be very nice to read on the subway.

    great job, thanks

  • kgas Sep 25, 2009 @ 15:10

    The format is better than your previous one and not gone thro’ all pages.
    @Burrest : If you are knowledgeable feel free to help the community. Lame comment will not help any one.

  • 🐧 nixCraft Sep 25, 2009 @ 13:42


    I’ve configured mediawiki to send an email via Let me know if you’ve any more problem.

  • Philippe Sep 25, 2009 @ 12:51

    [ e-mail new password ] function does not work on Wiki – 😉

  • swap4u Sep 25, 2009 @ 11:38

    Feel I want to comment on @Burrst’s comment – you’re an ASS.

    The author took the time to write a good tutorial. At least give constructive comment.


  • Dean Thomas Sep 25, 2009 @ 11:14


    Is a good idea, Man pages are great, but it’s nice to have a book written by someone who speaks the same language, if that makes sense… man can be very daunting to newbies, online guides like this are great.

    I have a couple of articles on database backup, feel free to use them in your guide!

    Coding Articles

    Keep up the good work!

  • 🐧 nixCraft Sep 25, 2009 @ 10:48

    @ marc,

    Look at “Create a book” on left side navigation. Add pages and when done click on “Show book”. You will get an option to download it as PDF or Order as a printed book from PediaPress.

  • marc Sep 25, 2009 @ 9:37

    There is any way to download all the tutorial so I can read it while on the subway?


  • 🐧 nixCraft Sep 25, 2009 @ 7:11

    @manoj, this is offtopic, use the forum ( for all other questions.

    @ ryan, you can register at wiki and create articles.


  • manoj jasawat Sep 25, 2009 @ 5:16

    how to install——————– lan driver rtl8169 in rhel5……..

  • Kimura Sep 24, 2009 @ 15:24

    Thank you for tutorial. 😉

  • ryan Sep 24, 2009 @ 13:39

    Wonderful tutorial,though! Please keep them coming,i suggest you to include a section called Linux filters ,where you first cover essential commands like grep,pgrep,egrep,cut,paste,sort,diff,sedawkgawk,uniq ,wc,perl head,tail,tailf,more,less and so on…well to be honest id be more than willing to write a linux filter tutorial if it can be posted here 🙂

  • Philippe Sep 24, 2009 @ 12:38

    To Burrst
    I actually disagree with your sentence.
    – The current bash man page does not contains all this information, I mean examples and tutorial – And I have been reading bash man page when needed.
    – you cannot edit bash man page yourself
    – I have been using this site for months, and although the subject is common to hundreds of sites, I found it useful.

    Of course, this may seem to be duplicated work with GNU bash manual and tutorial pages, or some specific sites such as the BASH HACKERS Wiki

    BTW, your opinion is worth any other,
    but you could have put it a more respectful and polite way,
    at least argumenting in details what you think and why,
    explaining and sharing us what best tutorials you know and recommend.
    (Tutorial, not man pages).

  • 🐧 nixCraft Sep 24, 2009 @ 12:38

    @ Burrst: Please, enlighten me.

  • Burrst Sep 24, 2009 @ 11:58

    Your tutorial is wonderful waste of time. All you need is bash man page.

  • 🐧 nixCraft Sep 24, 2009 @ 11:55

    Hi Philippe,

    Great suggestion. I’m new to Mediawiki itself. I’ve just updated permission and now you can create an account to edit pages. This was disabled to due to spam issue. I will also get installed an anti spam extensions.

  • Philippe Sep 24, 2009 @ 11:24

    Hi Vivek,
    Great idea!
    A wiki is a more appropriate way to build knowledge and share it – than a blog.
    The pity is I cannot create an account to edit pages when I see a typo, (and I saw one 😉 ) .
    as I am allowed on Wikipedia, for instance.
    (I think you know my motivation and collaboration up to now on your site).

    — Philippe

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Problem posting comment? Email me @