Saltar al contenido
GEEKnodes

Raspberry Pi · Actualizado el

Ver el progreso al copiar o mover archivos en Raspberry Pi OS Lite

Ve el porcentaje, la velocidad y el tiempo restante al copiar o mover archivos en Raspberry Pi OS Lite con progress, rsync, pv y dd desde el terminal.

Cuando copias o mueves archivos grandes en Raspberry Pi OS Lite con cp o mv, el terminal se queda «en espera» sin decirte nada hasta que termina. Con un disco USB lento o una copia de varios gigas, no saber si va por el 10 % o por el 90 % desespera. En esta guía tienes varias formas de ver el progreso, empezando por la utilidad progress que proponía el artículo original.

Antes de empezar

  • Raspberry Pi OS (Lite o con escritorio) y acceso al terminal, en local o por SSH.
  • Lista de paquetes al día:
sudo apt update

Opción 1: progress, para ver comandos que ya están en marcha

progress es una pequeña utilidad que busca en /proc los comandos de coreutils en ejecución (cp, mv, dd, tar, gzip/gunzip, cat…), mira qué archivos tienen abiertos y en qué posición van, y te muestra el porcentaje, la velocidad y el tiempo restante. Su gran ventaja es que funciona con una copia que ya has lanzado.

Una segunda terminal consulta el porcentaje y el ritmo de una copia que sigue ejecutándose.
progress observa una copia ya iniciada y muestra cómo avanza.

Instalarlo

La versión original de este artículo lo compilaba desde GitHub, pero hoy está en los repositorios de Debian para Bookworm y Trixie, tanto en 32 como en 64 bits, así que basta con:

sudo apt install progress

Usarlo

Lanza tu copia como siempre en una sesión de terminal:

cp /media/usb/pelicula.mkv ~/videos/

Y en otra sesión (otra ventana SSH, por ejemplo) ejecuta:

progress

Te mostrará una línea por cada copia en curso. Para que se actualice continuamente hasta que termine:

progress -M

Sal con Ctrl+C. Otras formas útiles:

# Lanzar la copia en segundo plano y seguirla en la misma terminal
cp pelicula.mkv /media/usb/ & progress -mp $!

# Vista compacta que se refresca cada 2 segundos
watch progress -q

$! es el PID del último proceso lanzado en segundo plano, y -m hace que progress lo vigile hasta que acabe.

En este vídeo puedes ver progress funcionando en una Raspberry:

Opción 2: rsync, ideal para carpetas

rsync viene instalado en Raspberry Pi OS y, además de copiar, puede reanudar una copia interrumpida. Para ver el progreso global de toda la transferencia:

Comparación del contenido copiado con `fotos/` y la carpeta anidada al usar `fotos`.
La barra final del origen cambia si se copian los contenidos o la carpeta completa.
rsync -ah --info=progress2 /media/usb/fotos/ ~/fotos/
  • -a conserva permisos, fechas y enlaces, y copia de forma recursiva.
  • -h muestra los tamaños en formato legible (MB, GB).
  • --info=progress2 enseña un único contador para todo el trabajo, en lugar de uno por archivo.

Para «mover» en vez de copiar, añade --remove-source-files: borra cada archivo del origen después de copiarlo (las carpetas vacías se quedan).

Cuidado con la barra final en el origen: fotos/ copia el contenido de la carpeta; fotos copia la carpeta entera dentro del destino.

Opción 3: pv, para tuberías y archivos sueltos

pv (pipe viewer) muestra una barra de progreso de cualquier dato que pase por una tubería. No viene instalado de serie:

Flujo de datos de una carpeta por `tar`, `pv` y `gzip` hasta crear un archivo comprimido.
pv muestra el avance de los datos mientras pasan por la tubería.
sudo apt install pv

Copiar un archivo con barra de progreso:

pv pelicula.mkv > /media/usb/pelicula.mkv

O comprimir una carpeta viendo el avance:

tar cf - fotos/ | pv | gzip > fotos.tar.gz

Opción 4: dd con status=progress

Si copias imágenes de disco o tarjetas, dd tiene su propio indicador:

Una imagen de disco se escribe en un dispositivo con una barra de progreso y aviso.
dd informa del avance al escribir la imagen en el dispositivo de destino.
sudo dd if=raspios.img of=/dev/sdX bs=4M status=progress conv=fsync

Sustituye /dev/sdX por el dispositivo correcto (compruébalo con lsblk): dd sobrescribe sin preguntar, y equivocarte de disco borra sus datos.

Comprobar que funciona

Una forma rápida de probarlo sin esperar a una copia real es crear un archivo grande de prueba y copiarlo:

dd if=/dev/zero of=prueba.bin bs=1M count=1024 status=progress
cp prueba.bin prueba-copia.bin & progress -mp $!
rm prueba.bin prueba-copia.bin

Deberías ver avanzar el porcentaje. El último comando borra los dos archivos de prueba.

Problemas habituales

progress dice No command currently running. No hay ningún comando compatible en marcha, o ha terminado antes de que lo ejecutaras. También puede que el comando lo lance otro usuario: prueba con sudo progress.

La copia llega al 100 % pero el comando no termina. El sistema guarda datos en caché y luego los escribe en el disco. Espera a que acabe y ejecuta sync antes de desconectar el USB.

Velocidades muy bajas con discos USB. Revisa que el disco esté conectado a un puerto USB 3 (azul) en la Pi 4 y la Pi 5, y que la fuente de alimentación dé suficiente corriente para un disco mecánico.

rsync copia la carpeta dentro de sí misma o en el sitio equivocado. Revisa la barra final del origen (carpeta/ frente a carpeta).

Te desconectas por SSH y la copia se corta. Lánzala dentro de tmux o screen (instálalos con apt) para que siga aunque se cierre la sesión.

Relacionados

Material

En calidad de afiliado de Amazon, GEEKnodes obtiene ingresos por las compras adscritas que cumplen los requisitos aplicables.

Preferencias de accesibilidad

Perfiles rápidos

Texto y lectura

Tamaño del texto
Por defecto
Altura de línea
Por defecto
Espaciado entre letras
Por defecto
Espaciado entre palabras
Por defecto

Color

Movimiento y orientación

Cursor