How can I learn Linux?

12 posts
by Paul_griff » Thu Feb 21, 2013 7:04 pm
I have had my raspberry pi for quite some time now and not done a great deal with it but really want to try and make some interesting projects with it using the gpio pins .
I have come to realise that I really need to be learning how to use Linux as a total beginner so can anyone out there recommend the best way ie a specific book or website

Apologies for all the stupid questions!
Posts: 45
Joined: Sat Jul 21, 2012 9:23 pm
by hexelpdkk » Thu Feb 21, 2013 7:49 pm
What do you want to learn about linux? Obviously, google is your friend here.

I would start with a basic understanding of the command line. This site, tutorial one to six, looked nice and simple.

If you want to do something with GPIO, what language do you want to use? If you want to use python, there are libraries out there to make it easy - wiringPI for example

Also, make sure you look through all the back issues of the MagPI These are an easy read, and lots of tutorials.

And finally, why not get a copy of the official Raspberry Pi User Guide by Eben Upton and Gareth Halfacree.
User avatar
Posts: 175
Joined: Fri Feb 24, 2012 4:40 pm
by Mobius » Thu Feb 21, 2013 8:55 pm
I'm in the same boat even though I made a living writing software. Never used Linux before the Pi. As was mentioned, there are several good resources on the web but you can also pick up an older copy (less expensive) of a Linux book on eBay or elsewhere. I got one called Debian GNU/Linux for Dummies pretty cheap. As for Pi specific Linux, the Raspberry Pi User Gudie by Eben Upton and Gareth Halfacree is usefull as well.
Posts: 238
Joined: Thu Aug 30, 2012 1:07 am
Location: San Angelo, Texas USA
by tonyhughes » Thu Feb 21, 2013 9:51 pm
My advice is bookmark this page:


And read every new post that comes along for a month.

That will give you a good foundation of actual useful real-world Linux knowledge.

These forums are absolute gold for beginners. Even the guys at the uber-geek expert end of the scale are asking or answering valuable basic Linux questions.
User avatar
Posts: 950
Joined: Wed Dec 26, 2012 3:46 am
by DBryant » Fri Feb 22, 2013 9:23 pm
Try Googling for linux/unix e-books and there is a weatlh of material. Been in this game too long to assess their merits, it comes down to personal choice and whether it answers your own particular questions.

Generally its UNIX you're interested in; the shells (bash, csh), tools like tar, awk and grep, languages like C, Python and Perl, and so on, are all the same across variants of Unix of which Linunx is only one. The trick is learning what the differences are! Most system managment is also common. The point being don't limit your searches to Linux only.
Posts: 281
Joined: Sat Feb 02, 2013 12:41 pm
Location: Berkshire, UK
by duberry » Fri Feb 22, 2013 10:48 pm
Paul_griff wrote:I have had my raspberry pi for quite some time now and not done a great deal with it but really want to try and make some interesting projects with it using the gpio pins .
I have come to realise that I really need to be learning how to use Linux as a total beginner so can anyone out there recommend the best way ie a specific book or website

lend me your arms, fast as thunderbolts, for a pillow on my journey.
If the environment was a bank, would it be too big to fail
so long; and thanks for all the pi
User avatar
Posts: 379
Joined: Mon Jan 28, 2013 10:44 pm
Location: standing on a planet that's evolving. And revolving at nine hundred miles an hour
by digitalhippie » Mon Feb 25, 2013 4:09 pm
The most important book in my shelf is - even after many many years
Learning the bash shell
Cameron Newham & Bill Rosenblatt
ISBN 9781-5659-2347-8

It's not actually about "Linux" itself but on how to use the standard shell and thus you catch a whole lot of basic knowledge while working with the book.
The second most important thing is: learn how to find and read a man page! One of the really great things about GNU/Linux is that it is very well documented in itself. You just need to figure out where to look.
Try reading in /usr/share/doc/xxxx. Try "apt-cache show packagename" on a debian-system for information about a specific package. Try "dpkg --search filename" to see which package a file belongs to.
Have Fun!
Posts: 9
Joined: Mon Feb 25, 2013 3:33 pm
by ski522 » Mon Feb 25, 2013 10:53 pm
For the newbie or even intermediate users, this is your best bet...and it's free.
Posts: 394
Joined: Sun Sep 30, 2012 2:22 pm
by nadir » Tue Feb 26, 2013 11:04 am
The debian-reference covers a lot:
You can also install it with
Code: Select all
apt-get install debian-reference

and will find it at /usr/share/doc/debian-reference-common/html
On raspbian it is installed per default.
If you prefer another language but English you can search for it with apt-get:
Code: Select all
apt-cache search debian-reference

and install your choosen language version like showed above.

I learnt a lot in forums. Either asking myself or reading what others ask/avdise. I added the usual recommendations: man pages and searching the Web. Many wikis of gnu/linux distributions cover a lot of topics (say you search for "synaptic +ubuntu wiki" with your searchengine of choice)

You might also want to check your local library.

