Write a bash shell script to carry out the following task: When you use the “rm”
ID: 3853393 • Letter: W
Question
Write a bash shell script to carry out the following task:
When you use the “rm” command in Linux, it will delete the specified files, with no chance for recovering them back later. Write a script (called srm) that will safely delete the files passed to it as command-line arguments. For example, typing the command: “srm file1 file2 file3”, the script shall not actually delete these files, but instead it shall move them to a /home/your-name/trash directory. Also, the script shall do the following:
1. When it starts, it shall check the trash directory for files older than 48 hours and delete them.
2. If the script is called with a –r switch (i.e. srm –r file1 file2 file3), then it shall not delete anything, but rather it shall recover these files by searching for them in the trash, and if it finds any one of them it shall move it back to the same directory it was deleted from.
3. If the script is called with a –h switch (i.e. srm –h file1 file2 file3), then it shall do the same as the –r switch, but found files shall be recovered to the current directory.
Explanation / Answer
Answer
to move the files, use the below command in the shell script:
Include the below statements in the srm.sh:
1. find * -mtime +2 -exec rm {} ;
This command will find the file and check if it is 2 days old (i.e 48 hr old) then it will delete the file
2. mv /home/your-name/trash/file_name <the directory path to which the file will be restored>
3. mv /home/your-name/trash/file_name .
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.