Updated: 2013-08-31 11:50 EDT
How Linux is Built: http://www.youtube.com/watch?v=yVpbFMhOAwE
Sure! You will find a video course by first logging in to lynda.com, then see Unix for Mac OS X Users
Sysadmin motto: “Anything worth doing will be done more than once.”
A GUI user wrote:
There are plenty of examples. Take sending a message by e-mail for example. No complex menu navigaion is required for that in a GUI, such as Evolution, for example. You simply click on “New” fill in the form with appropriate data, and click send.
Okay, I just sent a file to one user. Now how do I repeat that and only have to change the userid, or only the file name, without having to “fill in the form” again (possibly making mistakes or forgetting exactly what I filled out in the previous form)?
In a command line, I back up one line (one keystroke) and change “user1” to “user2” or “file1” to “file2” and push return. If I realize I want to do this a lot, I save that line in a script file and pass the userid or file name in as a parameter, so I only need type “./mailusers user3” or “./mailfiles file3”.
Say it’s tomorrow and I can’t remember exactly which files I sent to whom. My command line history tells me exactly what I sent and to whom and allows me to repeat what I did exactly, only changing the little bits I want changed.
Say it’s next month and I realize I’m always sending these emails to the same people, so I collect the command lines that do that and put them all into one script file that makes it all happen: “./doall”
Say it’s next year and I realize I’m always doing these things at the same time every month, so I put an entry in my crontab that will automatically run my “doall” script on the 15th of every month.
Say I want my friend in Slovenia to be able to do exactly what I do. I send him my script file.
What existing GUI lets me do that sort of thing? To summarize:
automatically saves the last thing I did
gives me keyword-searchable history of what I did
lets me edit any little piece of what I did and repeat it
allows me to save and parametrize what I did so that in future I only have to specify the little bits that change
lets me group a common series of things I do into a repeatable script so that it’s easy to do all those things in that order
lets me run anything unattended (via crontab or other background scheduling system)
lets me pass my saved and customized actions to another user, who can also customize and modify them further
You’re talking about taking an action that you can repeat later with the same parameters, or parameters you can easily change. So, write the software so that it can save and retrieve parameters for a future session without using a complex menu.
My command line doesn’t require me to rewrite any applications. I can parametrize and run all the applications unchanged.
What existing GUI lets me do these things, all of which I do a lot?
“Anything worth doing will be done more than once.”
References:
http://osnews.com/story.php/6282/The-Command-Line--The-Best-Newbie-Interface/page1/
The designer of a program that provides a graphical user interface must anticipate all the possible ways in which the user will interact with the program and provide ways to trigger the appropriate program responses by means of pointing and clicking. Consequently, the user is constrained to working only in predicted ways. The user is therefore unable to adapt the graphical user interface program to accommodate unforeseen tasks and circumstances. In a nutshell, that’s why many system administration tasks are performed using the shell: system administrators, in fulfilling their responsibility to keep a system up and running, must continually deal with and overcome the unforeseen.
Mastery of UNIX, like mastery of language, offers real freedom. The price of freedom is always dear, but there’s no substitute. Personally, I’d rather pay for my freedom than live in a bitmapped, pop-up-happy dungeon like NT. I’m hoping that as IT folks become more seasoned and less impressed by superficial convenience at the expense of real freedom, they will yearn for the kind of freedom and responsibility UNIX allows. When they do, UNIX will be there to fill the need.
Back in the days of the command-line interface, users were all Morlocks who had to convert their thoughts into alphanumeric symbols and type them in, a grindingly tedious process that stripped away all ambiguity, laid bare all hidden assumptions, and cruelly punished laziness and imprecision. Then the interface-makers went to work on their GUIs, and introduced a new semiotic layer between people and machines. People who use such systems have abdicated the responsibility, and surrendered the power, of sending bits directly to the chip that’s doing the arithmetic, and handed that responsibility and power over to the OS. This is tempting because giving clear instructions, to anyone or anything, is difficult. We cannot do it without thinking, and depending on the complexity of the situation, we may have to think hard about abstract things, and consider any number of ramifications, in order to do a good job of it. For most of us, this is hard work. We want things to be easier. How badly we want it can be measured by the size of Bill Gates’s fortune. […]
In other words, the first thing that Apple’s hackers had done when they’d got the MacOS up and running–probably even before they’d gotten it up and running–was to re-create the Unix interface, so that they would be able to get some useful work done. At the time, I simply couldn’t get my mind around this, but: as far as Apple’s hackers were concerned, the Mac’s vaunted Graphical User Interface was an impediment, something to be circumvented before the little toaster even came out onto the market.