#!/bin/sh
set -e
( strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf percent
printf "\n"
}
}
END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 ) \
| zenity --progress --auto-close --title="Copie de fichiers..." --width=600 --text="Copy of file ${1} ($(file -b ${1}), $(du -h ${1} | awk '{print $1}')) to ${2} ($(file -b ${2}))" 2>&1
Pour l'utiliser, enregistrer ce code dans un fichier
Ensuite, avant de l'utiliser, veillez à le rendre executable (chmod +x mon_script).
Et puis ensuite, faire ./mon_script source destination, pour faire la copie.
Ca fonctionne de la même manière que la commande "cp", mais en version graphique, et qui affiche un pourcentage, la taille, et le type des fichiers. Par exemple en faisant :
./cp_p document.pdf copie_document.png, je vois :
