Learning Linux, how?

soulesschild

Supreme [H]ardness
Joined
Feb 18, 2007
Messages
6,176
A question to you all. How do you learn to use linux effectively? There hasn't really been much documentation that's easy to read through and follow (the ubuntu guide isn't too bad though, but what if I want to learn CLI?). From what I can tell, I really just have to read wikis and guides and just keep tweaking and messing with linux until I'm proficient. What about you guys?
 
Do you want to make a living from it, or just use your computer better? Most things are pretty easy to do, and when you want to do something new you can look it up at the time. The command line is nothing to be afraid of, it's like DOS with case sensitivity, and you don't need to use it very much anyhow.
 
^^ what he said ^^

really depends on what you want to do with it.

assuming you want to just mess around with it and stuff go this route:

Install Ubuntu/MintOS
>mess around with the GUI changing settings....try and break it
>>after breaking it...fix it
>>>after getting comforatble with it

Install Arch {This is installing command line.....you have to add EVERYTHING after....sound....networking cards....ect}
>mess around with it...read the VERY extensive docs on the Arch site
>>break it.....fix it.



just remember it is easier to break....harder to fix and of course WAY BETTER then Windows. Just requires patients at first.

Welcome to the awesome world that is linux.
 
The key from the above posts is "patients" (also known as patience ;-) ). You're switching OS's and you don't have any clue how to get done what needs to be done. That's fine. Just slow down and whenever you need to do something that you don't know how to do, just google it.

Pretty quickly you'll start to put the pieces together and realize the "Linux way" to do things and one bit of information will feed into another and things will line up for you.

Personally, I spend the majority of my Linux time in a terminal because it is more powerful and allows me ultimate control over what I'm doing.
 
From what I can tell, I really just have to read wikis and guides and just keep tweaking and messing with linux until I'm proficient.
Barring a flash of divine inspiration, how do else are you going to learn? This applies to anything - not just Linux.

Whenever possible, avoid GUI tools and work at the command-line & edit config files by hand. Read through the guides and HOWTOs over at TLDP. Learn to read a manpage. Unless you're working on a production server, don't be afraid to break things (but always have a backup available).
 
Unless you want to learn linux for server or enterprise applications there's no need to avoid gui tools. For desktop linux there's no real need to learn to use the terminal anymore.

If you want to then more power to you otherwise grab a live cd of ubuntu or mint and go to town.
 
Unless you want to learn linux for server or enterprise applications there's no need to avoid gui tools. For desktop linux there's no real need to learn to use the terminal anymore.

If you want to then more power to you otherwise grab a live cd of ubuntu or mint and go to town.

I can't agree with this as a blanket statement. There are a lot of situations (eg, bulk rename of files, searching for text strings, etc) that an average user might want to do that aren't cover by production quality tools in the GUI.
 
I can't agree with this as a blanket statement. There are a lot of situations (eg, bulk rename of files, searching for text strings, etc) that an average user might want to do that aren't cover by production quality tools in the GUI.

Even the 2 examples you gave are something most people will never need to do so I stand by my original statement. And even if you do need to so that hardly justifies learning how to use the terminal. Google what you need on that rare occasion and copy paste the commands.
 
Even the 2 examples you gave are something most people will never need to do so I stand by my original statement. And even if you do need to so that hardly justifies learning how to use the terminal. Google what you need on that rare occasion and copy paste the commands.

Googling isn't exactly the same as learning though is it?

The OP has said he wants to learn Linux. Just pointing and clicking things doesn't teach a whole lot about Linux, it just teaches you how to use it to do the same as you already are on a desktop. If you want to learn how it works, and how to break it, fix it, remotely manage it, and do all sorts of other useful tidbits of information (them ones which could help you get paid more if you are in IT), the terminals the way to go.
 
I became a sort-of-Guru with a Linux bible and HOWTOs. Back in 98, that's all there was: work it out on your own and/or join a Linux chat room and/or mailing list.
 
When I was in school our lab had Solaris boxes and that was my first exposure to a Unix-like OS. Now I use Linux (Ubuntu) every day. It is what is loaded on my work PC for doing development.

