530 Poznaj Linux
W ostatniej linii poleceń wykorzystujemy program xargs. xargs przyjmuje przychodzące do niego zmienne (w tym przypadku nazwy plików) i wykonuje na nich podaną zaraz za nim operację (usuwa pliki). Opcja polecenia find prinLO oddziela nazwy plików znakiem zera (0), co jest bezpieczniejsze niż newline. które potrafi sprawić, ze nazwy niektórych plików zostaną wzbogacone o tekst newline (zdarza się to co prawda bardzo rzadko, ale strzeżonego pan Bóg strzeże). Opcje -rO informują xargs, aby spodziewał się danych oddzielonych znakiem zero (0) i aby nie wykonywał polecenia, jeśli otrzyma jako argument pustą linię (r). W celu usuwania całych katalogów należy skorzystać z następującego polecenia:
♦ find / -user tb -prinCO | xargs -rO rmdir
Więcej informacji na temat polecenia xargs można znaleźć na poświęconej mu stronie dokumentacji systemu.
* Więcej o skryptach shella mówimy w rozdziale 22.
* O tym jak korzystać z cron t ab mówimy w rozdziale 26.
* Polecenia rm i rmd opisane są szczegółowo w rozdziale 3.
* Więcej informacji o poleceniu tar znajduje się w rozdziale 31.
Jedynym sposobem na odzyskanie usuniętych w Linuksic plików jest odtworzenie ich ze zarchiwizowanych kopii utworzonych uprzednio za pomocą programów tar lub ta-per. W Linuksie nie ma czegoś takiego jak Kosz systemu Windows 95, gdzie usunięte pliki trzymane są jeszcze przez pewien czas. Przeszukiwanie archiwów' w poszukiwaniu utraconego pliku umożliwia polecenie:
♦tar -tvz -f monthlybackup.tar.gz <nazwa utraconego pliku> tar poda teraz wszystkie pliki z archiwum monthl yhankup. tar. gz, o nazwie odpowiadającej podanej przez nas nazwie utraconego pliku. Aby odzyskać utracone pliki, należy utworzyć dla nich osobny katalog i rozpakować do niego pliki. Jest to bezpieczniejsze niż odtwarzanie ich od razu w miejscach, z których zniknęły. Zdarza się bowiem, że od tego czasu uległy zmianie niektóre ścieżki lub uprawnienia do katalogów, a czasami przydarzyć się może nawet, ze ktoś juz utworzył w tym samym miejscu nowy plik o tej samej nazwie. Pliki odtwarzamy następującym poleceniem:
#cd /hoire/me/restored_lostfiles
#tar —xvz -f mcnthlybackup. I ar . gz. <naz.ywy utraconych plików>
Po sprawdzeniu, że taka operacja nie spowoduje konfliktów z plikami, które już istnieją, można przenieść odtworzone pliki w ich oryginalne miejsca.