PDA

View Full Version : Do you think it's important to focus on learning command line information?



Chris Edgell
December 6th, 2009, 03:31 AM
I had begun to focus on learning about command line "stuff" and then when I saw that that seemed to be trying to learn how to be a computer programmer, in a way.

One day I thought, "That's too big. I think it might be better to try to grasp one area at a time, for example how to burn a CD, and then if I get stuck, to turn to forums if I need specific instruction for the terminal."

So, what do you think?

whoop
December 6th, 2009, 03:36 AM
I had begun to focus on learning about command line "stuff" and then when I saw that that seemed to be trying to learn how to be a computer programmer, in a way.

One day I thought, "That's too big. I think it might be better to try to grasp one area at a time, for example how to burn a CD, and then if I get stuck, to turn to forums if I need specific instruction for the terminal."

So, what do you think?

Most important is: what do you want? If you want to learn, go for it (you have the motivation). If you don't want to learn, ubuntu can be (maybe should be) manageable without (experienced) terminal knowledge. If you get stuck people should be able to help you most of the time (by asking questions and telling you what to do). If no one can help you chances are that personal terminal knowledge won't help you much either.

Another way to look at it is, how do you view yourself? In my opinion linux is just starting to get adopted in "home" environments (on a larger scale). This means that people that just want to "use" a computer are (getting) able to use linux. A (still) large portion of the linux community likes the "hacking" (experimenting, testing, tinkering, breaking/fixing, having fun) part of it.
If you feel that you are a part of or want to be a part of the latter, experienced terminal knowledge is required...

sgosnell
December 6th, 2009, 04:46 AM
Doing command-line stuff is nothing near computer programming. We once had to do all this in DOS, it was the only way to do anything with a computer. Now, you can do pretty much everything you want through a GUI, without ever even bothering to open a terminal. The terminal is the same thing as the Windows cmd.exe, which many Windows users don't even know exists. The average Linux user seems to be more knowledgeable than the average Windows user, and the more you know, the more you use the command line to get things done quickly and efficiently. But it's not the only way to do things, and you don't have to use it if you don't want to. Some things are easier to do with a GUI, and some things are easier from the command line, but they can all be done either way, it's simply a matter of choice. If you don't want to learn to use the command line, then don't. It's not a character issue, it's just a matter of personal choice.

Chris Edgell
December 6th, 2009, 04:56 AM
Thank you both for these responses. Yes, I liked reading those sentences about GUI. That's just the opening of the subject, the opening of my mind, that I wanted. It becomes a little clearer that there are many things to learn and that the terminal area is just one area of many.

You see, I AM looking for an overview...there's so much to learn to do. Do you like the idea of learning one thing at a time based on need to know?

I probably made you laugh about the computer programming comparison.

whoop
December 6th, 2009, 05:30 AM
Doing command-line stuff is nothing near computer programming. We once had to do all this in DOS, it was the only way to do anything with a computer. Now, you can do pretty much everything you want through a GUI, without ever even bothering to open a terminal. The terminal is the same thing as the Windows cmd.exe, which many Windows users don't even know exists. The average Linux user seems to be more knowledgeable than the average Windows user, and the more you know, the more you use the command line to get things done quickly and efficiently. But it's not the only way to do things, and you don't have to use it if you don't want to. Some things are easier to do with a GUI, and some things are easier from the command line, but they can all be done either way, it's simply a matter of choice. If you don't want to learn to use the command line, then don't. It's not a character issue, it's just a matter of personal choice.

Although I fully understand where you are coming from, I cannot agree with you in full.
It's not fully a matter of choice in my opinion. You cannot use a (general) GUI on a machine without X running on it, there are allot of machines out there without X (on purpose), and they are here to stay. Also not everything you can do in terminal you can do with a GUI (also vice versa). Furthermore it's (often) impractical to automate processes performed with a GUI, this is easy in the command line.
Although you are not stating this directly, as I read your comments it gives me the idea that command line is the old way, and GUI is the new way. Maybe that is true for people moving from DOS to windows desktop, but not for operating systems in general.
The command line in windows (and DOS) is not really comparable with the older pre-emtive multi-user multi-tasking UNIX command line environment (it is very much comparable with the linux command line). Microsoft even adheres to this as Windows Server 2008 core can run without a GUI, and Microsoft created more functionality in there own command line interpretation to make it more usable.
Lastly, if you know how to perform tasks via the command line, you can be productive on machines with and without a GUI, if you only know the GUI you will have trouble using machines without a window manager. Although you can install a window manager on ubuntu server, it comes without one by design.

cariboo
December 6th, 2009, 06:26 AM
This really isn't a support question, so I moved it to the Cafe.

openuniverse
December 6th, 2009, 06:34 AM
.

chucky chuckaluck
December 6th, 2009, 06:41 AM
i don't think you have to focus on it, but it's good to learn some of it and you don't have to learn it all at once. i think learning the basic stuff is probably a good idea.

here's a tutorial if you're a total newb - http://linuxsurvival.com/

Chris Edgell
December 6th, 2009, 07:24 AM
It's been good hearing these many thoughts on the subject.

Now about this tutorial you recommend, Chucky, maybe you can tell me this, since I'm always worrying about downloading too much stuff. How can I find out how much space I have? How can I find out how much space this Java plugin and this tutorial use?
(Will this be a terminal use answer? I have followed instructions for using "it" before.)
Thanks all.

Frak
December 6th, 2009, 07:53 AM
Doing command-line stuff is nothing near computer programming. We once had to do all this in DOS, it was the only way to do anything with a computer. Now, you can do pretty much everything you want through a GUI, without ever even bothering to open a terminal. The terminal is the same thing as the Windows cmd.exe, which many Windows users don't even know exists. The average Linux user seems to be more knowledgeable than the average Windows user, and the more you know, the more you use the command line to get things done quickly and efficiently. But it's not the only way to do things, and you don't have to use it if you don't want to. Some things are easier to do with a GUI, and some things are easier from the command line, but they can all be done either way, it's simply a matter of choice. If you don't want to learn to use the command line, then don't. It's not a character issue, it's just a matter of personal choice.
As a programmer, shell scripting and programming go hand-in-hand, especially when developing UNIX-compliant programs.

openuniverse
December 6th, 2009, 08:33 AM
.

rebeltaz
December 6th, 2009, 08:33 AM
How can I find out how much space I have?

In Terminal type:


df-h

This will report the free space available in human (ie the '-h' switch) terms.

Chris Edgell
December 6th, 2009, 02:30 PM
Oh, very good! I thank you both.

chucky chuckaluck
December 6th, 2009, 03:18 PM
It's been good hearing these many thoughts on the subject.

Now about this tutorial you recommend, Chucky, maybe you can tell me this, since I'm always worrying about downloading too much stuff. How can I find out how much space I have? How can I find out how much space this Java plugin and this tutorial use?
(Will this be a terminal use answer? I have followed instructions for using "it" before.)
Thanks all.

oh, i forgot it needed java (it's been about four years since i've used that tutorial). i used it on an old piece of junk that only had a 10gig hard drive. on arch the total installation size for jre is 110mb-ish.

mivo
December 6th, 2009, 04:23 PM
You don't need to become an expert at using the shell, but some basics are incredibly helpful and help with so many tasks. Even Windows 7 comes with a very usable shell now (PowerShell), so it's not some outdated thing of the geeky past. :)

sgosnell
December 6th, 2009, 06:42 PM
Yes, there are systems that have no X system running, but they aren't usually used by novices. My impression was that the OP was running a desktop system at home, and just learning how to use Linux. He is not likely to need to run a pure command-line server in the next few months, so there is no necessity to become highly proficient at it that soon. Easing into the command line should be sufficient.

I don't believe, or mean to imply, that the command line is the 'old' way and the GUI is the 'new' way, just that the command line was the 'only' way once upon a time, but that time has long passed, at least for the average user. It's good to know one's way around the command line, because it's more efficient for some things, but it's not absolutely essential to be an expert at it. Better, yes, but not essential. One can move to the command line at whatever pace is desired.

Writing scripts is not quite the same thing as using the command line for short, quick tasks. Similar, yes, but not identical. Writing Linux scripts is certainly an aspect of programming, but it's not quite the same thing as writing C code. But that's all semantics, and I really won't quibble with anyone's opinion.

What I really meant to convey is that being a command line expert is not required in order to use Ubuntu or most other mainstream Linux distros. It helps, but one can certainly get by with a GUI to perform the tasks most users need done.

