Become a Linux Guru

Doug dmcgarrett at optonline.net
Thu Feb 3 03:18:56 UTC 2011


On 02/02/2011 04:15 AM, Waleed Harbi wrote:
> I advice you start with ubuntu wiki , you will find a lot of solutions
> and support. Start read and work hard then if you face any issue ask
> in the maillist or in ubuntu room in IRC. Linux wide area, would like
> to be end user, or developer, or system admin? It is your choice!
> Welcome to linux world :)
>
> I hope this help you.
>
> On 02/02/2011, Kaushal Shriyan<kaushalshriyan at gmail.com>  wrote:
>> Hi
>>
>> I have been working on Linux for quite sometime. What are the necessary
>> pre-requisites and techniques to be adopted or any specific skills to become
>> a Linux Guru or Expert ?
>>
>> Please guide/suggest.
>>
>> Thanks
>>
>> Kaushal
>
1. You will have to become very familiar with all the common commands.  A
book like "Linux in a Nutshell" from O'Reilly has all the man (manual) pages
written out--a number  of which are not in the standard Linux distributions.
Also, it lists options which may not show up in the on-line man pages.

2. It will be necessary to become competent--not just familiar--with bash
scripting.  This is the programming language that is primarily used to 
create
many of the control procedures that "get things done" in Linux.  There are
a multitude of books, references, and tutorials available, some of them
free for download: "Bash Guide for Beginners" by Machtelt Garrels; "Linux
Shell Scripting Tutorial" by Vivek Gite <vivek at nixcraft.com>; "Advanced
Bash Scripting Guide" by Mendel Cooper.  The "bash Pocket Reference"
by Arnold Robbins is available for a few dollars, downloadable from 
O'Reilly,
or you can buy it in printed form.  It's main advantage is its 
simplicity and
examples; everything in it is covered in the books above.

3.  You might get away without ever learning the CLI editors vi (pronounced
vee-eye), vim (an expanded version of vi), and emacs, but to really become
a Linux/Unix guru, you should learn them.  In the meantime, become used
to using a CLI editor like nano, pico, or mc, with which you can actually do
just about anything, with much less fuss.

4.  You will sooner or later need to become familiar with sed, an editor 
with
some programming features, and the programming language awk (or gawk--
a Linux adaptation with a few extra features).

5.  A working relationship with the C programming language will see you in
good stead:  the kernels for Linux and all the other Unixes are written in C
with a dash of C++.  (A recent thread on one of the lists concluded that it
would be better to learn C++ _first_, not C.  It also concluded that if you
have no programming experience and need to learn, a good introduction
to programming can be found in the Python language.)  Python happens to
have the practical advantage for the student that it is interpreted.  
That is,
you don't have to compile it to run the program you just wrote, so it's 
faster
to work with and debug.  A good tutorial for that is called "Snake Wrangling
for Kids" by Jason R. Briggs.  A free download, and not just for 
kids--anyone
can use it.  Before you download it, you should be aware that there are two
versions of Python kicking around. Most of the present Linux distros seem to
have version 2.x in the repos, altho there is also a 3.x available.  The 
Snake
book comes, therefore, in two versions also, so before you download it,
find out what Python version you will be actually using, since there are 
some
differences.

6. A text-book I used in a recent college-level class covers a lot of Linux,
altho not everything I've mentioned, and it suffers badly from poor 
indexing.
"Linux: the Textbook" by Sarwar, Koretsky, and Sarwar.  The version I used
was the first edition.  There is now supposed to be a second edition, which
may have corrected some of the faults and errors of the first.  I 
haven't seen it.
However, the consequences are that the first ed should be available even 
more
cheaply on Amazon, etc.(used, clean)  and the second is probably not 
available
at much of a discount anywhere. You can do almost all of the exercises 
in your
modern Linux, so don't worry if it doesn't come with the old version, 
which was
pasted in the back of the original book.

Author's note:  I wish I was competent in all the areas I so blithely 
mentioned
above.  Unfortunately, I'm not.  I just know enough to know what I _don't_
know!  One bit of advice:  if you have two computers, devote one to Linux
learning.  Don't be afraid to work with the CLI, and play with bash, and
Python, and modifying the behavior of the system.  Just call it the sandbox,
and be prepared to reinstall the system if you mangle it too badly.  Do all
your other real work on the other computer.  Preferably, of course, it 
should
be in Linux, but if you dual-boot to Windows once in a while, we'll 
understand!

Good luck!  I really hope that you achieve your desire!

--doug




-- 
Blessed are the peacemakers...for they shall be shot at from both sides. --A. M. Greeley





More information about the ubuntu-users mailing list