If I run
cp file1 file2
I'd like to be able to track it's progress. Is there a command I can use for this?
rsync --progress
has this, but is there something generic, usable for "any" command?
If I run
cp file1 file2
I'd like to be able to track it's progress. Is there a command I can use for this?
rsync --progress
has this, but is there something generic, usable for "any" command?
You can use pv to see the progress of any command that can transfer data through pipes.
See e.g. http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ for explanations. This will not work for cp however, as it does not operate via pipes.
Beyond that, there's no general mechanism I am aware of. It would be difficult, since "progress" can mean different things to different commands.
BTW, cp has an option -v which lists files as they are copied, that can give you a rough idea of its progress.
Edit:
Though it might not directly answer your question: You can also just use a graphical file manager. Most provide a nice progress bar when copying / moving files (e.g. KDE's konqueror does).
try append --verbose to commmands you are interested in, this will generally produce more infomation on progress.
(Perhaps not quite what you're asking since it won't work for any command, but) to get a progress meter for cp, I sometimes (ab)use scp:
scp localhost:/path/to/source_file /path/to/destination
You will need the "localhost:" prefix on either the source or destination so scp won't fall back to a standard cp.