Learn by immersion I guess.

I can't agree with this as a blanket statement. There are a lot of situations (eg, bulk rename of files, searching for text strings, etc) that an average user might want to do that aren't cover by production quality tools in the GUI.

I agree with this completely. I try to stick to GUI land whenever possible but there are some things that are just easier in a terminal.
 
You learn how to use Linux by using it.

I knew very little about Linux a week or so ago, but I just installed an Ubuntu server (command line only, no GUI) and configured Apache, PHP 5, MySQL, PHPAdmin, vsftpd, Webmin, a mail server with Squirrel mail, and a bunch of other goodies. Then I went through and secured it all by changing ports around, setting privileges, and so on.

Along the way a LOT of little problems have come up, some of which I solved through Google, some of which I worked out on my own. As I get better with it, I have to turn to Google less and less, because I understand what's going on and can logically work out where the problem most likely lies.

Just jump in dude. Worst you can do is royally eff it up and just reinstall Linux and try again. A command-line LAMP server is a great place to start. I wouldn't focus on the GUI too much until you've got the command line under control.
 
1) Install Gentoo
2) Enjoy it for a day or two.
3) Start playing around and tweaking.
4) You broke it? Start over.

Repeat until you know all there is to know.
 
I wouldn't focus on the GUI too much until you've got the command line under control.
No truer words ever were spoken. Different people use different GUIs for linux. The command line (generally) works across all distributions. To REALLY learn the ins and outs of linux, I'd go with a very user-UNfriendly distribution like Debian. Grab the bare-bones install-from-the-net CD .ISO, burn in, and go. With a general understanding of computers, you should be able to make it through the install process and be dumped at a bash prompt.

From here, attempt the following (in order of difficulty):
1) Create a new user
2) Install a NIC and try to get it working
3) Make a windows network share and connect to it from a windows box
4) Set up a web server

By the time you're done with number 4, you'll understand command-line editors (vi, emacs), how linux handles configuration of software (.conf files), how to compile and install programs, what each directory is used for, how linux handles permissions, and why it's a good idea to not buy no-name hardware for linux :) Needless to say, Alt+Function Keys will be your best friend. (Switches between multiple terminal "windows") Avoid apt-get if you can. It's an AMAZING tool, but it won't help you learn the nitty-gritty behind linux.

At this point, you'll have a decent entry-level understanding of how linux works. Now it's time for a GUI. No, nothing as fancy as Gnome or KDE. Go with a simple, barebones GUI. Use Fluxbox or Blackbox or something like that. Spend hours upon hours learning the ins and outs of the X11 windowing system. Get pissed off at nVidia for their drivers not working right. Read the internet. Realize it's a user error. After a couple of days, you'll have a working GUI. You can now have multiple terminal windows open at once. From here, work out whatever you didn't fully get earlier. Now install IceWeasel (Firefox). Now OpenOffice. Now try to get your sound card working. Install an mp3 player. Install BitchX (IRC client).

At this point in time, you have a limited, but functional machine, capable of doing the majority of tasks most end-users will do. You also have a firm grasp of how to install and use linux, and an idea of where to go when something goes wrong.

Now wipe it out and do it again. What took you a week earlier should take you a day. Now switch distributions. It'll take you 3 days because of the differences. Switch to another. And another. Find the one that works for you.

You are now the "average" linux desktop user. From this point on, it's up to you what you want to learn about.
 
I think people who say that the only way to learn Linux first is through the terminal are those who just want to force their caveman logic onto beginners "if I had to learn it this way, you have to also". It also could be some elitist who just want to make it as hard as it can be for new people so they can maintain their superiority.

One of the best lines I've ever read here was "You didn't learn how to use dos before you learned Windows" or something like that. I believe that the same thing can apply to Linux distro's. The command line is incredibly annoying and difficult for new users. At least with a GUI they can get stuff done while learning the command line.

Why spend all the time developing the GUI when the hardcore guys who don't need it won't even use it to begin with? The GUI is FOR beginners.
 
I think people who say that the only way to learn Linux first is through the terminal are those who just want to force their caveman logic onto beginners "if I had to learn it this way, you have to also". It also could be some elitist who just want to make it as hard as it can be for new people so they can maintain their superiority.

One of the best lines I've ever read here was "You didn't learn how to use dos before you learned Windows" or something like that. I believe that the same thing can apply to Linux distro's. The command line is incredibly annoying and difficult for new users. At least with a GUI they can get stuff done while learning the command line.

Why spend all the time developing the GUI when the hardcore guys who don't need it won't even use it to begin with? The GUI is FOR beginners.

Exactly, all the desktop distros are busting their asses to move as far from the terminal as possible and you still have these old schoolers telling new people to learn the damn thing.

We are at a point where its just not necessary. If a beginner ever even needs to use the terminal its to copy paste something he read on a blog/forum etc. and last i checked you dont need extensive knowledge of the terminal to click copy and paste.

The old thinking needs to die. If you want to learn to use desktop linux the terminal is not necessary.
 
We are at a point where its just not necessary. If a beginner ever even needs to use the terminal its to copy paste something he read on a blog/forum etc. and last i checked you dont need extensive knowledge of the terminal to click copy and paste.
.

If things are _so_ easy that anyone can do it via the current GUIs, then why does a newbie even need to be able to copy-paste into a terminal from a site/blog at all? Why not just get rid of the terminal altogether?

The terminal wouldn't still be there if there wasn't a need.
 
If things are _so_ easy that anyone can do it via the current GUIs, then why does a newbie even need to be able to copy-paste into a terminal from a site/blog at all? Why not just get rid of the terminal altogether?

The terminal wouldn't still be there if there wasn't a need.

I said if they ever even need it. I didnt say they would need it now did I? The terminal will always remain even windows 7 still has the command prompt.
 
One of the best lines I've ever read here was "You didn't learn how to use dos before you learned Windows" or something like that.
Yes I did. Damned young whippersnappers. Know your roots! I still use cmd all the damned time. (ipconfig, ping, etc)

I believe that the same thing can apply to Linux distro's. The command line is incredibly annoying and difficult for new users. At least with a GUI they can get stuff done while learning the command line.
It is possible to do maybe 75% of the things you need from the GUI. But the real power behind linux isn't in it's whiz-bang GUI, it's in the command line, and that's why people suggest you start there. I dare you to perform the following tasks without using the terminal at all:

1) Install, configure, and run an apache/mySQL/PHP server. (Bonus points: Multiple virtual hosts)
2) Install the nVidia "drivers" for a graphics card.
3) Replace every instance of a line of text in 20 files with another line. (Long story involving a bad coder (me))

There's probably a few other things, but I can't think of them right now. The reason I recommend starting from the prompt is because THAT'S linux. Linux is not Gnome, KDE, or whatever other window manager you use. What if you get used to Gnome, then get a job that uses KDE? You've got to relearn how to use your computer. Alternately, if you knew the command-line, you could jump right into the new system and start getting work done.
 
I dont think anyone is arguing the usefulness of the command line. I simply dont see the necessity for new users to go out and learn how to use it. Desktop linux has been and still is moving away from it and its not going to be making any comebacks.
 
I dont think anyone is arguing the usefulness of the command line. I simply dont see the necessity for new users to go out and learn how to use it. Desktop linux has been and still is moving away from it and its not going to be making any comebacks.

Eh most can be done with the GUI, but I have to agree with TeeJay. If you want a truly customized Linux system will you have to drop to the command line at some point even as an end user.http://hardforum.com/member.php?u=101288
 
One of the best lines I've ever read here was "You didn't learn how to use dos before you learned Windows" or something like that. I believe that the same thing can apply to Linux distro's. The command line is incredibly annoying and difficult for new users. At least with a GUI they can get stuff done while learning the command line.

I can't see how that can apply whatsoever. Windows nowadays isn't built on top of DOS, it's a whole different kernel. Linux nowadays however is a headless install of the kernel, with a GUI on top. It's a completely different way of doing things.

If you learn the command line in Windows, you aren't learning how to do what you can do with a GUI in Windows, because half the stuff in the GUI has no CLI equivalent. If you learn the command line in any *nix based system, you are learning the OS, because you are doing 100% of what can be done in a GUI, as the GUI is merely controlling the same processes that you are.

