Pour afficher une barre de progression avec tar notemment, vous pouvez utiliser l’utilitaire pv qui permett de monitorer la progression de données à travers un pipe.
Installez pv :
sudo apt install pv
sudo dnf install pv
sudo pacman -Syu pv
yay -Syu pv
Utilisation :
Pour extraire une archive :
pv votrearchive.tar.gz | tar -xz

Pour créer une archive :
tar -czf - ./repertoire_a_archiver | pv > archive.tar.gz

Man page
Utilisation : pv [OPTIONS] [FICHIER]...
Concaténer FICHIER(s), ou l'entrée standard, sur la sortie standard avec monitorage.
-p, --progress afficher la barre de progression
-t, --timer afficher le temps écoulé
-e, --eta afficher l'heure approximative de l'achèvement de la tâche
-I, --fineta afficher l'heure absolute de l'achèvement de la tâche
-r, --rate afficher le taux de tranfert des données
-a, --average-rate afficher le compteur de taux moyen de transfert de données
-b, --bytes afficher le nombre d'octets transférés
-T, --buffer-percent afficher le pourcentage de tampon de transfert utilisé
-A, --last-written NUM afficher les derniers NUM octets écrits
-F, --format FORMAT définir le format de sortie sur FORMAT
-n, --numeric imprimer en pourcentage plutôt que des informations visuelles
-q, --quiet n'afficher aucune information de transfert
-8, --bits afficher le nombre de bits transférés
-k, --si traiter les suffixes comme des multiples de 1000 au lieu de 1024
-W, --wait ne rien afficher avant qu'au moins un octet soit tranféré
-D, --delay-start SEC ne rien afficher jusqu'à ce que SEC secondes se soient écoulées
-s, --size TAILLE ajuster la taille estimée des données à TAILLE octets
-g, --gauge si la taille est inconnue, afficher le taux de transfert par rapport au taux de transfert max
-l, --line-mode compter les lignes au lieu des octets
-0, --null les lignes sont terminées par un caractère nul
-i, --interval SEC mettre à jour toutes les SEC secondes
-m, --average-rate-window SEC calculer le taux moyen d'après les SEC dernières secondes (30s par défaut)
-w, --width LARGEUR présumer la largeur du terminal à LARGEUR caractères
-H, --height HAUTEUR présumer la hauteur du terminal à HAUTEUR lignes
-N, --name NOM préfixer les informations visuelles avec NOM
-u, --bar-style STYLE set default bar style to NAME
-x, --extra-display SPEC also send progress to SPEC
-v, --stats afficher les statistiques de transfert à la fin
-f, --force imprimer vers la sortie d'erreur standard même si ce n'est pas un terminal
-c, --cursor utiliser les séquences d'échappements de positionnement de curseur
-o, --output FICHIER écrire la sortie dans FICHIER au lieu de la sortie standard
-L, --rate-limit TAUX limite le taux de transfert à TAUX octets par seconde
-B, --buffer-size OCTETS Utiliser une mémoire tampon de OCTETS octets
-C, --no-splice ne jamais utiliser splice(), toujours utiliser read/write
-E, --skip-errors ignorer les erreurs de lecture dans l'entrée
-Z, --error-skip-block OCTETS ignorer les erreurs dans OCTETS blocs à la fois
-S, --stop-at-size arrêter après le transfert de --size octets
-Y, --sync vider le cache sur le disque après chaque écriture
-K, --direct-io utiliser les E/S directes pour contourner le cache
-X, --discard rejeter l'entrée au lieu de l'écrire vers la sortie
-U, --store-and-forward FICHIER écrire toute l'entrée vers FICHIER avant de l'écrire vers la sortie
-d, --watchfd PID[:FD] surveiller le fichier FD ouvert par le processus PID
-R, --remote PID mettre à jour la configuration du processus PID
-P, --pidfile FICHIER enregistrer l'ID de processus dans FICHIER
-h, --help afficher cette aide puis quitter
-V, --version afficher la version puis quitter
Supported format sequences:
%p %{progress} %{progress-amount-only} %{progress-bar-only} %{bar-plain} %{bar-block} %{bar-granular} %{bar-shaded} %t %{timer} %e %{eta} %I %{fineta} %r %{rate} %a %{average-rate} %b %{bytes}
%{transferred} %T %{buffer-percent} %A %{last-written} %L %{previous-line} %N %{name} %{sgr:colour,...}
SVP rapporter tous bogues à pv@ivarch.com