17

I need to learn unix and linux, and be a professional.

Where should I start?

Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232

8 Answers8

11

To get proficient with unix, you will need to work on it regularly. Practise makes perfect.

Firstly, I would suggest that you pick a Linux distribution. Don't worry too much about picking the best one for you yet, when you are ready you will find the one. For a beginner, a distro like Ubuntu will be good enough.

Problems will arise, be ready for them. Ask questions on the web ( here on Unix SE or at other forums ), the linux community ( more correct is the "opensource community" ) is a helpful community. The more you partake in that community, the faster you will learn.

Now you will need to try and perform basic tasks on your shiny new OS. Chatting, Browsing, typing up documents, emailing, watching movies, etc. Use Linux for everything.

Be aware that Linux does have a learning curve, and that you will need to dedicate time to it if you want to become professional.

Stefan
  • 25,300
6

My suggestion would be to NOT start out with a "beginner" distro like Ubuntu. How many *nix servers have a GUI running on them?

What I did was start out with Slackware (http://www.slackware.com) and learned how to install, configure, and use a *nix system.

Slackware is a hands-on system that requires you know what you're doing to make things happen.

Lastly, if you haven't before, I'd suggest building your own PC and using Slackware as the OS for your home-brew system (also what I did).

You will learn A LOT by going this route.

If you want to take your learning to another level I'd highly suggest rolling your own system via "Linux From Scratch" (http://www.linuxfromscratch.org/).

Good luck with your educational endeavors!

~ tim

tshubitz
  • 406
  • 1
    Well, I you choose Ubuntu, you don't have to use the GUI ... Assuming that a lot of servers run Debian and RHEL they all have some GUIs in their repositories, probably Slackware as well. This kind of invalidates your first argument ... – maxschlepzig Oct 22 '10 at 21:30
  • My friend started Linux with Arch, and it works. You learn a lot, very quickly. – MadTux Aug 29 '14 at 20:10
3

I agree with Stefan and disagree (partially, see further) with tim: start out with a good desktop distro, and use it for your basic daily tasks. That will allow you to experiment and learn without having to reboot all the time (IME if you have to reboot, you just don't do it very often).

If you want to become a professional, you will have to get familiar with the underlying system though. Just like you need to know about the registry and permissions and how DLLs are loaded, etc. on Windows...

And once you're somewhat starting to get familiar with the GUI & a bit of the commandline, and you want to learn about linux/unix servers, you can run them in a virtual machine (kvm/qemu, virtualbox, vmware, ...) and ssh to them.

Then when you start to understand the commandline well, something like CRUX, Slackware or LFS is a good tool to get more in-depth knowledge about how all the parts of the OS (can) fit together.

JanC
  • 1,399
3

I think that rather than choose one particular distribution you should try out lots of them in a relatively short time; say change every couple of months or so.

This has two main benefits; you get to see different ways of doing things (eg compare Ubuntu with other distros, is using sudo rather than su really much of a benefit?) and the chances are you will get experience in sorting out rather more problems (and so learn more) than just installing one Linuxy operating system.

I'm not sure how much this will actually help: I've used several Linux distributions and am fortunate not to have had any real problems. Therefore I would suggest that you answer questions on this site (and others, such as superuser.com. I believe that there are also other sites on the internet which are not operated by the Stack Exchange team where one can answer problems posted by users).

I realise that you know very little at the moment, but by doing some research and answering questions you will learn quite quickly. Perhaps keep a few virtual machines handy in which to try stuff.

Neal
  • 498
1

You should try starting with friendly Linux distributions, like Ubuntu or PCLinuxOS.

rxu
  • 131
1

Go install Debian and try to do everything you did with whatever system you are more familiar with, and from there, go through a guide called Debian Reference. It's a basic intro to Debian and Unix concepts.

Why Debian? It's what Ubuntu and Linux Mint are based on, and those 2 are the most popular Unix-like systems out there. That means if you get familiar with Debian, you will get familiar with those two.

tshepang
  • 65,642
0

The Linux Documentation Project (TLDP) has some very useful guides.

www.tldp.org

oadams
  • 2,335
0

put a linux distribution like arch linux on your computer....you'll be forced to learn as you go in order to make the system useful...arch simply isn't useful to the complete novice.

there's no point putting off the painful lessons! the best way to learn how to fix something is to have it break...and chances are if you use a system like ubuntu, you will never even know that there are problems to solve.

i also recommend an alternative system like freebsd, you'll get a different perspective and have access to some neat features not available for linux (dtrace, zfs)

bottom line - if you want to learn about a system, install an OS that forces you to learn. if you want to use the system, install ubuntu