If you want to learn to use the command line, this tutorial (http://www.linux-tutorial.info/modules.php?name=MContent&pageid=224) should help. It will take awhile to wade through it, but it will teach you the Linux command line.

Chris Edgell
December 7th, 2009, 01:13 AM
sgosnell, I can't remember your wording in your first response, but your message in this post is so clear I can almost call it beautiful. It is simply the perfect answer to me for my question...although I truly loved the entire unfolding of the information and knowledge on this subject...I'm not trying to wax poetic, it's just so ideal -- the way the answer came to me clear as a bell.

I thank you all!

ticopelp
December 7th, 2009, 02:50 AM
There are things I find quicker to do in the terminal, like editing certain config files, running top, and installing software... just typing sudo apt-get install <package> is much faster to me than booting up a GUI, authenticating, running a search, clicking ok, etc. The terminal is quick and powerful, but it's also rather unforgiving, and you have to be careful, especially with things like the rm command.

Fortunately there are lots of resources, like this command line cheat sheet (http://fosswire.com/post/2008/4/ubuntu-cheat-sheet/), to help you out.

So if you think you will get actual utility out of it, I say learn some command-line stuff... if it's daunting to you and you don't need it, then my advice would be don't worry about it.

toupeiro
December 7th, 2009, 02:58 AM
I think that its incredibly important to be comfortable with some command line basics when in ubuntu. e.g, apt-get, sudo. the dangers of rm -rf and so on and so fourth. I don't think EVERYBODY needs to be a shell guru, but to understand how to open a file for editing, copy a file, move a file, and delete a file at the command line are I would say fundamentals. Apt-get and sudo would be a close second.

What I don't get is, its not going to HURT you to learn these things, and they are very simple and common across ALL distributions (with the exception of apt-get). They are just going to make your use of linux better over time.

Chris Edgell
December 8th, 2009, 05:33 AM
I don't understand your wording, "what I don't get is, it's not going to hurt you to learn etc..."

My real question was, shall I focus on learning all that....

Now after having been through the very interesting and informative posts here in response to my question, I have seen through the limited perspective of my view; it was worded as too much all or nothing. Now I can see, as you toupeiro have brought out, that I can learn basic ones and move out from there.

As I have stated elsewhere, I have gotten a little clearer on the concept of terminal commands, GUI etc.

LinuxFanBoi
December 8th, 2009, 05:47 AM
Scripting and programming are two different things. Though a script can and often does incorporate logical conditions similar to many language syntax, they are not the same. There are some really nifty things you can do with scripting.

GUI's, Command lines, Scripts and programming languages all exist as many tools in a tool box. For each job there is a proper tool. For very small tasks there is the point and click of a mouse. For doing tasks that could ultimately require hundreds of clicks of the mouse, you can often enter a single command line a mere 10 or 15 keystrokes long. If you need to do something over and over, that you don't want to attend to, you write a script. For larger applications that have possibly thousands of unique conditions and may need to be run on multiple platforms, you write a program so it's portable.. what works on bash may not work on a computer running another shell.

I believe you should learn as much about your computer as is practically possible. No harm can come from knowing more today than you did the day before.

cariboo
December 8th, 2009, 05:48 AM
There is a great unix/linux command cheat sheet located here (http://fosswire.com/post/2007/8/unixlinux-command-cheat-sheet/), just click on the image to download the pdf. It was written by our own jpeddicord.

witeshark17
December 8th, 2009, 05:48 AM
Here's a helpful list of CL commands (http://ss64.com/bash/) ;)

mamamia88
December 8th, 2009, 05:54 AM
for me it's not very important at all. the only time i ever use it is when i need to edit sources.list or grub menu

LinuxFanBoi
December 8th, 2009, 06:04 AM
I consider myself to be moderately knowledgeable about Linux, And I think many others are with me when I say this. I cant remember every single Bash command, so when I really need them I look them up. Chances are good that your more obscure shell commands are used only on rare occasions or in a script and looking them up to use them will still be more efficient than a GUI method, if there even is a GUI method to do that rare out of the way task.

Most beginners guides for learning to use a shell will start you out with the most common things you need to know. Eventually, you will be opening up terminals to do things and you may even have days when you push the mouse out of the way.

toupeiro
December 8th, 2009, 08:03 AM
I don't understand your wording, "what I don't get is, it's not going to hurt you to learn etc..."

My real question was, shall I focus on learning all that....



I was struggling to find the right words to relay my basic philosophy I apply to just about anything computer related which I hold a general or deep interest in. It's the same philosophy I've applied to computers since I was seven years old, before I even knew what a philosophy was. Learning about something you have a desire to use is never a bad thing. Even if you know one way to do something, it never hurts you to know another. In fact, knowing multiple ways to do something, you will find, will save your *** more often than not. :) KDE. Gnome, or your Window Manager du jour all run on top of your Command-Line Interface based operating system. You're only behooving yourself by getting familiar with it. As you learn it, you will find yourself using it more and more. There's no reason to aim to become an expert in it, or to try to prove that you can exist exclusively in the command line for day-to-day general computing. To me, that serves no purpose at all, because its not practical with the expectations of modern desktop operating system interfaces. You don't need to be an admin to be a linux user, but you also don't need to be an admin to use the command line. Learn how to use it and make it a part of your environment. Make it complimentary to the way you work. In the end, you'll be glad you invested the time.

Cheers!

-T.

The_Pirate_King
December 8th, 2009, 08:28 AM
Learning the command line isn't learning to become a programmer. Programming languages are often much more complicated than the simple commands you put in the terminal.

I think learning to use the terminal is a great skill to have. It will give you a much better idea of how an operating system is constructed than by using the GUI interface.

Bodsda
December 8th, 2009, 08:42 AM
Hmm, I was expecting to read this thread and see a lot of people preach the way of the GUI and then one or two members defending the way of the CLI. It seems like people are becoming more open to the view of using what is right for them and also using what is right for the job.

I personally think that the command line is an incredibly valuable tool and as such I have one of my monitors dedicated to a terminal (usually with four or five tabs).

There are some things that are easier to do via a GUI, such as configuring compiz or browsing the web. There are also some things that are so much easier through the terminal, such as installing software, managing files, mounting ISO's and other media etc.

I personally believe that there are some things that should not be done through a GUI. My pet hate is a GUI configuration tool. The Linux file system is file orientated. Everything is a file, and as such, a lot of its configuration is in plain text files. This is great, it allows for easy understanding and the ability to easily script with config files. But once you start letting a graphical program make these changes for you, you loose everything. You forget where the config file is located, you forget the correct syntax for that file, you forget what it should look like. You are know at a stage that if that GUI program does something wrong, you cant reverse it because you don't know how that file works. I much prefer the idea of manual editing or scripted editing, where you write a script to toggle an option that is defined in that file.

I recently purchased some VPS hosting and had it not been for my exposure to the command line, I would now have a useless server.

On the other hand, try and watch a DVD with no X system and your screwed :)

Jive Turkey
December 8th, 2009, 08:46 AM
In Ubuntu it is decidedly optional to use the command line at all. For me however one of the first things I do on a fresh install is map a keyboard shortcut to open a terminal window.

The number one thing that will hep you understand the command line are the <command> --help, and man <command>, and the info pages. They give examples of the commands with a certain grammar that specifies optional arguments and where the options belong. Learning this grammar will accelerate your understanding of any command line program.

You wont regret learning to use it, and its more satisfying in my opinion seeing hundreds of lines of text flying up the screen than a slow moving progress bar on a gui.

toupeiro
December 8th, 2009, 04:52 PM
In Ubuntu it is decidedly optional to use the command line at all. For me however one of the first things I do on a fresh install is map a keyboard shortcut to open a terminal window.

The number one thing that will hep you understand the command line are the <command> --help, and man <command>, and the info pages. They give examples of the commands with a certain grammar that specifies optional arguments and where the options belong. Learning this grammar will accelerate your understanding of any command line program.

You wont regret learning to use it, and its more satisfying in my opinion seeing hundreds of lines of text flying up the screen than a slow moving progress bar on a gui.

I think Jive_Turkey is right. It is decidedly optional, in ubuntu, to use the command line at all. However, it is not decidedly optional in other linux distro's.. I think the key point in several peoples responses is, learning the commandline in a basic fashion serves many more benefits than problem points, and you should use it to compliment your use of ubuntu, to make specific tasks easier, if they are indeed easier at the CLI, while keeping the nice functionality of a GUI at your disposal for things best suited for a GUI.

sgosnell
December 8th, 2009, 05:03 PM
Instead of mapping a hotkey to open a terminal, I prefer Tilda. It's more versatile, IMO, and I prefer it. Different strokes, though.

@toupeiro: You might want to check the definition of 'behoove'.

Chris Edgell
December 8th, 2009, 06:01 PM
It has been such an enjoyable and informative discussion--so many of the ends - and - outs clarified so clearly.

I didn't realize that I hadn't dropped in on this thread for some time, and I was so pleased to see how it had added layers of more informative comment.

toupeiro, your response to my "what I don't get is..." question was such an elegant explanation of where you're coming from...I loved every word of it.

witeshark17, what a great A-Z list of commands for/in Bash, I'll hang on to it.

Yes, Cariboo, thanks for bringing up the marvelous Mr. jpeddicord, I'd been to that site and had let it slip my mind.

Bodsda, loved your post

The_Pirate_King: it was nice to see you here...

and to sgosnell, last here, but very formost in my mind on this thread, thanks for all...(Please tell me about Tilda. what it is, why preferred, where to get it???)

And my last comment here: sgosnell, you have caused me to go to the dictionary because I pride myself somewhat on having an intuitive sense of when a word is used wrongly, if I know the word at all. I had no knee-jerk when I read "behoove". Since you did, and mentioned it, I was pleasantly curious, about MY lack. I was surprised that the first meaning is to be necessary or proper for, as for moral or ethical considerations. The second meaning is more along the lines that I had always regarded that word: to be worthwhile, as for personal profit or advantage. While the third is to be needful, proper, or due. The root is pretty much..needful. I didn't mind getting a fuller view of this word although it seemed a trifle pedantic to be thrown into the good time we've been having here. (Not to sound critical of you, I respect you greatly in the way you express yourself, and I myself would not like to strike a sour note on this grand piano.....)

gn2
December 8th, 2009, 07:40 PM
No, I don't think it's important at all.
The only three commands I use with any regularity are:

sudo apt-get install <package name>
get_iplayer <name of programme>
get_iplayer --get <###>

That's it, those three simple commands are the only ones I've needed to memorise in four years of using Linux.

sgosnell
December 9th, 2009, 01:08 AM
Tilda is in the repositories. You can use the command line to get it with "sudo apt-get install tilda", or use Synaptic, whichever you prefer.

I realize I was being a bit pedantic, but the use on the post was confusing, I thought, and I just thought it was worth noting. Maybe not. I do tend to be a little pedantic about word usage sometimes. Don't let me even get started on a rant about adding an apostrophe and 's' to make a plural, or the improper use of there, their, and they're, and about a dozen other common errors.

[-X]

](*,)

