4 ms·
Easier: install Pipe Viewer (http://www.ivarch.com/programs/pv.shtml http://www.ivarch.com/programs/pv.shtml) and, instead of cp a b run pv < a > b
by panic 17y ago
Easier: install Pipe Viewer (http://www.ivarch.com/programs/pv.shtml http://www.ivarch.com/programs/pv.shtml) and, instead of
cp a b
run
pv < a > b
- philjackson 17y agoI like pv and find myself using it when bziping large files (where the blocker is bzip). It must have a negative impact on the speed of a copy. *Hmmm, I can't back up my own predictions: cp huge blah 0.11s user 7.94s system 6% cpu 2:12.54 total pv < huge > something 0.12s user 8.10s system 7% cpu 1:54.86 total
- __david__ 17y agoI love pv. It's great because it's pretty much a drop-in for "cat" that gives you fancy progress bars. But for copy I tend to use "rsync -aP". It has progress but not a bar and just feels more like a replacement for cp to me.
- w1ntermute 17y agoFor those of you interested in making it a permanent replacement for cp, you can use this Python script: #!/usr/bin/env python from sys import argv from subprocess import Popen copy_from = open(argv[-2],'r') copy_to = open(argv[-1],'w') Popen("pv", stdin=copy_from, stdout=copy_to) copy_from.close() copy_to.close() Just alias cp to it in Bash.
- ajross 17y agoUm... in what universe would you want an interactive terminal gadget to become the default implementation of cp? Yikes. Still, nice pointer to the pv tool, which I hadn't heard of. Still still, the linked awk snipped is awfully clever and more fun to read.
- philjackson 17y agoWhat? I think the override is fine in an interactive environment. My team and I use a hack which overrides cd and as well as calling builtin cd it sources a script if it exists from cwd. This means you can get the exact enviroment you need for that working copy of a project.
- rntz 17y agoAlternatively, you could just write a shell function: cp() { pv < $1 > $2; } (Or name the function something else if you want regular cp still available.)
- olliesaunders 17y agoQuote the variables.
- rntz 17y agoAh, good point. I'm personally used to zsh, which doesn't have that particular misfeature.
- petercooper 17y agoMac users will be happy to learn that: sudo port install pv "just works" :-) (Well, assuming you use MacPorts anyway.)