Sure, the CLI is annoying and difficult for new users, but what is the OP going to learn by installing something with the help of a GUI, then going in and typing in Google into the browser? Oh great, it looks a little different. Massive learning. The only thing different you'll be learning is the icons are in a different place, and Pidgin does IM, Evolution does Email, Gedit does editing within Gnome etc. You aren't learning what Linux is.

My server at home runs a GUI (Fedora based, it's not mission critical so I dont mind running bleeding edge distros on it), for when I want quick access to something, but if I'm not in the same room/house/county, I merely jump in via SSH, get what I need, and I'm done. I cannot do that if I've only learnt the GUI side.
 
"You didn't learn how to use dos before you learned Windows"

Ewwwwwwww! What stupid kiddie said this?! I couldn't have USED Windows without knowing DOS!

"The command line is incredibly annoying and difficult for new users"

Lazy noobs. I was learning DOS at 11 years old.
 
Last edited:
One of the best lines I've ever read here was "You didn't learn how to use dos before you learned Windows" or something like that. I believe that the same thing can apply to Linux distro's. The command line is incredibly annoying and difficult for new users. At least with a GUI they can get stuff done while learning the command line.

Learning the command line means learning the underlying reason things work. The command line, in Linux that is, is its greatest feature IMO. Remember, Linux was built to process data. You don't need flashy stuff for that. In an envoirnment where you are dealing with lots of data, shell scripting and perl scripting are insanely handy and do not require 32 Million colors to be extemely productive.

DOS wasn't easy to learn back then either, but I am very greatfull that I was forced to learn about IRQ's, DMA's, boot disks, drivers, partitions, file structors, etc. Its made me much more aware and helped me immensly when I arrived in the workplace and encountered Linux/Unix. And all that just because I wanted to play some Duke Nukem 3D.
 
I wanted to better explain why the Terminal is so coveted in Linux/Unix. As a average private individual,I do whole heartedly aggree that the console is not very interesting. But let me provide you with an example* that will shed light on why we hold it so dear to our hearts.

Say you work at Jet Propulsion Laboratory and the manufacter of one of the thrusters on the Space Shuttle says it can only have 40 hours of usage on it before it must be over hauled. And there is a giant log file that is generated that contains every action of the Space Shuttle flight systems. And in that log is an entry that looks something like this

01142010 07:15:37 /@/ Thruster Nozzle Activated *** GFHSGS *** Duration 6 seconds System Nominal

Because politicians and bean counters dont understand your job, your storage space is severely under budgeted and as a result every night at midnight that big log file gets deleted. So before that log file is deleted you want to catch the time stamp of everytime the thruster was used and for how long and save it to another specific file. You then want to see total time accrued on the thruster so far from the secondary log file you have and email the results to a mailling list.

With a simple little shell script or perl script all that could be executed, take 5 seconds to finish and could be set to run every 24 hours automatically, or you could run it at will anytime you please. And because its at the console level,it doesn't matter what version of Linux you have, it will work on all of them.

Now an example like that might seem a little out there for someone like a home user. But let me tell you situations like that occur thousand of times a day around the world at all different kinds of organizations. And the simplicity and power of the console to deal with stuff like that is what makes it invaluable.

*example created for dramatic effect, any relation to real actions whether current or previous is purely coincidental :p
 
Best way is to fuck it up. I had been using linux for some time and knew my way around, I had installed gentoo and learnt more in that weekend than I had in the 4years before with RH&Mandrake.

BUT I really learnt when I screwed something up and wasn't going to go through re-installing gentoo

While at uni with Mandrake while poking around to learn may way around if it got screwed up a 30min re-install was meh.



Its like how I learnt alot about windows, 1st was at uni when a mate screwed up his machine and had no recovery disk and for some reason the mouse didn't work (damn I got good at windows shortcuts :D) and again at work when one of our machines that controls a big bit of equipment got screwed up and we had no relevant image I was working in the recovery console extracting cabs and stuff for hours to get windows to actually self-repair
 
Back
Top