Permalink
Browse files

Replace cp verbose with rsync

Rsync can help track progress while file is copying
  • Loading branch information...
1 parent 921d2f4 commit 55c69017c501e30c8aa5a89104575f2863a26663 @skatkov skatkov committed Sep 18, 2012
Showing with 14 additions and 0 deletions.
  1. +14 −0 plugins/cp/cp.plugin.zsh
View
14 plugins/cp/cp.plugin.zsh
@@ -0,0 +1,14 @@
+#Show progress while file is copying
+
+# Rsync options are:
+# -p - preserve permissions
+# -o - preserve owner
+# -g - preserve group
+# -h - output in human-readable format
+# --progress - display progress
+# -b - instead of just overwriting an existing file, save the original
+# --backup-dir=/tmp/rsync - move backup copies to "/tmp/rsync"
+# -e /dev/null - only work on local files
+# -- - everything after this is an argument, even if it looks like an option
+
+alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --"

3 comments on commit 55c6901

@massimoca

Should remove "--" to allow for tab completions

alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress"
@mcornella
Collaborator

That will make it accept rsync options as well, which is why the -- was put in place. It should work fine, but apparently the rsync completion doesn't account for that, so it doesn't work. What we want instead is to force completion of cpv to only allow files. I'll look into it and put a PR in place.

@massimoca

Okay awesome. Thanks for the alias/plugin it's really useful, especially the backup feature.

Please sign in to comment.