Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
One of the greatest advantages that pops to mind is that when you launch an application from within the GUI menu and it errors out it might hide error information from you. If you launch that same application from the command line, not putting it in the background and not redirecting anything you can see a lot more information on what's going on. That's just one, I'm sure other users will provide you with a lot more arguments.
First of all, you don't have to like 'vi' just because you use the terminal.
Personally I love the terminal & I hate vi - probably because I never learned it!
What's good with terminal:
You do things fast & accurately, from one single place you have everything at your fingertip!
Issuing a command is so much faster than pointing & klicking through a GUI. Also you have a command-history to show what was previously done, seldom present with GUI:s.
- But of course, you must have knowledge, if you know "nothing" you need to "have a look" so to speak.
Think of a computer as a restaurant:
When you go to a restaurant, do you need a pretty menu?
- Yes, if you're seldom there and don't know what they've got.
- No, if you're often there and already know what's on the menu.
Also, consider this:
If you need to guide someone, let's say "how do I move my jpeg-files from one directory to other directory?"
Open konqueror ("explorer"), click yourself through the directories until you reach the target, right-click, select "*.jpg", right-klick, select "cut", move to destination, right-click, select "move here" (taken from memory this, please don't hang me!)
# mv target-directory/*.jpg destination-directory/
Seems a bit easier, doesn't it?
And I would like to add:
When I use my computer for work or leisure I almost always use GUI:s. (After all, games like Civilization are pretty useless without GUI if you ask me, creating good looking broschures is easier with GUI-apps as you can then see what the broschure actually will look like, etc).
But when I need to configure system, when I administrate servers, or when a GUI-app doesn't work ( like EricTRA hinted ) then I use terminal. Quick -fast - informal. NOT beautiful (who cares, I am!
GUIs certainly have a place - on a single user system that needs a simple control system or where graphics are needed - as you say games, publishing etc would all be pretty tough without a GUI. Lots of people prefer GUIs as they are far more intuitive to use and provide a visual metaphor for working with files, applications and so on.
In saying that, command line certainly has a place too. I work for a very large bank and my little team (one of the smallest in the bank) manages around 1000 servers - mostly Red Hat and some legacy Solaris, and we are just a tiny percentage of the overall bank. There's just no way we'd want to try to manage that many server with GUIs. By using command line tools such as ssh, shell scripts, perl, and so on, we can successfully keep a handle on our estate, monitor for problems and perform maintenance and upgrades in a far more effective way.
Ultimately it comes down to a mixture of personal preference and need. There's no "better" choice here, what suits me in one scenario might not suit you in another.
When things go wrong I instinctively go to the command line. To me it is the way things get done. Of course the GUI is necessary for a lot of things but panic takes me to CLI every time. And there is a certain satisfaction knowing I can rip and burn a DVD without a GUI program. A lot of GUI programs are just frontends for using several command line programs at once without typing anything out. As EricTRA said an important advantage of the command line is if errors occur you can see immediately and that makes it a lot easier to know how to fix whatever is causing the error. Also if the GUI relies on a certain program to perform a certain task doing whatever it is doing and that program misbehaves you're out of luck, but with the command line you can usually find another program or a workaround to get that done.
Or even simple things like a major change in ones network infrastructure. Imagine
changing IPs for 200+ clients in DNS & DHCP reservations via GUI.
Let's give you (and your OS) the benefit of the doubt and say you can do one change
in 20 seconds using the GUI.
You'd be busy for the best part of 2-3 hours.
In the CLI (assuming you use bind9 & ISC dhcpd) it would take me about 2 minutes
of contemplation, two sed commands typed up in ~ 30 seconds, and a service restart.
Saved 1:57h ... that's why CLI rocks your socks ;}
1. The command line is faster.
I cringe every time I have to use windows at work. Aside from being slow as hell, it's just a pain navigating the menus. Theres nothing more frustrating than hunting through menus when you know exactly what you are looking for, you just cant find it.
It's much easier to just type the name of the file and be done with it.
2. The command line is quite complete.
I don't like having programs on my machine I don't need. Understanding how to use command line programs can eliminate a lot of unneeded software. For example the 52k program dd can take the place of gigs of software if you know how to use it.
3. The command line is extremely powerful.
There are so many things that you can do in one command line that people pay small fortunes in gui software to do.