A Brief Comparison of DOS and UNIX

This document aims to briefly outline the differences and similarities between UNIX and DOS (MS-DOS, DR-DOS etc.). This is so that newcomers to UNIX can get started quicker if they already know a little about DOS.

For more information on specific commands, consult the UNIX on-line manual pages. For further information about UNIX in general, read UNIXhelp for Users.


  1. Differences
  2. Similarities
  3. Command-Line Interface Cross-Reference

1. UNIX vs DOS: Differences

Number of Users
DOS is Single-User, UNIX is Multi-User

Task Processing
DOS is Single Process, UNIX supports multi-processing, multiple processes per user, and job control from the shell

Command-Line Interface
DOS has its command interpreter (command.com). UNIX has the shell (C-shell, Korn Shell, Bourne Shell etc.)

Some versions of DOS allow password protection on file. UNIX has username/password for logins, and user/group/world permissions on files and directories.

DOS runs on Intel processors and compatible devices (8088, 8086, 286, 386, 486, Pentium). UNIX is available for a very wide variety of hardware platforms.

Shell-Level Programming
DOS has batch files. UNIX has shell scripts.

2. DOS vs UNIX: Similarities

     Feature                        Similarity                  

File System         Hierarchical directory structure.           

File Access         Permissions (read, write etc.) on files,    
                    programs and directories.                   

Task Input/Output   Standard Input, Output and Error            
                    channels. Input/output of one task may be   
                    connected to another process via "pipe"     
                    or redirected to/from file.                 

3. UNIX vs DOS: Command Line Cross-Reference

          UNIX                  Feature                   DOS             

mkdir <dir> create directory mkdir <dir> or md <dir>
chdir <dir> or cd <dir> change directory chdir <dir> or cd <dir>
ls list files in dir directory
cat <file> display file type <file>
cat <file> | more page file or type <file> | more more <file>
cp <file1> <file2> copy file copy <file1> <file2>
rm <file> delete file del <file>
mv <file1> <file2> rename file ren <file1> <file2>
grep <string> <files> find text string find <string> <files> in files
date print/set time time date print/set date date

© Chris Hand, cph@dmu.ac.uk