Linux is mostly preferred in command line mode on servers. Most of its power comes from its command line tools. New users in Linux world have a hard time getting around these tools. Once you get familiar with them it is more fun to use LInux.
It’s one thing to conveniently change the settings of your desktop just by clicking on your screen here and there or change any other user preferences but you require a Command Line Interface to implement some sophisticated task. For advanced task such as creating a corn job or compiling software from bare source code to have a batter control over your system, you need CLI.
GUI require considerable amount of hardware usage in order for it to run efficiently which results in slow system. GUI may be a good choice for desktops but it is not idle for production server environment. Command Line Interface in production server environment cut the unnecessary resource usage.
You can quickly go ahead and create a script with few lines of commands and and it will quickly get the job done. You can achieve the same thing using GUI up to some extent. Surly it allows you to create shortcuts by clicking here and there but it doesn’t come anywhere near the flexibility of commands packed in one file and perform multiple tasks with efficiency.
Tools that are command line based can do a lot more then same tools running with GUI. You can give the argument and setup options and flags as you require and get result in matter of millisecond. More complex the operation is less suitable it is for drag-and-drop.
Most of the security tools are command line based. Command line tools allow you to quickly set the parameter as required and create sessions between target and attacker. Tools like Metasploit and Nmap work flawlessly in command line mode.