:rolleyes:

Chris Edgell
December 9th, 2009, 02:03 AM
I'll have to go back and find it again, I remember seeing it and as I said, didn't have that gut feeling..."wrong word". Oh, yeah, "You're only behooving yourself..." I gotta' think about that one, now that you mention it. How do you like all the words where they're using nouns as verbs like joy. Joy me! It is getting so fluid I'm afraid of the loss of communication skills. (Do you want to discuss that sometime?)

"Don't even get me started..." lol
I have mine too, but it's funny, I find that I may get pedantic with one and right away someone spots an error I make.

One of mine is there's for there is in cases where it should be there are...
but don't get me started. But I'm getting lax too and sometimes I must say, I just don't care. My church is so multi-cultural, so international...it's just the least of my worries.
Not to imply that you are worrying too much. hahaha
[Eek, I'm starting to get a little nervous about my words.....(hey and use of periods).]
Did you see the movie, "Stripes" with Bill Murray,,,,"Lighten up Francis!"

I'll check out Tilda, thanks, sgosnell.

murderslastcrow
December 9th, 2009, 02:09 AM
Unless you plan on compiling a lot of source packages, you should be fine knowing pretty much nothing about the terminal. For the times when it might be easier to use the command line, you can usually just copy and paste code into it and let it do it's thing if you're a noob.

Very rarely do you need to use it. In fact, to get some of the stuff that comes with Ubuntu working properly in Windows you need to use the CLI in Windows more. Soooo... yeah, not sure if it's really as big a deal as people make it out to be.