Files
2024-02-19 00:25:23 -05:00

42 lines
1.1 KiB
C

/* recover - un-remove a file Author: Andy Tanenbaum */
/* Unlike most UNIX systems, MINIX provides a way to recover a file that
* has been accidently rm'ed. The recovery is done using Terrence Holm's
* 'de' (disk editor) program, plus some patches to FS that keep the i-node
* number in the directory, even after the file has been removed. A file
* cannot be recovered after its directory slot has been reused.
*
* Usage:
* recovery file ...
*
* Note: the file names must be fully explicit; wild cards are not allowed.
* It is not possible, for example, to say recover *.c. All the files must
* be named in full. Since the last two bytes of the directory entry are
* used for the i-node number, only the first 12 characters of the file name
* count. Full 14 character file names can be specified, however, only the
* last two characters, in fact, play no role in locating the file.
*/
main(argc, argv)
int argc;
char *argv[];
{
int i;
char buf[1024];
if (argc == 1) usage();
for (i = 1; i < argc; i++) {
strcpy(buf, "de -r ");
strcat(buf, argv[i]);
system(buf);
}
}
usage()
{
std_err("Usage: recover file ...\n");
exit(1);
}