Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

****Please include this in one script and add comments and not too difficult to understand. As you know, rm (short for remove) is a Unix/Linux

****Please include this in one script and add comments and not too difficult to understand.
As you know, rm (short for remove) is a Unix/Linux command which is used to delete files from a filesystem and rmdir (short for remove directory) is a Unix/Linux command used to delete directories/folders from the filesystem. When rm or rmdir command is used with the file/directory name(s), it deletes all given files/directories without need for users confirmation. Furthermore, in any pure Unix/Linux system, removed files and/or directories cannot be reestablished (no trash container exists that holds files/directories for you after you deleted them). For example, if you issue a command $ rm abc.txt, it will delete file abc.txt from your working directory without any farther warnings. When you issue a command $ rm abc.txt def.txt, it will delete both files abc.txt and def.txt from your working directory without any farther warnings. And when you issue a command $ rmdir My*, it will delete all directories in your working directory which names start with My without any farther warnings. As you see, using commands rm and rmdir is fairly dangerous, since, especially when using wildcards, you can inadvertently delete files/directories that you did not intended to.
The goal of this problem is to write a script to remediate the shortcomings of rm and rmdir. You will write a script that allows user to pass to it, as positional parameter(s), file(s) or directoriy(ies) and stores them in a specific location on your filesystem before removing them permanently from their current locations.
Your script should:
(i) Check if a directory Trash exists under the Root directory (i.e., check if /Trash exists
on the computer the scripts is running)
- If yes, do nothing
- If no, create it and check if it was successfully created (check for the return
value of the command that creates a new directory)
(ii) Take as an input name(s) of the file(s) and/or directory(ies)
- If no argument (file name) was passed, warn a user that no argument was passed and exit with a non-zero status
- If at least one argument was passed, check if it(they) is(are) simple file(s), directories, or others
~ if passed argument is not representing the file or directory, warn the
user that no valid argument was received and exit with a non-zero
status
~ if the argument represents a valid file, copy the files to the /Trash
directory and permanently remove it from its initial location
~ if the argument represents a valid directory, copy the directory and all
its content (subdirectories and/or files it contains) to the /Trash
directory and permanently remove the directory from its initial location

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

2 What supply is and what affects it.

Answered: 1 week ago