I’ve received a few help request emails from the older crowd interested in Linux, and a few of them ask the same type of question that can roughly be summed up as this:
Can I "pick apart" Linux like I could with MS-DOS?
I’ll explain what the above means. MS-DOS, or just about any DOS in general for that matter (PC DOS, DR-DOS, etc.), is very easy to understand and use because those OSes were limited by the hardware available at the time they were released.
Certain older computer users have a very strong affection for MS-DOS because they know it so well, and want to be able to achieve the same level of knowledge with Linux at the command line. After all, MS-DOS wasn’t hard, so how difficult could Linux be, right?
I won’t say Linux at the command line is difficult, but it can be frustrating. There are a few basic things you have to know when using Linux at the command line.
TSRs vs. Processes
When you’re running MS-DOS, the only stuff running in the background are TSRs. You probably know exactly where these TSRs are physically loaded from, how they’re run, why they’re run and so on.
The most simple example of a TSR in MS-DOS I can think of is MOUSE.COM, which enables usage of the computer mouse in MS-DOS apps like EDIT. The mouse driver loads on load of AUTOEXEC.BAT, stays loaded and enables use of that peripheral device.
Linux on the other hand has a whole bunch of processes that begin on startup via init. This is a totally different animal compared to MS-DOS. Processes are given IDs, and you can read all about them at the aforementioned link.
Do you have to know all the ins and outs of init? Not really. The point is that this is not the MS-DOS you’re used to.
If you want to see all the current processes running at the Linux command line, a tutorial is here explaining in simple terms how to do it via the ps command.
Single-task vs. Multi-task
MS-DOS is primarily a single-task environment; Linux is multi-tasking capable and can do it easily.
It’s a good idea to know how to switch between tasks at the Linux command line, because after all, you have the ability so you might as well use it.
The way Linux multi-tasks at the command line is from the use of foreground and background "jobs". This tutorial explains very well how to work with command line Linux multi-tasking, the use of foreground/background/stopped jobs and so on.
"Not in your face" environment
The best way I can describe the difference between MS-DOS and Linux is that DOS is always in your face while Linux isn’t.
Old-school DOS users are very used to having everything presented to them all up front just about anywhere in the environment; this is due to DOS’ single-task way of doing things. Whatever DOS is doing, you see it.
Linux isn’t like that. Most of the time the Linux environment won’t tell you what’s going on by design.
You can think of it this way: DOS is "I’ll tell you everything" and Linux is "I’ll tell you everything, but only if you ask for it."
In Linux, the assumption is made that you, the user, will make the OS run however you want it to and for the OS to just stay out of the way unless you tell it something different. This stark openness is unnerving to those used to the DOS prompt because it’s a completely different way of operating on the command line.
The Big Question however is this: Even with Linux’s stark openness, does it provide a more powerful, get-more-done command line experience? Yes. In Linux you’re running the same OS used in super-powerful UNIX mega-computers, so of course it’s better than DOS ever was.
Where do you go to get just the command line (i.e. no GUI) and nothing else?
Linux users have varying debates (read: arguments) on what to use for a "pure Linux" environment. In fact, I don’t even know what "pure Linux" actually means because definitions of that vary. (If you want to take a stab at the definition of "pure Linux", please feel free to post a comment and explain it, because I can’t.)
To get to where everything starts in Linux, you have to get away from the "based on" distributions and get to the "originals". There are three. Debian, Slackware and Red Hat.
For the new Linux command line user, Slackware and Debian will hit you like a ton of bricks and you’re probably not going to like it – although don’t let my words dissuade you from trying either of them out. Red Hat is commercial now and has been for some time, so you’re probably not interested in paying for it.
A distribution which is by nature minimal that allows you to learn how things are done in Linux from the ground up (mostly) is Arch Linux. If you want a Linux environment that dumps you at a command line once installed and lets you learn it in such a way where you feel a good sense of accomplishment as you go along, Arch is what you want. The Beginner’s Guide for Arch is one of the best-written I’ve ever seen for the Linux command line environment.
"Picking apart" an OS ultimately means having to learn it first, starting at the command line. So for you older DOS users out there that wanted a Linux that let’s you build it, so to speak, Debian, Slackware and Arch are really good for that; that’s where you begin.

Like what you read?
If so, please join over 28,000 people who receive our exclusive weekly newsletter and computer tips, and get FREE COPIES of 5 eBooks we created, as our gift to you for subscribing. Just enter your name and email below:



Yes, they are still out there. I know because I hang out with a couple of DOS Dawgs and/or OS/2 Warped heads. I love those guys in all seriousness. I think of Slackware and when they tried it, they flat out wanted to kill me. I keep their old PC’s running but there is coming a day when it will end. I had one get buried recently, we went with a little more modern hardware and installed eComStation 2.0. He did not like paying that 119.00
They sound like candidates for Arch Linux, to be sure. Slackware is well known for not being user-friendly. It’s a powerhouse OS, no question, but takes a good long while to get the hang of how it does things.
Given the choice of “modern retro” OSes that you actually have to pay for, my personal preference wouldn’t be eCS 2.0 but rather AmigaOS 4.1; it costs about the same as eCS does.
Good article. I’m a younger geek, and grew up on Windows, but learned Linux mostly through Slackware in school. Of course, we had KDE or some such on top (if we wanted it). I’ve had experience with commandline-only Linux mostly through CentOS which I also used in class, and used running on a dedicated server I rented for a while.
It definitely pays to learn things screen when you’re working in a commandline-only environment. Screen was a lifesaver.
Why would anyone do this? In a world which includes Cinnamon, Arch requires spending a huge length of time learning things I don’t need to know.
I don’t know about other cities, but in Toronto I can spend $70 and get a computer which runs Mint with Cinnamon just fine.
That’s like asking the question of why some people prefer manual transmissions in cars over automatics. The Mint team’s “vision” of the desktop should be (which is what Cinnamon is supposed to represent) is well done and great for the desktop – graphically. But there are some computer users who would want to start at the command line because that’s how they prefer it.