Or is that more of a stereotype, and there are some (maybe more?) out there using some form of graphical interfaces/web dashboards/etc.?
It’s struck me as interesting how when you look up info about managing servers that they primarily go through command-line interfaces/terminals/etc. It’s made me wonder how much of that’s preference and how much of it’s an absence of graphical interfaces.
Yes I personally find it much quicker running a few commands via SSH and editing Docker compose files in a text editor than clicking around in some kind of web interface. It’s also much easier asking for help or helping someone else I you can just send commands to execute instead of explaining different menus and buttons they need to go into.
Simple answer, yes
Personally, it’s the power of powershell that I use for the hundreds of windows servers. Otherwise it’s the power of Linux bash shell scripts for the dozens of Linux servers. None of the Linux servers run a gui so there’s no options there. Tbh for me, self documenting gui is the slowest way to do work. Configuring hundreds at once with peer reviewed scripts and change control is much more effective since the peer review and change control will be needed either way.
Oh though I use fortimanager a lot of configuring dozens of Fortigates. Only have a few scripts on it though.
I support a large number of windows servers, and the answer is it largely depends on what i’m doing, like if i’m doing a file restore i find navigating folder structures a pain in the ass from a CLI, so i’ll just use GUI.
If i’m doing something a bit more complicated like running AD reports, easier to just use powershell.
As others mentioned, it depends on the details. But anything routine should be done with CLI or code, because then it can be scripted/automated. The time savings for that adds up surprisingly quickly, especially when you consider the human errors that are avoided.
You can accomplish a lot through scripting - light programming. Anything you can type into a command line can also be executed by a script. This is the power of them. So when managing large arrays of resources, the potential for automation and scaling effort is big.
I don’t think all of that can be replaced with GUIs. When you consider that sysadmins are working with tons of different software from many different providers and trying to make it all work together, the command line interface is really the common language they all share - even the bulllshit legacy products that are still hanging around after 15 years of being outdated. You’d need extremely sophisticated GUI tools to be able to do everything, across all these products, at scale.
There are of course GUI tools for specific tasks, but the command line is the foundational tool.
Disclaimer: I know fuck all about Microsoft things. Only have some experienc with *nix
I only use CLI access over SSH to manage servers. Using a GUI is painful, especially working remotely. Even wjen I had to deal with windows servers I’d setup an SSH server on it and use powershell.
Ideally you don’t even access the server manually over that, but use a management system like Ansible or Puppet to configure and manage it.
You can’t really do configuration management with a GUI. Or version control. Everything I do I manage with Ansible as much as possible. YAML is self-documenting as well. How much effort is ‘run command with parameter’ documentation vs explaining how to navigate a GUI?
You can’t really do configuration management with a GUI.
Cries in Windows Server
How much effort is ‘run command with parameter’ documentation […]
Tbh it’s less so the effort and moreso, how understandable is the documentation? A good GUI has the benefit of visual design explaining without words what may take a lot of documentation that may or may not be easily understood depending on the writer, which in many technical situations is someone deep in the jargon that has forgotten the way back to more accessible language.
Once you’re familiar with the commands, no doubt as many others have said it’s more efficient (especially once you’re knowledgeable enough to write scripts for frequent sets of commands), but there is a learning curve at play as one muddles through documentation in a similar way to an unfamiliar GUI.
If you understand that the terminal is better in the long run then you answered your own question, most people who fiddle with servers do so for a long time so the time investment is worth it. A similar analogy is learning knife skills, if you just cook for yourself being able to chop an onion in seconds saves you a minute a day from the one onion you used, not really worth outside being a neat party trick. But if you work in a kitchen that’s mandatory, chopping an onion in seconds means you save an hour for the 60 onions you chop in preparation for the service. Same idea for GUIs/terminal, it has a higher learning curve but if you try to avoid the curve you’ll never be able to do it fast, so the time investment is worth it if you’re going to be doing this daily (like most server admins do)
Same idea for GUIs/terminal, it has a higher learning curve but if you try to avoid the curve you’ll never be able to do it fast, so the time investment is worth it if you’re going to be doing this daily (like most server admins do)
Yeah, part of the thinking behind this question was with those doing this more as a hobby in mind (e.g. self-hosters) where it’s sort of a limbo. You may be doing it daily as part of your hobby, but also never on the level that really demands the degree of proficiency or efficiency you describe as you’re not going to be casually handling a large network of servers (probably), so on one hand learning the CLI may simply be part of the fun, but on the other, it may also lean into overkill depending on what you’re aiming to do.
I think it’s still worth learning it as a hobbitst, same thing as the knife skills for someone who likes to cook, you don’t need to be super proficient with a knife, but the basics of knife skills will up your cooking by a lot, at some point you’ll reach diminishing returns and you’ll stop learning, but the basic is almost essential. Same thing for CLI, you don’t need to become a master in the command line, but being comfortable around it will help you a lot. In other words, trying to run a server without CLI is like trying to cook without a knife, is it possible? Depending on what you’re trying to do yes but in general you’re shooting yourself in the foot, just because a blender can replace a knife in some instances doesn’t mean you can use it for all of the same things you would use a knife, a GUI is the blender of servers, it makes some things easier but is not as versatile.
No, any documentation >>> GUI. GUI relies on your previous experience with similar environments. Just jump into a GUI of Visual Studio (not code) project configuration and see for yourself.
No it’s legit. Most servers nowadays are Linux so if you’re working on a specific server you are using the command line.
It’s way more efficient generally.
GUI can be great for quick specific tasks but you are limited by the features added by the software.
Depends on the kind of server - Linux, yes, command line all the way. Windows (and Active Directory and other Microsoft stuff) you use GUI mostly in combination with some PowerShell scripts (often running on the “command line”).
There are still people running Windows Servers? An Active Directory Domain Controller can easily be set up on Linux.
Yep, many corporates.
At my work it’s all command line or inside the code Itself. No need to be scared of the cli.
Yes, I manage my Raspberry Pi Plex/Pi-Hole/OpenVPN server using command line because, well, it’s Linux.
Also for work I manage Windows Server based systems and although this is a largely GUI based operating system, Command Prompt/Powershell are still tools I use daily to provide more control and depth over what I can do (bulk admin actions, for example).
I don’t really use command line out of preference - moreso because it’s the necessary tool for the job.
I’ve seen both. But typing in a command or writing it into a script or configuration file and then activating it for 80 servers is way faster and easier than logging in into everyone and clicking some menus and buttons with the mouse. Or you have mantenance every 2 weeks and it’s super easy to launch a prepared script instead of dragging and dropping files with the mouse for hours.
Also people vastly overestimate how difficult it is to use the command line. It needs a certain amount of knowledge, true. But it it is not a big deal compared to knowing the concepts behind your server, how a webserver or some network works etc.
Linux servers usually don’t have the graphical interface installed, because nobody bothers and it’d be a waste of space and time.
I work with embedded devices, and to some degree also servers. Graphical user interfaces are usually ignored as they just take up space and resources, and you can’t even do half of what you can in the terminal (assuming you know your way around a terminal, but being a server admin, you really should).
Web interfaces are usually used for status pages, or if anyone who isn’t you or a fellow admin needs to to anything as, you guessed it, they are very restrictive, so the other party hopefully can’t do much damage.
For my Debian server in the basement of my house, yes. I rarely log into it directly, and just ssh in from my desktop or my laptop.
Same goes with the server I rent for my website. I always use command line for that.