I have been working with various Linux distributions much more these days than in the past (using it heavily for about four years now). Spending all that time in the shell has flooded the mind with memories of days gone by. When we used to have to know our systems well to properly configure the simple task of booting (config.sys and autoexec.bat), we had to master many technical skills. I am amazed, nearly every day, at how often those old skill still prove valuable to me.
Remember screens like this?
If not, you didn’t work with DOS. If so, you did. If not, don’t distress, you can learn the skills you need to get by in the Windows Command Prompt, PowerShell or the shell in a Linux distribution.
In this post, I’m going to focus on three skills we had to master in the DOS days that are still valuable today. They were:
- Getting Help
- System Diagnostics with Commands
- Automating Work
Getting Help
At the DOS prompt (and still in the Command Prompt or PowerShell in Windows and the shell in Linux) help was always just a simple switch away. For nearly every command or program, you could simply add a /? to the command to find out exactly what the command could do (in Linux, it’s usually -h or –help). Those who learned (and still learn) commands this way are always more powerful users or administrators than those who simply learn specific command parameters for specific tasks from books, blogs and articles.
The reason for this reality is simple: when you use the help to see all the command can do, you often learn of uses that others have not demonstrated or used themselves. This makes you better. This makes you more effective. This gives you the ability to impress your family by typing unneeded and harmless commands that make it look like you’re doing something really powerful to resolve their problem. It’s always fund to type several tasklist, sc, and other commands and then reboot, when you really just wanted to reboot. It keeps the mystery alive!
Consider the mem command shown earlier from DOS. If you simply typed mem and pressed ENTER, you saw a screen like the following.
Now look at all you learned about the mem command if you used the /? parameter.
I can already hear someone saying, “Wait, Tom. The mem command is not in the Windows Command Prompt anymore. How does this help?” That’s a great question. The answer is that you can find other commands, related to memory, that you can use and use with power when you learn to get help. Consider the tasklist command in Windows.
The following screen shows the output of a basic tasklist command with no parameters:
It is showing every process, regardless of the memory consumed by it. Now, look at the help for the tasklist command using the /? parameter.
Notice that you can do several things to refine the list, particularly in relation to memory usage.
Armed with this information, I can now use the /FI filter parameter to see only tasks consuming more than 15,000 kilobytes of memory with the tasklist /FI “MEMUSAGE gt 15000” command.
As you can see, getting help is key to learning Command Prompt or shell commands. In Linux, you typically use the —help parameter for this. In PowerShell, use the Get-Help cmdlet to accomplish this.
System Diagnostics with Commands
The old DOS prompt gave us several tools for performing system diagnostics. In addition to the mem command, you had commands like checkdsk, ver (both still in the Command Prompt), and undelete (sadly, no longer with us). The Command Prompt is actually far more powerful today in Windows than it ever was in DOS. Dozens of additional commands are available for diagnostics. In addition to tasklist, important commands include:
- sc – service management
- ipconfig – IP configuration viewing and management
- netsh – a plethora of networking functions
- systeminfo – viewing information about hardware and software
- ftype – working with file associations
This is a very brief starter list. Type help at the Command Prompt (just like in DOS by the way) to see a list of common commands as shown in the following image. Remember to use the /? parameter with them to learn all the details of how they work.
Automating Work
Finally, you can automate the Command Prompt using batch files and PowerShell or the Linux shell using scripts (PowerShell scripts and bash scripts respectively). The batch files work almost entirely the same in the Windows Command Prompt today as they did in DOS 25+ years ago when I used them. Of course, some of the old commands are gone, but the logic and concepts are still the same.
The point of this post is simple. Never discount old knowledge. It continues to benefit you today. In fact, I can say plainly that I passed a certification exam a couple of years ago almost entirely because I knew DOS all those years ago. And, yes, I still have my old DOS books including great books on batch files. Here’s a picture of just one.
And, yes as well, the Disk is still included after all these years.
Happy shelling and enjoy one of my other sites, windowscommandline.com that contains hundreds of great tips on using the Windows Command Prompt.
-Tom