Hello my name is Naresh. I need to get this project done in C language please (if possible).
Project: Linux System Calls and Library Functions
Implement the task specified in Exercise 5.39 (p. 180) in your text by Robbins/Robbins. Do only questions 1–4 in the assign- ment, that is, you do not have to do breadthfirstapply. Your executable will be called mydu.
This exercise deals with the implementation of the Unix application known as du. The command du displays the size of subdirectories of the tree rooted at the directories/files specified on the command-line arguments. If called with no argument, the du utility uses the current working directory.
Your solution will be invoked using the following command:
mydu [-a] [-B M | -b | -m] [-c] [-d N] [-H] [-L] [-s] <dir1> <dir2> ...
-a Write count for all files, not just directories.
-B M Scale sizes by M before printing; for example, -BM prints size in units of 1,048,576 bytes.
-b Print size in bytes.
-c Print a grand total.
-d N Print the total for a directory only if it is N or fewer levels below the command line argument. -h Print a help message or usage, and exit
-H Human readable; print size in human readable format, for example, 1K, 234M, 2G.
-L Dereference all symbolic links. By default, you will not dereference symbolic links.
-m Same as -B 1048576.
-s Display only a total for each argument.
When you use perror, please print some meaningful error messages.
The format for error messages should be: mydu: Error: Detailed error message
where mydu is actually the name of the executable (argv) and should be appropriately modified if the name of executable
is changed without a need for recompilation.
It is required for this project that you use version control, a Makefile, and a README. Your README file should consist, at a minimum, of a description of how I should compile and run your project, any outstanding problems that it still has, and any problems you encountered. Your Makefile should use suffix-rules or pattern-rules and have an option to clean up object files.
You are free to use your own data structures and algorithms to perform the depth-first search. Your code should give proper results if the directory is empty, or if the directory does not contain any more subdirectories. Your code should properly account for the file size, possibly by using stat(2) family of functions. Do not use system(3) function for anything.