Skip to main content

Kaip kopijuoti didelius failus konsolėje?

Kai konsolėje bandai kopijuoti didelius failus, po komandos vykdymo nieko nematai ir nežinai kiek dar liko kopijuoti, kada baigsis ar kopijavimas išvis sustojo…

Ieškodamas internete radau komandos cp pačą, kuris prijungi prie komandos cp parametrą -g, rodanti kiek liko kopijuoti. Tačiau tokie dalykai labiau tinka Gentoo naudotojams, kur viskas kompiliuojama, o aš naudoju Ubuntu, kur viskas jau sukompiluota ir gražiai padėta .deb paketuose.

Taip pat radau įvairių shell scriptų, kurie rodo progress barą, tačiau tie scirptai tokie dideli ir jų veikimo stabilumas abejotinas…

Galiausiai sugalvojau pateikti pasiūlymą Ubuntu programuotojams, kad įtrauktą tą cp pačą ir Ubuntu pagal nutylėjimą turėtu cp -g. Radau, kad toks noras jau buvo išreikštas #64067. Tačiau panašu, kad upstreame reikalas juda labai lėtai ir Debian žmonės nelabai nori to cp -g patobulinimo: #185152.

Toje pačioje vietoje radau puikų patarimą!

Also the functionality of progress bars exists in rsync. If someone wants a tool with everything including the kitchen sink then using rsync works well and already exists.

rsync --progress -av SOURCE DESTINATION

Bob

Radau tai ko ieškojau! Greitai į savo ~/.zshrc įrašiau eilutę:

alias gcp='rsync --progress -ah'

Kopijuodamas didelius failus galiu stebėti pilnutėlę informaciją:

46.99M   6%   22.40MB/s    0:00:29