Problem / Exercise For this lab, you will implement your own version of the rm systems program, a standard Unix utility that attempts to remove files or directory files using the unlink(2) and rmdir(2) system calls. If the permissions of the file do not permit writing, and the standard input device is a terminal, the user is prompted (on the standard error output) for confirmation. The command-syntax is: $ ./rm [-rf] file... Your implementation should match the output of the existing rm utility. The -r option causes rm to attempt to recursively remove the file hierarchy rooted in each file argument (see opendir(3), readdir(3), and closedir(3)). If the user does not respond affirmatively, the file hierarchy rooted in that directory is skipped. The -f option causes rm to assume affirmative responses from the user, foregoing any prompting. Take special precautions NỘT to recurse on the .. directory entry. Also think carefully on what you want to do with the . directory entry. If you are concerned, backing up important files on your odin account before testing your code may be a good idea. You are NOT allowed to use the exec, system, popen, and pclose system calls or functions in your implementation. You are not allowed to call the existing rm implementation. You must supply your own implementation that uses low-level file I/O (APUE Ch. 3), if needed. The system calls and C library functions needed to complete this lab may not be explicitly discussed in class. You may need to read the manual pages or look up in the textbook/online on how to use certain system calls and C library functions.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Need help in making this in C++

Problem / Exercise
For this lab, you will implement your own version of the rm systems program, a standard Unix utility that attempts to remove
files or directory files using the unlink(2) and rmdir(2) system calls. If the permissions of the file do not permit writing,
and the standard input device is a terminal, the user is prompted (on the standard error output) for confirmation. The
command-syntax is:
$ . /rm [-rf] file...
Your implementation should match the output of the existing rm utility. The -r option causes rm to attempt to recursively
remove the file hierarchy rooted in each file argument (see opendir(3), readdir(3), and closedir(3)). If the user does not
respond affirmatively, the file hierarchy rooted in that directory is skipped. The -f option causes rm to assume affirmative
responses from the user, foregoing any prompting.
Take special precautions NOT to recurse on the .. directory entry. Also think carefully on what you want to do with the
directory entry. If you are concerned, backing up important files on your odin account before testing your code may be a
good idea.
You are NOT allowed to use the exec, system, popen, and pclose system calls or functions in your implementation. You
are not allowed to call the existing rm implementation. You must supply your own implementation that uses low-level file
I/O (APUE Ch. 3), if needed.
The system calls and C library functions needed to complete this lab may not be explicitly discussed in class. You may need
to read the manual pages or look up in the textbook/online on how to use certain system calls and C library functions.
Transcribed Image Text:Problem / Exercise For this lab, you will implement your own version of the rm systems program, a standard Unix utility that attempts to remove files or directory files using the unlink(2) and rmdir(2) system calls. If the permissions of the file do not permit writing, and the standard input device is a terminal, the user is prompted (on the standard error output) for confirmation. The command-syntax is: $ . /rm [-rf] file... Your implementation should match the output of the existing rm utility. The -r option causes rm to attempt to recursively remove the file hierarchy rooted in each file argument (see opendir(3), readdir(3), and closedir(3)). If the user does not respond affirmatively, the file hierarchy rooted in that directory is skipped. The -f option causes rm to assume affirmative responses from the user, foregoing any prompting. Take special precautions NOT to recurse on the .. directory entry. Also think carefully on what you want to do with the directory entry. If you are concerned, backing up important files on your odin account before testing your code may be a good idea. You are NOT allowed to use the exec, system, popen, and pclose system calls or functions in your implementation. You are not allowed to call the existing rm implementation. You must supply your own implementation that uses low-level file I/O (APUE Ch. 3), if needed. The system calls and C library functions needed to complete this lab may not be explicitly discussed in class. You may need to read the manual pages or look up in the textbook/online on how to use certain system calls and C library functions.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY