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?
has this, but is there something generic, usable for "any" command?
You can use
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.
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).
(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:
You will need the "localhost:" prefix on either the source or destination so scp won't fall back to a standard cp.