0

In Operating System concept i want to write a C program to make Unix command works as DOS commands. It Means when ever i press Unix Command like ls -which is used for Display list of Files- it works like Dir command in DOS.Could you please help me out with this?

EniGma
  • 2,444
  • 4
  • 22
  • 33
  • Most shells have the `ls` command built-in, and it often contain many options to control its output. So what you should do is create a shell alias to add the options you want for the format you want. – Some programmer dude Mar 27 '15 at 09:48
  • `ls -l | awk '{printf "%s %s %s %20d %s\n", $6, $7, $8, $5, $9}'` – pmg Mar 27 '15 at 10:04
  • 1
    You can study source code of the [win-bash - "A stand-alone bash for Windows"](http://win-bash.sourceforge.net/) or [Cygwin - "Get that Linux feeling - on Windows"](https://cygwin.com/index.html) projects. They do what you want to build, but in a more complete and more complicated way than "_practice and write a c program to do so_". Studying similar/competitor's source code is good way to find out how to implement things – xmojmr Mar 27 '15 at 12:57

1 Answers1

2

Starting with the ls command as example, take input from user for the command. If the command is ls call a windows function that will display the content of the current working directory(). For ls,

  1. you need to get first the current working directory. GetCurrentDir() for windows will be your first step. This will help How do I get the directory that a program is running from?
  2. Then you can list the files in directory like this https://msdn.microsoft.com/en-us/library/windows/desktop/aa365200(v=vs.85).aspx. But you do need the output of first step.

Other commands can also be implemented like this

Community
  • 1
  • 1
Yasir Majeed
  • 739
  • 3
  • 12