Slashdot Mirror


Ask Slashdot: Command Line Interfaces -- What Is Out There?

Mars729 writes "GUIs are walled gardens in that features available in one piece of software is not available to other pieces of software. However, there is software out there with command-line options that can make software features accessible to power users and programmers. Some important ones I have uncovered are:
  • Exiftool: A command-line application that can read/write almost any kind of metadata contained in almost any filetype
  • Imagemagick: This and similar software like GraphicsMagick is a full-feature toolkit for displaying, converting and editing image files.
  • Irfanview: Like Imagemagick but faster, although it has much fewer features.
    FFMpeg: For video files
  • VLC: For audio and video files
  • Aspell: A command line spell checker
  • Google Static Maps API: A URL with coordinates, markers, zoom levels and other options to show a custom map from Google Maps. (I just uncovered this: no need to learn KML!)

Less useful but still useful are command shells. These provide file management mostly. I believe some of them may allow for sending and retrieving email messages. Also useful but less accessible and with a steeper learning curve are software with APIs and scripting. Examples would be Visual Basic for Applications in office software and groovy scripting for Freeplane. What else is out there?"

63 of 383 comments (clear)

  1. systemd is there by Anonymous Coward · · Score: 2, Informative

    You all will love to use

    systemctl
    journalctl

    The first shows all services running on Linux

    The last shows all binary logging on Linux

    Get used to those commands because its the defacto standard now.

    1. Re: systemd is there by O('_')O_Bush · · Score: 2

      The article OP did not offer a respectable salary and/or legislation mandating any of us teach him.

      Your counterpoint about about teaching seems far less thought out than GP's original remark.

      --
      while(1) attack(People.Sandy);
    2. Re: systemd is there by Ceriel+Nosforit · · Score: 3, Informative

      You don't get a salary for educating the children. You get culture, pride, REAL security, population control, sustainable development... Just what am I listing here! You're a goddamaned idiot, aren't you? Admit it!

      --
      All rites reversed 2010
  2. What is this? by Anonymous Coward · · Score: 4, Insightful

    This isn't worthy of being a story, we all grew up using command lines.

    1. Re:What is this? by weilawei · · Score: 4, Informative

      I'd like to bash the submitter. Command shells less useful my ass. Pretty much the entire *nix world is built around shells and files, with variations on a theme thrown in (pipes, sockets, etc.). Welcome to what the rest of us have known for decades.

    2. Re: What is this? by Anonymous Coward · · Score: 3, Informative

      Your way of thinking needs an upgrade. Soon everyone needs to understand the concepts of systemd. That means your overall usage of grep, sed, awk, etc. will decrease. Wayland will bring another change in your life. Hope you welcome these. Oh I forgot, you won't be asked :)

    3. Re:What is this? by erikkemperman · · Score: 2

      Pretty much my initial response, too.

      But you know what, I hadn't made any realistic new year's resolutions actually, but now I am thinking it would be nice if instead of the reflexive elitist slashdot reaction to new users (yes I wrote that out in full) let's just try to help these folks feel at home and somewhat supported in our little world.

      My 2 cents: learn shell scripting. It's a great way to apply the shell commands you've already learned and a very natural way to learn some more (control structures, loops, mostly).

      --
      Gosh, thanks. That must be why the other ships call me Meatfucker -- GCU Grey Area (Eccentric)
    4. Re: What is this? by Anonymous Coward · · Score: 5, Insightful

      It appears that lots of people recently have been condemned to reinvent Unix, poorly.

    5. Re:What is this? by tlambert · · Score: 2

      This isn't worthy of being a story, we all grew up using command lines.

      At least one of those programs is Windows-only, and all the rest have Windows versions, and Visual Basic is Windows-only.

      I'm pretty sure he has little or no familiarity with the UNIX programming environment, and he's not even aware of COM-based programming using third party libraries and components on Windows well enough to know that you can in fact script all Microsoft GUI products, and many third party products on Windows use the same techniques making them fully scriptable as well.

      This isn't the first time Mars729's called GUI's "walled gardens", and it's not the first time he's posted erroneous info about their scriptability, but then he *is* using Windows. He posted a similar comment to the "How Ya Gonna Get 'Em Down On the UNIX Farm?" thread 4 days ago.

    6. Re:What is this? by gl4ss · · Score: 2

      it's not really "using the command line" unless you're using the line ... to command things, yourself.

      if its automation and communications between system components, it's just protocol of some sorts.. could start saying that pop3 is a commandline then too

      --
      world was created 5 seconds before this post as it is.
    7. Re:What is this? by hsa · · Score: 4, Informative

      OP is just discovering the command line and finding out, that you can actually do almost anything with it.Don't bash his learning process (pun intended).

      Take a webcam picture:
      streamer -f jpeg -o image.jpg

      Do magic with that picture:
      convert image.jpg -colorspace Gray image_gray.jpg

      And do check out rest of the ImageMagick:
      http://www.imagemagick.org/

    8. Re:What is this? by geoskd · · Score: 4, Interesting

      You haven't worked with corporate VB programmers too much, have you?

      As someone who has done an unfortunate amount of "corporate VB programming", I can say several things with certainty.

      1) Anyone who must admit that they have more experience with VBA than anything else should not claim to be a programmer. At best, the title script kiddie should apply.

      2) I am actually functionally dumber for having learned VBA.

      3) The world will be a better place when Microsoft is dead and buried. VBA was a bad idea that looked really good on paper. It gave a large number of people the ability to write quick and dirty tools for doing things in spite of the fact that these people had no business writing software in the first place. In the short term, these "programmers" filled a direct need, but in the long run, they have created a nightmare of sustainability that costs more to maintain / recreate than it ever saved in the first place. I have spent entirely too much time debugging and rewriting VBA tools because some unqualified hack made a tool to save themselves time on processing reports, and now I have to waste huge amounts of time fixing it to be robust, when they should have just hired a programmer to do it right in the first place. I find that most of the time its best to just scrap what was written and start over rather than try to follow the existing schizophrenic and undocumented code.

      --
      I wish I had a good sig, but all the good ones are copyrighted
    9. Re:What is this? by dgatwood · · Score: 4, Informative

      And do check out rest of the ImageMagick: ...

      And if you happen to be using OS X, also check out sips(1). It does much of what ImageMagick + DCRaw does, but a lot faster.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    10. Re:What is this? by Ceriel+Nosforit · · Score: 2

      This story is like giving instructions on how to breathe.

      To meditate, observe your breath without controlling it.

      Do you think you know anything? You know nothing.

      --
      All rites reversed 2010
    11. Re:What is this? by i.r.id10t · · Score: 4, Interesting

      And based on the students I teach in my "intro to linux" class, a good 30% are dependent on GUIs and aren't capable of becoming half way competent in using a command line only system over a 14 week term.

      Typically, these are the same students that are in a networking track because "i'm good at helping grandma with facebook and I like to play world of warcraft" - not because they are curious about computers and networking

      --
      Don't blame me, I voted for Kodos
    12. Re:What is this? by msauve · · Score: 5, Insightful
      "could start saying that pop3 is a commandline then too"

      It isn't?

      locke:~# telnet 127.0.0.1 110
      Trying 127.0.0.1...
      Connected to 127.0.0.1.
      Escape character is '^]'.
      +OK Dovecot ready.
      user myname
      +OK
      pass mypass
      +OK Logged in.
      stat
      +OK 863 28261240
      retr 1
      +OK 3108 octets
      ...[email text]...

      Of course, what you'll quickly find is that the OP isn't the only clueless one. Other Internet newbies like Microsoft and Google have gone out of their way to make their customer's emails illegible.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    13. Re:What is this? by Culture20 · · Score: 2

      My guess is that submitter writes commands sequentially into .bat, .ps1, .sh, or .csh files then double clicks the files to run them. Not knowing anything about loops or conditionals, submitter is happy to just use shell scripts to run commands and considers this the command line.

    14. Re:What is this? by hairyfeet · · Score: 3, Insightful

      Yes and that is why the GUI has been stagnant in Linux for the better part of a decade. hate on me ALL you want but anybody who is honest will admit its true, look at the file managers for just one example. The default is deep fried ass across the board. Fugly as fugly can be fonts, incredibly shitty icons...its like they went out of their way to make the GUI as ugly and nasty as they possibly could. And the whole OS has a disjointed "Meh lets just throw shit together" look as its pretty damned obvious nobody gives a rat's ass about the human interface guidelines. As much shit as Shuttleworth gets at least he tried to have a look stick across the system, its just too damned bad he gives Steve Ballmer a run for his money in the "no damned taste at all" dept because everything Jobs said about MSFT goes doubly true for Ubuntu. Ubuntu, an ancient word that means "We are totally colorblind".

      Having a great CLI is fine and dandy but sadly its become a crutch, you can completely remove CLI access from Windows and OSX and ya know what? The user would be fine,most wouldn't even notice that it was gone. Try removing access to the CLI for just one year in the Linux of your choice, I DARE you. You can't because 1.- Many of the distros won't even function without user access to the shell, as too many things are depending on CLI, and 2.- The first time you run into a problem the ONLY CHOICE you will have to fix it is "Open up Bash and Type"...that's it, that is all. Hell just ask for a non Bash solution and watch the howls of impotent rage! As an experiment I tried that very thing on a dozen forums with a wireless problem that would have taken all of 30 seconds to solve with the GUI in Windows. I was called every name in the book, had a dozen guys preach to me about how wonderful the church of CLI is, until finally one guy had the balls to admit the truth, there simply wasn't a GUI way to fix the problem!

      If there is anything that Android and ARM should have taught it is that the future is NOT some 40+ year old throwback to the age of disco UIs, its intuitive, easy to discover,and easy to learn is THE way of the future! Nobody but nobody is gonna want to sit there and type a bunch of arcane gibberish using a touch keyboard into a 5 inch screen,they are gonna want simple yet powerful GUIs to control these new marvels in their pockets. Linux SHOULD be at the forefront of this GUI revolution, after all its beholden to no corp, doesn't have to maintain backwards compatibility to please the masses, no reason why the next great GUI shouldn't come from Linux....except that too many have taken CLI as their religion, their way to "test the faith" and see if the user is "worthy" to be part of the little club.

      CLI will always have its place, in high performance servers where every byte counts, but even there the cost of a GUI is so trivial compared to what resources the boxes have it isn't funny. And you'll probably never come up with a better way to automate repetitive tasks than simply writing a script and letting the computer run, but its 2014 guys, time to accept that disco is dead and that if you aren't administrating a pile of servers or batch processing a thousand files there really should be NO reason to use a CLI at all. It should be there if you WANT to use it, but it should never ever be the case that you HAVE to use it, not on a modern OS anyway.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    15. Re: What is this? by crutchy · · Score: 3, Funny

      emacs!? why... in my day we used to program with rocks... where do you think the name bash came from anyways? get off my lawn!

    16. Re:What is this? by Dutch+Gun · · Score: 3, Insightful

      From my perspective as a Windows programmer/user who is trying to learn more about Linux development: Let me know if you disagree with this analysis.

      CLI is mostly useful for programmers and power-users / sys admins, and *nix was built around the concept of lots of small, useful command-line utilities that can be chained together to get useful things done. Visual interfaces, if they exist at all, are often just pretty wrapping around the core functionality available via the CLI.

      Windows (and the Mac preceding it) was built from the ground up with visual metaphors to make computing simpler for the masses. Command-lines are typically NOT the primary interface with the computer. Often, programs have built-in scripting to provide the power-user with equivalent CLI power on the *nix systems. Less importance is placed on command-line interoperability. Instead, interoperability is achieved through visual metaphors (drag and dropping files, for instance) or through OS services (OLE).

      This is a cultural clash which explains why an OS like Linux will probably never innovate in regards to visual interfaces - I think perhaps its just not all that important to those that control the core feature sets of the operating systems. Essentially, Windows users tend to see the necessity of falling back to a command-line as a crutch for a system that isn't well designed or fully featured (as you indicated), while *nix users take the opposite view, with the command line as the natural place to work, and the visual interfaces as a crutch to assist those who are not as skilled or don't need the power of the CLI.

      I just don't see that perspective changing anytime soon, and so I think UI innovation will tend to be driven by external forces in the *nix world, while the majority of the work still requires a command-line interface to access ALL the important options. BTW, Windows isn't perfect here either, of course. The equivalent in Windows starts with the phrase "Open regedit and search for the key...", but it just seems to happen far less often.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    17. Re:What is this? by phantomfive · · Score: 2

      And based on the students I teach in my "intro to linux" class, a good 30% are dependent on GUIs and aren't capable of becoming half way competent in using a command line only system over a 14 week term.

      Yeah, ok, that one's on you. You suck as a teacher, there's no other way to say it. I've seen heaps of kids go through and learn to use a command line in a beginning Linux class, with rare failures (mainly caused by absences). If you are really desperate and can't figure out how to get this right, the Redhat Academy has an ok curriculum that will have all your students writing shell scripts by the end of the semester.

      Seriously, you've got to get out of the 'blame the student' mode because you're ruining a bunch of students with your lousy teaching skills (and you don't even need amazing teaching skills to teach the command line, you just need to teach it).

      --
      "First they came for the slanderers and i said nothing."
    18. Re:What is this? by Shinobi · · Score: 2

      " VBA was a bad idea that looked really good on paper. It gave a large number of people the ability to write quick and dirty tools for doing things in spite of the fact that these people had no business writing software in the first place. In the short term, these "programmers" filled a direct need, but in the long run, they have created a nightmare of sustainability that costs more to maintain / recreate than it ever saved in the first place. I have spent entirely too much time debugging and rewriting VBA tools because some unqualified hack made a tool to save themselves time on processing reports, and now I have to waste huge amounts of time fixing it to be robust, when they should have just hired a programmer to do it right in the first place."

      The funny thing is, you could replace EVERYTHING in that with Python, and it's equally valid. I see too many supposedly competent devs with a degree that gives them a "solid theoretical background" write absolutely crap quick and dirty software, with Python being the language of choice, and they throw tantrums when they aren't allowed to bog down shared resources with that

    19. Re:What is this? by serviscope_minor · · Score: 4, Insightful

      hate on me ALL you want but anybody who is honest will admit its true,

      the hating on you will be for using a blatant "no true scotsman" fallacy, not for disliking the gui. You're a massive wanker for claiming I'm a liar because I disagree with you.

      you can completely remove CLI access from Windows and OSX and ya know what? The user would be fine,most wouldn't even notice that it was gone.

      Not if the user in question was me. In fact I know quite a lot of people who install the cygwin commandline stuff for Windows because the builtin commandline is not very good. And then there's the MinGW effort. Apparently enough people miss the commandline that there are not one but two competing efforts to bring a good commandline to windows.

      Fiven that they're Free that means there are enough people wanting that that there are enough developers from withing that subset to make two.

      That's a lot of people and you're dishonest if you don't agree, naturally.

      Try removing access to the CLI for just one year in the Linux of your choice, I DARE you.

      Why the fuck would I want to do that?

      The first time you run into a problem the ONLY CHOICE you will have to fix it is "Open up Bash and Type"...that's it, that is all.

      Well, no. That's true in some cases, but then registry hacks are true in some cases in Windows and commandline-fu is the only solution in some cases in OSX. Not sure what your point is.

      Hell just ask for a non Bash solution and watch the howls of impotent rage!

      So basically, you ask people to donate their time to you for free and they do. They give you an answer in a clear, succint way which doesn't involve the rather tricky comminucation of visual information in a forum and you have the entitledness to complain that they're not helping you "the right way".

      Wow, you sound like an asshole.

      If there is anything that Android and ARM should have taught it is that the future is NOT some 40+ year old throwback to the age of disco UIs, its intuitive, easy to discover,and easy to learn is THE way of the future!

      Except that it's not unless you have very limted horizons. And ARM was in fact developed to run an OS with an integrated commandline.

      So, mr. intiutive, how do I script repetitive actions in my workflow on Android?

      Linux....except that too many have taken CLI as their religion, their way to "test the faith" and see if the user is "worthy" to be part of the little club.

      You're the one who sounds like a religious nutball. I happen to like the commandline. I really don't care if you do. You seem to care that I like it. that's got religious quackery written all over it.

      Oh and almost forgot, of course you're dishonest if you don't agree with me.

      --
      SJW n. One who posts facts.
    20. Re:What is this? by sjames · · Score: 2

      My mom uses Linux and she has no idea how to use the CLI at all. Literally none. It works fine.

  3. My head just exploded. by philip.paradis · · Score: 4, Insightful

    Quoting the summary:

    Less useful but still useful are command shells. These provide file management mostly. I believe some of them may allow for sending and retrieving email messages.

    Yes, my head just exploded. Please pardon the mess, aggressive renovations are in progress. I'm absolutely awestruck that this made it to the front page of /., and suddenly feel extremely old at 32.

    In short, if you are experiencing a lack of flexibility with GUIs, which is a completely normal response in my book, please proceed to install your favorite Linux/BSD/Whatever-nixish distribution and learn to use the following:

    • Shells, at minimum a Bourne-compatible shell
    • Bash, Perl, and Python
    • Man pages

    I really, truly, honestly, brain-explodingly do not know what else to say here. Holy crap.

    --
    Write failed: Broken pipe
    1. Re:My head just exploded. by mvar · · Score: 4, Insightful

      First this Tips for your new laptop and then this.
      I have a feeling that there's more shitty noob advice to come on this site from now on..Holy crap indeed

    2. Re:My head just exploded. by Anonymous Coward · · Score: 2, Insightful

      Shit, you should've been there when we thought 600bps was fast. My first modem was a 300bps acoustic coupler.

  4. Visual Basic for Applications??? by will_die · · Score: 3, Interesting

    If you are doing windows and still doing Visual Basic for Applications for general scripts you are part of the problem and really behind in your skill level.
    Powershell has easily replaced most VBA script usage, there are still a few special cases where it has to be used.

    1. Re:Visual Basic for Applications??? by Dr_Barnowl · · Score: 2

      VBA is almost VB6.

      VBScript is not quite VBA. There are some VERY annoying inconsistencies, like this :

      For ii = 0 To 10
              ' Do Stuff
      Next ii ' This is legal in VBA / VB6 - but it's a syntax error in VBScript!

    2. Re:Visual Basic for Applications??? by benjymouse · · Score: 3, Insightful

      Powershell was designed to market Windows server, providing something that looks familiar to Unix/Linux admins. It's by no means a replacement for VBScript. (Which is *not* the same thing as VBA.) VBScript, being COM-centric, is uniquely suited to accomplishing all sorts of tasks on Windows. It just happens to be getting "deprecated" as part of Microsoft's overall strategy: They want to attract people to Windows server while converting "civilian" Windows into virtually a kiosk OS.

      Sorry, BS. PowerShell is a foundation technology in Windows, unlike VBScript. Since Windows 7, the troubleshooting packs are actually written in PowerShell! The troubleshooting utilities are automatically launched by the system when e.g. network problems occur.

      PowerShell is every bit as COM capable as VBScript. PS uses a "unified" type system where multiple object models (COM, .NET, WMI etc) are surfaced as common PS objects.

      VBScript is definitively legacy (and deprecated). I will actually wager a bet that there is not a single meaningful VBScript that could not be written shorter and more elegant with PowerShell.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  5. "Less useful but still useful are command shells"! by Viol8 · · Score: 4, Insightful

    I'm sorry, is this a joke? The Windows command line - even with powershell - might be a crippled joke, but the unix command line allows you to control *everything* going on in the OS itself and most features of whichever Desktop you're using. Plus the ability to pipe commands together creates a level of poweruser control that is far greater than the sum of its parts. Something Microsoft took 2 decades to realise and a paradigm that a lot of Windows admins still don't "get".

  6. PowerShell by jones_supa · · Score: 4, Informative

    PowerShell deserves a mention too. Some people hate it, some people love it.

    It is object oriented so the data transfer between processes is more robust. Also all the commands' manual pages come with extensive documentation and lots of great examples. UNIX man pages usually lack examples.

    1. Re:PowerShell by benjymouse · · Score: 5, Informative

      It is object oriented so the data transfer between processes is more robust. Also all the commands' manual pages come with extensive documentation and lots of great examples. UNIX man pages usually lack examples.

      Most bashers (no pun intended) miss several aspects of PowerShell simply because they view it as just another shell.

      One such aspect is the fact that PowerShell is designed to operate directly with an application's core logic (the object model) whether that application was designed using COM or .NET. Virtually *all* of Window's features and even 3rd party applications for Windows are designed using one of those models. So the barrier to exposing the functionality to the CLI (PowerShell) is really, really low, and even older applications that predates PowerShell or that were never designed for PowerShell (like iTunes) lend themselves to CLI manipulation. Forget about needing to craft a suite of external CLI tools - your app is inherently exposed to command line manipulation.

      Another often overlooked aspect is how PowerShell is designed to run in-process within an application. The CLI is just *one* possible host for PowerShell. Alas, you can add the PowerShell engine to your app and immediately leverage existing commands to manipulate the in-process memory objects of your application. So not only is it *easy* to expose your application to automation, you can actually take advantage of the PowerShell engine to save work for your own in-application automation. With workflow engine integration in PowerShell 3.0 (it is now at 4.0) this is a great way to orchestrate workflows activities in an easy-to-manage way.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  7. Great topic by Ceriel+Nosforit · · Score: 4, Informative

    mulk - much needed modernization of wget's functionality
    qrencode - copy-paste from the desktop to a mobile device, or maintain an airgap
    iotop - like htop for IO
    history - built into bash, re-issue old commands as !number
    pkill - kill programs indiscriminately
    youtube-dl - keeps working even though google has almost killed youtube
    netstat -lnp - see which program is bound to which port
    vim - it won't make sense until you install plugins like spf-13, learn a few key combinations and set :color ir_black
    tar -zxvf - you can remember it because the keys are right next to each other
    pxz - parallel LZMA compressor
    alasamixer - volume control
    locate - find files, update the index with updatedb

    Looking forwards to see more!

    --
    All rites reversed 2010
  8. What the f**king f**k? by YuppieScum · · Score: 4, Insightful

    "GUIs are walled gardens in that features available in one piece of software is not available to other pieces of software.

    Never mind it should be "are" not "is", under what circumstances would you ever be surprised that the features provided by Excel are not available in PhotoShop... with the exception of cut/copy/paste?

    Did I miss a meeting where meretricious twaddle on this site became de rigour?

    Maybe I should resign my ID...

    --
    This sig left unintentionally blank.
    1. Re:What the f**king f**k? by philip.paradis · · Score: 4, Insightful

      Man, my original ID was in the 75K-ish range, and I'm seriously debating whether this was (1) a troll submission that got through, or (2) a tactical move to get folks like us to finally just say "fuck it" here and move along while Dice moves along to pursue the new, hip, trendy, GUI-loving, tablet-toting, no-fucking-idea-whatsoever-how-things-work-at-all crowd for ad views. I honestly don't know, but I can safely say this is the most ridiculous thing I've ever seen posted to this site.

      --
      Write failed: Broken pipe
  9. Don't start bashing the curious by cerberusss · · Score: 5, Insightful

    Obviously the submitter didn't grow up with a unix background, as lots of people here have. And now I see lots of people asking what the hell submitter is thinking, "is this a joke", "not worthy of a story" et cetera.

    But think about it. Submitter came from a GUI background and now discovers the commandline. I'm thinking back when I started with Linux, feeling totally amazed about so much utilities, so much power and I kinda envy the submitter :)

    So give it a rest and just chip in.

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:Don't start bashing the curious by Anonymous Coward · · Score: 3, Interesting

      There is lots of information out there and, very much unlike 20 years ago, the tools to find this information are numerous, easy to use and freely available. It's nice that someone stumbled upon the power of the command line, but it doesn't need to make front page news. No, we're not going to deliver the information on a silver plate any more than it already is delivered on a silver plate if you bother to look. Granted, some will write about their favorite programs, but the scorn to offset these nuggets of misplaced helpfulness is well deserved. It isn't so much directed at the newbie who doesn't know better but at the editor who allowed it through to the front page. Can you imagine someone getting onto the cover of a fashion magazine with a story about how they discovered that you can actually sew your own clothes and does anyone have any tips about that?

    2. Re:Don't start bashing the curious by geoskd · · Score: 3, Informative

      So far this submission has seen a really disappointing response from the Slashdot crowd. They look like braggarts who do not actually know anything about the subject matter.

      That's because the question itself shows a fundamental lack of understanding that renders any answer that might be provided as simply incomplete at best, and actively misleading at worst. The submitter does not understand the subject matter well enough to understand why the question was flawed, and knowing where to begin explaining to the submitter what he/she needs to know is a very tricky problem.

      We can infer from the way the question is asked that the submitter probably has spent most of their life as a windows user, and has probably recently discovered power shell. It is also possible, although unlikely that they have recently started playing with Linux, but if they did, it would have to be Ubuntu, or another newbie friendly distro, and they probably installed it, and not much more. My guess is that this person is in their late teens or early twenties, and if they are attending college, it is not in a CS or related degree. The probability that this person is Male is about 87% give or take.

      All that having been said, my advice is actually rather simple. If he/she has not already installed Ubuntu, do so now. regardless of their current enrollment status, get signed up to take a beginner level programming class. Make absolute sure that this class uses a UNIX based curriculum, and not Windows, as the UNIX curriculum will almost definitely be Command Line only. The reason I make this suggestion is because beginner level programming will teach the fundamentals of command line interpreting, and will give a solid basis for understanding how programs start up, and what they have to do, and how they do it. If (as I suspect) this person is still a high school student, this will give them college credit as well, and will look good on a college application, especially for a CS related program. The one warning I will give, is that this class will be relatively boring. There is nothing sexy or exciting about beginner level programming. You will need years of experience before you will be ready to tackle the fun stuff, and 90% of programming is "boring" details anyway, but this will help align your understanding of how programs work to what they are really doing under the hood, and should give you a basis for asking more salient questions, and getting better answers, in the future.

      --
      I wish I had a good sig, but all the good ones are copyrighted
  10. Re:There is only one true CLI by msobkow · · Score: 2

    Funny. I had a nightmare recently about being suckered into a contract to do some VMS work.

    DCL always gave me the willies.

    --
    I do not fail; I succeed at finding out what does not work.
  11. Re:Situation normal by dbIII · · Score: 2

    Obviously, just as BASIC and java did. The point that was missed is VB had BASIC syntax, then changed to a lot of syntax from pascal, then changed to a lot from java - all without being backwards compatible but the thing was still called VB.

  12. Re:Mod parent up by Anonymous Coward · · Score: 5, Funny

    Mod parent up

    I can't because /. doesn't have a command line interface for moderation.

  13. Soulskill: please don't drink and post by wjcofkc · · Score: 4, Insightful

    GUIs are walled gardens in that features available in one piece of software is not available to other pieces of software.

    Setting aside the fact that this statement makes no sense, I suspect it was crafted around using the term "walled garden" in a misguided effort to establish nerd street cred. Mission failed.

    However, there is software out there with command-line options that can make software features accessible to power users and programmers.

    Out of all of the CLI based software the submitter could have chosen, the selection demonstrates that they are neither a power user or a programmer.

    Less useful but still useful are command shells.

    Holy fuck. Seriously? What I am supposed to run my CLI based software in to begin with. Never mind everything else about a shell that runs deep.

    The bullet points caught my eyes first, I knew right away it was going to be bad, but this? This article making the front page is an insult to the majority of Slashdot's user base and an affront to our intellect and skill sets. Also, it reads like it was written by a second-grader.

    --
    Brought to you by Carl's Junior.
  14. cp /dev/sr0 whatever.iso by Sanians · · Score: 2

    cp /dev/sr0 whatever.iso

    1. Re:cp /dev/sr0 whatever.iso by Anonymous Coward · · Score: 2, Interesting

      Please don't use cp or dd to copy from a disk as they don't do any error checking while copying. Readom does though. For details, see this blog post (not mine btw, I just happen to read it).

  15. Here's a start... by avm · · Score: 2

    Setup a virtual machine, or a partition, install a BSD (I'm partial to NetBSD), and go to it. Skip the graphical interface packages on installation.

    You want to learn about this, here's how most of us did it (flavor and variant will vary of course). Your motivation determines how much you will learn. Enjoy.

  16. Re:Unless this is a joke... by jones_supa · · Score: 2

    I don't know really. When I look Slashdot articles published 10 years ago, they are the same stuff. Even the same whining of Slashdot jumping the shark has always been there.

  17. Rick Richardson's Linux tools for geocaching by Rick+Richardson · · Score: 2

    Happy New Year. Whose going to get the FTF?

    From http://geo.rkkda.com/. All are bash and awk tools run via a terminal. Lots of them build upon gpsbabel (e.g. geo-nearest), or ImageMagick (e.g. reverse-montage) or, you get the drift.

    Tools for accessing gc.com...
    (SO) : this program works only for gc.com subscribers

    geo-found List caches found (by you or someone else)
    geo-nearest List the nearest caches to a location
    geo-newest List the newest caches in a state
    geo-placed List caches placed (by you or someone else)
    geo-keyword List caches by keywords.
    All of the above can enter the waypoints into the
    GpsDrive MySQL database.
    geo-html2gpx Convert a gc.com printable web page (such as the
    above commands can produce with the -H option) to
    a GPX file.

    geo-count Count caches found
    geo-usernum Determine gc.com user number (used by geo-count)

    (SO) geo-gid Retrieve cache info by GCxxxx waypoint name
    (SO) geo-gpx Retrieve GPX file by GCxxxx waypoint name
    (SO) geo-demand Request an immediate pocket query email
    (SO) geo-gpxmail Process PQ email using gpx2html
    (SO) geo-gpxprocess Process PQ download(s) using geo-pqdownload and gpx2html
    (SO) geo-pqdownload Perform a Pocket Query download(s)
    (SO) geo-myfinds Schedule a Pocket Query containing your finds.
    (SO) geo-rehides From your found.gpx file, produce a GPX file of rehides
    (SO) geo-correct-coords Correct the coords of cache(s)
    geo-density Compute cache density of an area

    gpx2html Lightly hacked converter from GPX to HTML
    Originally by fizzymagic (v1.90). My version
    fixes issues with HTML in the cache descriptions, adds
    sort by latest log date for easy perusing of recent
    cache activity, and fixes bug in GC[1-9]xxxx.
    gpx-loghistory Print all logs in reverse cron order.
    geo-pqs Figure out what PQs to run to get an entire state.
    geo-state Convenience script; geo-state -? gives usage.
    geo-sdt Replace Size, Difficulty, Terrain from a PQ file
    geo-suffix Replace name with name/TypeSizeDiffTerr/gcid/LatLon
    geo-uniq Unique the tabsep database

    Tools for accessing opencaching.com...
    oc-nearest List the nearest caches to a location
    oc-newest List the newest caches in a state
    EXPERIMENTAL, subject to drastic changes

    Tools for accessing opencaching.us (and .nl, .de,...) ...
    ok-nearest List the nearest caches to a location
    ok-newest List the newest caches in a state
    EXPERIMENTAL, subject to drastic changes

    Tools for accessing navicache.com...
    nc-nearest List the nearest caches to a location
    nc-newest List the newest caches in a state

  18. CLI's Are Not Walled? by DexterIsADog · · Score: 2

    I've been seeing the love for CLI's in a couple of articles here lately, and I'm wondering... why are GUI's "walled gardens", and CLI's are not? The CLI's have their definite boundaries as well. You can't run a function using a system utility that doesn't support it.

    At best, I'd call GUI's walled gardens, and CLI's (larger) fenced in fields with rocks and weeds along with the trees and flowers. Definitely more versatile, not as friendly for some uses.

    To get out of the boundaries of either a GUI or a CLI, you can just write your own code, to create... a GUI or CLI application. You can write a script, or put the equivalent function into a GUI app.

    Disclosure; I've been computing since the Olivetti P-6060 was a cutting edge machine. http://www.old-computers.com/museum/computer.asp?st=1&c=407

    1. Re:CLI's Are Not Walled? by gtall · · Score: 4, Informative

      The best mix I ever saw was with Apple's MPW Commando interface. They had a unix like script language, but when you couldn't recall the special arcane syntax of some command, you could just hilite the command name and hit a key. A Commando dialog box came up formatted with radio buttons, checkboxes, etc. which recorded every dodad the command could use. Clicking and typing into the dialog fields built the text command for you in a pane at the bottom of the dialog box. When you were done, you could hit the run button or copy and paste the command into a command line window or paste it into a script you were building.

    2. Re:CLI's Are Not Walled? by crutchy · · Score: 2

      in some cases gui's only seem like walled gardens because the user doesn't know how to do something, but that doesn't imply that they couldn't

      everything is easy when you know how

      gnome2 has a decent little tool called gconf-editor, which allows you to drill fairly deep into gui configuration

      i'm sure even "windoze" could do a lot of cool things if users bothered to learn about the registry... maybe they shouldn't have to, but if you are willing to learn cli as an alternative it would be reasonable to assume that doing a little homework on the registry wouldn't be out of the question

  19. /rdb by matria · · Score: 2

    /rdb - definitely not free, but a fascinating use of the shell and shell extensions as a database management system. Don't know if it's even still available. The NoSQL developer Carlo Strozzi said that he was inspired by it. Used to be at http://www.rsw.com./ An excellent white paper, "The UNIX Shell As a Fourth Generation Language" describes it, and there was a book too - "Unix Relational Database Management". I used it nearly 20 years ago for a retirement home's database when their DOS/dBase system broke down. Slackware Linux version 1 ran fine on their old PC. In fact, that was my first Linux kernel compilation.

  20. Son, Let Me Tell You a Little Story by Greyfox · · Score: 2
    In 1987 I took an assembly language class. We were presented a PDP 11/03 and an 8 inch floppy disk and instructed on how to type the bootstrap sequence into the computer in octal to cause the system to jump to the first instruction on the floppy disk. The GUI is good for one thing and that's standing between you and understanding what's really going on in your computer.

    Now I wouldn't even comment on this story, but I have recently been wondering why we haven't seen new developments in command line shells in the last couple of decades or so. The last big advance was tab completion in bash and then we just... stopped. Now I could see the argument that bash does everything we need it to, but I'm not sure I completely buy that. For one thing I'm constantly working around deficiencies in the shell. For another, we have seen OS advances we could be taking advantage of.

    The UNIX shell model for the last three decades is, you run a program and the shell finds it in the path, forks a child process, execs the program and waits on the child process. When the child process exits, the shell resumes and has the return status of the child process available for examination. And that does actually have its place. But it doesn't need to be all there is anymore. With threads, there's no reason not to have the ability to initiate a program in parallel in the same memory space. Obviously there are some drawbacks to that -- if the program crashes, you'd lose your working shell. But it'd have some advantages, too -- the program could modify the shell's environment, share or persist objects in local memory, and customize the shell's behavior much more easily than we do today. We'd move from having files on disk to having resources we can take advantage of. Naturally you should still be able to revert to the old fork/exec model for some applications.

    I'll probably write some code to explore this when I get my current couple of projects squared away.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  21. 2014 resolution: mellow out by hodet · · Score: 4, Insightful

    The elitists are out in full force today. Ya the submission is nothing new to many of us but instead of ripping submitter a new one why not share your knowledge with him. Back in 97 I bought Oreilly's Linux in a Nutshell reference book. That book is still on my desk today, beaten up an tattered but sill useful.

    Happy New Year fellow neckbeards! ;-)

  22. Invaluable utility program by SpaghettiPattern · · Score: 3, Funny

    man(1)

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  23. More CLI-Fu by Bob9113 · · Score: 4, Informative

    Less useful but still useful are command shells. These provide file management mostly.

    Ohhh, baby. If you think ImageMagick is cool by itself (and it is), just wait 'til you start to grok how powerful those "less useful" command shells are for gluing those complex tools together. It will blow your hair back.

    Say you have a directory tree with a few hundred images scattered through it, and you want to create thumbnails for all of the images in a parallel directory structure; ImageMagick will do the thumbnail part, CLI-Fu will handle the directory traversal and turn a three hour job in to a three minute one.

    Learn these for starters:

    sed - text parser and transformer, for mutating file names and munging commands
    awk - ultra-terse programming language, great for building more complex commands than you would with sed
    find - traverse a directory tree and list files with conditional matching
    xargs - process a large list of things (like files found with find) in batches
    grep - filter out elements of a list based on string pattern matching
    egrep - enhanced grep, includes more advanced patterns and wildcards
    sort - sort lists numerically or alphabetically
    wc - count the elements of a list, words in a line, or other things
    wget - download a URL
    curl - read a URL to stdout

    Seriously, when you start piping those things together with the more complex command line tools like ImageMagick and FFMpeg, you will be astonished at the mass data processing you can do with a few dozen characters on the command line.

    1. Re:More CLI-Fu by serialband · · Score: 2

      The shell includes for, if, else, while and variables that allow you to write simple to complex scripts to manage all the self contained unix commands listed by Bob9113.

      Here's 3 more useful unix commands to add to Bob9113's list

      apropos COMMAND_or_COMMAND_FRAGMENT - to find the command you might want
      which COMMAND - to find the location of the command on the filesystem
      man COMMAND - to find the manual page for the command

      There is an entire book dedicated to just awk and sed, which are quite useful programs on their own.

  24. Re:New users don't know about CLI by Half-pint+HAL · · Score: 4, Interesting

    We live in the 21th century. By now no one should use things like grep, sed or awk anymore.

    Yes. It would be wrong to use tried, tested and computationally efficient tools. If it doesn't have a GUI that slows me down and reduces my operational efficiency, and a crapload of bugs that won't be fixed before being obsoleted, I don't want to know about it.

    --
    Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  25. Re:New users don't know about CLI by hawguy · · Score: 5, Informative

    New users never heard about bash. We live in the 21th century. By now no one should use things like grep, sed or awk anymore. The developers around systemd make sure that this functionality is soon hidden away from the audience.

    Right, and that's the problem, new users don't understand how to use command line tools so everything gets loaded into a GUI like Excel or Access. We had a user insist that he had to have MS Access so he could process a big log file to extract a few records from it -- it was too big for Excel. He was a couple hours into figuring out how to get the file loaded into an Access table when someone asked me if I could help. 10 minutes after installing ActiveState Perl, I wrote a script to extract the records they needed, it ran for a couple hours to churn through over 100 gigabytes of data (limited by the speed of the fileserver), then after we had the data, I used a couple regular expressions to pull the data fields they needed out of a free form text field, and then 20 minutes later, used the data in the file to output the SQL commands that they needed to fix up the database (which is why they where looking through the file in the first place). They had originally planned on spending at least 3 days on this project. The Windows "find" command line took may have helped preprocess the file, but its lack of regular expression support would have meant running it dozens of times to get all of the data they needed.

    Command line tools are still useful, even in the 21th century. If I didn't have Perl, then grep and/or awk would have been able to extract the data with a single pass through the file.

  26. new inventions = no CLI by Mirar · · Score: 2

    I encounter new libraries and tools without a useful command line interface all the time. It's getting to be irritating.

    Right now I'd like a CLI to open-zwave, but I can't find one. Web interface, sure. Huge bloated tools that does everything for me, sure. No single simple CLI...

    With a CLI it would have been trivial to hook into everything else unix, like cron.

  27. Re:So, you're saying you want the CLI to atrophy by serialband · · Score: 3, Insightful

    Hairyfeet, back at ya.

    I moved to Linux because from Mac OS X *because* of the command line. It is a first place citizen. You can expect almost all programs on it to support commandline options and such.

    ....

    OSX is based off BSD now, so there are plenty of command tools available to you. All your basic linux commands work in OSX as well as several additional useful OSX command tools that just don't exist elsewhere. I frequently run command line scripts to configure OSX and install numerous pieces of software on several Macs. You can also install Fink, or MacPorts, or Homebrew to install plenty of additional useful software. It's all there if you learn how to use OSX on the command line.

    Windows also has a command line, and the vast majority of Windows software can be installed on the command line. There are many useful command line utilities that vastly speed up setup of the a windows system. You could also install cygwin if you really want unix style commands. With powershell, there's less of a need to have cygwin. In a Domain, you can use group policy to manage numerous systems, but that's not available if you're not in a domain. If you manage systems not in a domain, or before you join it to a domain, you can do just about everything on a local trusted network with command line tools in a batch file script or powershell.

    Many people think of Windows or OSX as GUI only, or mainly, have never really sat down to find the command line way of doing it because the GUI was always there as a crutch. The GUI was so well done that they never bothered seek out the command line. On linux, the GUI came much, much later. In the beginning, some of the linux GUI, like the early SAMBA config GUI that wiped smb.conf, was quite broken. There's still work to be done with the GUI.

    Don't mistake a useful GUI for lack of a command line on OSX or Windows. It's all there and you've just never learned to use it. The linux GUI is not as well designed and still needs more work to get to where Windows and OSX are. That's probably why most linux users are still going to the command line. Eventually, that will change and it will mainly be sysadmins and certain power users that do any command line on linux as well.

  28. Re:pop3 and Google by msauve · · Score: 3, Insightful
    "I get my email from Google over POP3. pop.gmail.com:995. But it requires SSL,..."

    Not a problem...

    openssl s_client -connect pop.gmail.com:995

    --
    "National Security is the chief cause of national insecurity." - Celine's First Law
  29. This has got to be the stupidest "article" ever. by pigiron · · Score: 2

    You "believe" that you can send mail messages from the command line? JFC, have you ever heard of man pages? And where did you get the impression that grep or egrep are obsolete?