I agree that learning the command line is good. It helps a lot to understand the basics of the system and is very powerful.
Posts: 112
Joined: Sun Jun 10, 2012 5:45 am
by GENX » Sun Dec 13, 2015 11:51 pm
I would also throw out the free online Harvard CS50 course. For a complete noob (like me) this course has been excellent.
Posts: 1
Joined: Tue Dec 08, 2015 2:13 am
by grgc » Mon Dec 14, 2015 5:39 pm
I am also trying to learn linux. I have been interested in Linux for years, and have always found it a difficult subject to learn on my own. While there exists a vocal minority who have learned Linux on their own and through the available documentation and resources, most people who attempt to learn Linux on their own ended up dejected and frustrated. As evidence, the most successful distros like Ubuntu are popular because they attempt to mimic the Microsoft Windows experience. Many people are migrating to Linux, but they are not learning the system.

There is good and bad news. The bad news first; it provides context. The bad news is that the Linux culture is a tech savy, boot-strap kind of culture. The first Linux devotees were already experienced techies in their own right. They were willing to help others along, but they were not willing and in many cases completely unable to teach a newbie how to run a computer much less an operating system. In the bad old days, newbies often received helpful messages like "RTFM" in response to their more basic questions. Today, most Linux devotees who have, in fact, mastered Linux are still experienced and accomplished techies. The profile of a Linux devotee has expanded, but the Humanities remain under represented among the more accomplished Linux users. Most people who have mastered Linux are busy, hard working persons with plenty to do. They are willing to offer their to time to help new comers, but they can't afford and often unable to provide the documentation and guidance that a true newbie actually needs to find their way into a Linux distribution.

The good news; there is hope. First, the Linux community is expanding and many new persons are emerging who have the technical skills to understand and to teach. Second, hardware is changing. Better and better books are available everyday. The bad old days are mostly gone, and most forum posts will be answered in timely and courteous manner.
People in the Linux community have always been genuinely willing to help, but the changes in hardware and the population of the Linux community are producing a new environment with enormous potential.

If you want to learn Linux, you must first understand the scope of the task. Learning Linux is not like learning a software package with a graphical interface. Learning Linux means learning computer science. A Linux installation is designed and intended to give the user the ability to manage their computer and software from the user interface to the hardware by directly manipulating the operating system. Hoo ah! Learning Linux is not a trivial task.

Begin at the beginning. (No, The Debian System Administrator's Handbook is not the beginning.) The beginning is an introduction to computer science. No, I have not been able to find a textbook introduction to computer science based on Linux much less the Rpi. The Linux community needs one, and I hope that someone is working on one, but to my knowledge, it ain't here yet.

I can make some recommendations based on my own limited experience and severely limited financial resources. First, use the Rpi as your learning aparatus. Don't buy a monitor, keyboard, etc. Connect to your Rpi through a Chromebook. The cost of the Chromebook is comparable to the cost of a monitor, etc., and you will be able to use the Chromebook to effectively navigate the web. You can connect to your Rpi to Chromebook using ssh and vnc. (ssh and vnc are two fairly easy tools that allow the user to network computers. The tutorials here are sufficient.) For books, I recommend "No Starch Press". The specific titles that I am using are "How Linux Works", "The Linux Command Line" and "Practical Vim: Edit Text at the Speed of Thought". You will eventually need to learn at least two programming languages. Nobody learns Linux without learning C scripting. You'll probably want something less tumor inducing. I expect to go with Python. Many people learn Java and, the hardcore master C.

Other people will tell you that I am exaggerating. I was told the same and wasted years looking for the "simple" or "easy" way to learn. It is not easy to learn Linux. I believe that it is worth while. I expect the task to become more straight forward in the future. If nobody else writes the d**n intro to comp sci with Linux, I will - eventually. Best of Luck. Let me know if you find any good resources.
Posts: 26
Joined: Wed Apr 22, 2015 1:02 pm
by flubbard » Mon Dec 14, 2015 9:15 pm
grgc has made some very good points. As one of the "self learned," I would just recommend starting off with something simple, such as getting a Live distribution up and running on your computer and creating an ssh connection into your Pi. From there, you can expand to writing a script to play with GPIO pins, or running a simple web server.

Whatever it is, start with something simple and you will be amazed at the amount of materials available on-line. I will say that it has gotten a lot easier than it was 15 years or so ago, where you had to know about such things as "mount" points before even being able to install a system.

For starters, consider downloading and installing either a Live CD, or loading linux on a USB drive. I have reposted an old article I wrote concerning booting off a USB drive at ... -computer/

These instructions haven't been updated for the new UEFI boot systems if your computer is new and came with Windows 8 pre-installed. If it came with anything before Windows 8, you should be safe. I will try to update these instructions over the next couple of days.

Also, there are many resources and books that have already been mentioned, or go online for some basic Linux commands. I have highlighted just a few below:

Basic Command Line Navigation ... avigation/

Working with text ... with-text/

I keep these mostly as a reference for when I forget things, but they might be of some use for you.

Good Luck!
- Barry
Posts: 65
Joined: Tue Dec 08, 2015 12:41 pm
Location: Ohio, USA