21 marca 2007

Kasowanie kopii zapasowych plików

Wiadomo, żeby usunąć pliki '*~' zawierające kopie zapasowe w jakimś katalogu piszemy rm *~ .*~, niektórzy lubią napisać jeszcze -Rf. Nie skasuje to nam jednak plików kopii zapasowych w podkatalogach. Żeby to wykonać, można użyć takiego magicznego polecenia:
find ./ -name '*~' | xargs rm -r

Można się tego nauczyć na pamięć, ale oczywiście warto sobie przygotować skrypcik o powyższej treści np. o nazwie rmbak (i przy pomocy polecenia chmod +x rmbak nadac mu atrybut wykonywalności). Dobrze jest tego typu skrypty umieszczać w katalogu ~/bin . Jeżeli programiki tam umieszczone nie uruchamiają się, należy do pliku ~/.bashrc (ewentualnie jak potrzebujemy to do ~/.bash_profile) dodać taki wpis:
if [ -d ~/bin ] ; then
PATH="${PATH}":
~/bin
fi
Próba kasowania w katalogu, który nie zawiera żadnych plików tymczasowych kończy się komunikatem: rm: missing operand, ja go traktuje jako informację, że nie było nic do skasowania. Jeżeli komuś to nie pasuje, to wystarczy dodać opcję -f(orce), czyli polecenie będzie wyglądać tak: find ./ -name '*~' | xargs rm -rf

Brak komentarzy: