Brisanje, kopiranje ili premeštanje velikog broja fajlova odjednom, zgodna komanda, deo 1

Jel vam se desila frustrirajuća situacija, kada morate brzo da obrišete veliki broj fajlova, a vama se javi ovo:
# rm -rf *1
bash: /bin/rm: Argument list too long

E meni jeste, i nervira maksimalno, jer izgleda da Linux kernel ima takvo ograničenje (bar na RHEL4U5, gde sam ja probala) na negde oko 1000 fajlova.

Ali ima lek i za to (radi se iz foldera u kome su fajlovi za brisanje) :
# find . -name ‘*1’ | xargs rm
Ili
# find . -type f -name “xyz*” -delete
I to (bar koliko sam videla) ograničenje po broju fajlova nema.
Izgleda da to radi samo ako u imenu fajlova nema praznog mesta (space), ali to je retko slučaj.
A ovo je sajt gde sam našla rešenje za glavobolju! Svaka čast.

Kako kopirati veliki broj fajlova iz jednog foldera u drugi :
# rsync -a /some/path/to/src/ /other/path/to/dest/
Ili :
# echo * | xargs -i cp {} /your/dest

Kako premestiti veliki broj fajlova (SAMO fajlova, NE i foldera) iz tekućeg direktorijuma u neki drugi :
# mv `find . -type f` /ciljni-folder
??????

Comments are closed.