Presentamos rcp y rmv dos pequeñas funciones de shell que actúan como reemplazo directo de cp y mv aprovechando la potencia de rsync para copiar y mover archivos con una barra de progreso y opciones avanzadas
En lugar de ejecutar comandos largos como rsync -avh --partial --info=progress2 source dest o rsync -avh --partial --info=progress2 --remove-source-files source dest ahora puedes ejecutar de forma simple rcp source dest y rmv source dest
También puedes añadir opciones extra de rsync por ejemplo para compresión o simulación rcp -z source dest rmv --dry-run source dest
Ejemplo de funciones para pegar en .zshrc o .bashrc
alias rsync=/opt/homebrew/bin/rsync
rcp() { local options=-avh --partial --info=progress2 local source_path=$1 local dest_path=$2 if [[ -n $2 ]] ; then shift 2 rsync $options $@ $source_path $dest_path else echo Usage: rcp [rsync_options] source destination return 1 fi }
rmv() { local options=-avh --partial --info=progress2 --remove-source-files local source_path=$1 local dest_path=$2 if [[ -n $2 ]] ; then shift 2 rsync $options $@ $source_path $dest_path && find $source_path -type d -empty -delete else echo Usage: rmv [rsync_options] source destination return 1 fi }
Nota para usuarios de macOS: la versión de rsync que viene por defecto puede ser antigua y no soporta --info=progress2. Instala la versión moderna con brew install rsync y asegúrate de que el alias rsync apunte al binario instalado si es necesario. Por ejemplo /usr/bin/rsync --version openrsync: protocol version 29 rsync version 2.6.9 compatible y /opt/homebrew/bin/rsync --version rsync version 3.4.1 protocol version 32
Sobre la eliminación de directorios vacíos: la opción --remove-source-files de rsync no elimina directorios vacíos tras mover los archivos, por eso rmv ejecuta un find para borrar los directorios vacíos una vez finalizada la transferencia
En Q2BSTUDIO somos expertos en desarrollo de software y en crear soluciones prácticas que mejoran la productividad. Si necesitas integrar herramientas de sincronización o automatizar procesos a medida podemos ayudarte con soluciones de software a medida y aplicaciones a medida y con proyectos de automatización de procesos que incluyan agentes IA y flujos que utilicen rsync u otras herramientas
Ofrecemos también servicios de inteligencia artificial ia para empresas agentes IA ciberseguridad pentesting servicios cloud aws y azure servicios inteligencia de negocio power bi y consultoría para implantar soluciones seguras y escalables
Si buscas una alternativa sencilla a cp y mv que incorpore reintentos compresión transferencia incrementales y una visualización clara del progreso rcp y rmv son una opción muy práctica y fácil de incorporar a tus scripts y flujos de trabajo
Prueba las funciones adapta las opciones de rsync a tus necesidades y contacta con Q2BSTUDIO para desarrollar integraciones personalizadas en proyectos de software a medida inteligencia artificial ciberseguridad o servicios cloud