The desktop's verb-nouns paradigm becomes more difficult when you have highly repetitive tasks, hundreds or thousands of targets or when the targets are spread across several directories.
Programs like ffmpeg have many options. By putting the options in a script in ~/bin/, you can run it by calling the script with the filename as an argument. Using auto-completion, you may just need to type 6 characters, versus setting options on several tabs of a ffmpeg gui front end. You only have to learn these options once. For example, to convert a video for my Sansa P2 mp3 player, I just enter "vid2sansap2 <videofile>". |
Running a server I go CLI all day long. Its fast, maximizes custom solutions, saves loads of resources.
Desktop I prefer to run a gui because I've installed everything the way I like it and I know where everything is. Everyday though I can say I am working in a xterminal using CLI because somethings you just can't do with gui or its just faster using a terminal such as making fast edits to files on the fly. I use debian wheezy with gnome-shell and what can I say, I enjoy the artwork. Its a happier play ;). |
Let me sum this up by saying when strictly using a gui advantages and disadvantages are strictly preferential.
Comparing Windows to MacOS to KDE, or Gnome or whatever is like comparing Camero's to Mustang's by the overall appearence. Sure maybe you can really dig deep and find advantages like drag coefficients. (I don't know how to realate drag coefficients back to computers) In the long run the only real difference is your opinion. It's when you get under the hood that the real differences emerge (or fail to). The windows shell is cumbersome and pretty useless. Even with the powershell additions I can't stand using it. There is no comparison to the power of a linux/unix shell. If you are happy strictly using a GUI, then keep doing it. However, I'm betting you could have done it faster and better in the command line :) |
Quote:
I'm a network engineer and network kit makers seem to think they have to include a GUI with their kit. Almost uniformly the experience is a GUI can make it easier to get something useful done when you don't know what you are doing with the kit, but you should move onto the cli as soon as possible because a GUI becomes a crutch. Yes it helps you when things are difficult, but ultimately it will only get in the way. A case in point, the other day a colleague went clickity click for most of the day adding a few hundred firewall policies to a Juniper firewall. I finished mine in under an hour on the cli. |
Why use command line....
Errr, Say you want to copy all of your MP3's into one directory: Code:
find . -name "*.mp3" -exec cp {} /tmp \; Code:
find . -name "*.mps" | cpio -o | gzip -9 | dd of=mp3_backup.cpio.gz Code:
cd $HOME ; find src -print | cpio -o | ssh fred@new_server cpio -ivBud Code:
sudo kill -9 `ps -ef | grep ssh | grep fred | grep new_server | awk '{print $2}'` Code:
top |
You can't be a stoic if you look at pictures.
The Command line allows the user to manually pipe the output of one Application (command) to another command. In this way a Command is like using small compiled Application/s and using a interpreter (Bash) to act as a orchestra conductor of sorts. Bash coordinates the functions of the separate commands on the one value.
You don't have to have X server working or installed to use CLI. I doubt anyone uses CLI without using applications that make it civil. I adopted CLI tools that mimic a GUI interface like Screen. There is a link for it's use in my Signature. Screen works great if you use the commands for it in the correct order.Tree is also a good one to use while in CLI. What makes CLI difficult is not having anything to reference to and having to rely on your own memory,(no menus) . If you alleviate this most of the anguish is gone. One or more instance/s of a Bash terminal open on your monitor along with a file open that lists possible commands is like having a GUI menu but without the pictures. |
Or find every trace of the word mp3s on a hard drive
Code:
dd if=/dev/sda | echo << ~/mp3s | grep "mp3s" |
Quote:
For example: Code:
find . -name "*.mps" | cpio -o | gzip -9 | dd of=mps_backup.cpio.gz Code:
find . -name "*.mps" | cpio -o | gzip -9 > mps_backup.cpio.gz Code:
cd $HOME ; find src -print | cpio -o | ssh gred@new_server cpio -ivBud Code:
rsync -a ~/src fred@new_server:~/ Sorry for being off-topic. |
Actually, my script is shorter than yours.
Also, using DD allows you to evaluate a stream as opposed to just searching recursively through directories. While it wouldn't make a who lot of sense to use my script it for searching for mp3's. The point of this thread was to show off the power of the command line. |
**OFF Topic**
Hi TobiSGD, Totally Agreed with your post, My only comment "If it works it's not wrong." I come from a Unix background and I have had to support and develop on some really OLD systems. My use of dd is purely from the days of tapes... Old habits die hard and this would allow me to optimise the block size for writing or stop sector bleeding on none block special devices. "rsync", while being a awesome program, it is not readily available on all *nix systems. But as I said at the beginning your not wrong, but neither am I, apart from my smelling mistakes that I have now corrected... ;) |
Quote:
Quote:
Code:
dd if=/dev/sda | echo << ~/mp3s | grep "mp3s" |
hmmm...as a technology,computer enthusiest/ Artist, it seems like cli is perfect for IT, security, Maitanance and other information systems...basically for gtd( getting things done)....but the gui is perfect for the media industry....i cant imagine editing a photo on cli..lol....or editing a video or music...or playing games...lol...makes sense gtd on editing something visual...would take a visual process....does anybody know were i can find ....like...a...linux command cheat sheet?....it would be awsome if some one could direct me to were i can find ALL of the commands on linx....lol...if not than any command cheat sheet would be fine...thank you my good men...
|
Try http://linuxcommand.org/index.php, it will give you a first insight. Whenever you have questions about a specific command it is a good idea to look at
Code:
man COMMANDNAME Code:
man man |
All times are GMT -5. The time now is 06:41 PM. |