Bash et DD : tester la vitesse d’une clé USB avec un simple script
Les clés USB sont couramment utilisées pour le stockage et le transfert de données, mais leur vitesse peut varier en fonction de l’appareil et de l’environnement dans lequel elles sont utilisées. Si vous cherchez à mesurer la vitesse de votre clé USB, vous pouvez utiliser un script simple écrit en bash et en utilisant la commande dd. Dans cet article, nous allons vous expliquer comment écrire et exécuter un script bash qui testera la vitesse de lecture et d’écriture de votre clé USB, et fournir un aperçu du fonctionnement du script. Que vous soyez un débutant ou un utilisateur expérimenté de Linux, ce script est un moyen simple et efficace de mesurer les performances de votre clé USB.
Dans ce tutoriel, vous allez apprendre :
- Comment écrire et exécuter un script bash pour tester la vitesse de lecture et d’écriture d’une clé USB
- Un aperçu de la commande
ddet de la façon dont elle peut être utilisée pour tester la vitesse d’une clé USB - Comment interpréter les résultats du test de vitesse de la clé USB et comprendre les performances de votre appareil
- Conseils pour améliorer la vitesse de votre clé USB, si nécessaire
Mesurer les performances d’une clé USB à l’aide d’un simple script shell
Mesurer la vitesse de lecture et d’écriture d’une clé USB est une tâche simple mais importante à effectuer, surtout lorsque vous cherchez à acheter une nouvelle clé USB ou que vous souhaitez tester les performances d’une clé existante. Cela peut être facilement fait sous Linux en utilisant un script shell. Dans cet article, nous allons nous intéresser à un script shell simple qui peut être utilisé pour mesurer la vitesse de lecture et d’écriture d’une clé USB. Enregistrez le contenu du script ci-dessous dans un fichier à l’aide de n’importe quel éditeur de texte.
Avant d’exécuter le script, assurez-vous que la clé USB que vous souhaitez tester est montée dans le répertoire /media/usbstick.
#!/bin/bash
if [ ! -d "/media/usbstick" ]; then
# If the USB stick is not mounted, print an error message and exit
echo "Error: USB stick is not mounted at /media/usbstick. Please mount the USB stick and try again."
exit 1
fi
dd if=/dev/zero of=/media/usbstick/testfile bs=1M count=1024 2> /dev/null
Clear the disk cache
sh -c 'echo 3 > /proc/sys/vm/drop_caches'
{ time dd if=/dev/zero of=/media/usbstick/testfile bs=1M count=1024 oflag=dsync; } 2>&1 | awk '/real/ {print $2}' > write_time.txt
write_time_raw=$(cat write_time.txt)
write_time_minutes=$(echo $write_time_raw | awk -Fm '{print $1}')
write_time_seconds=$(echo $write_time_raw | awk -Fm '{print $2}' | awk -Fs '{print $1}')
write_time=$(echo "$write_time_minutes * 60 + $write_time_seconds" | bc)
write_speed=$(echo "1024 / $write_time" | bc)
echo "Write speed: $write_speed MB/s"
rm write_time.txt
Clear the disk cache
sh -c 'echo 3 > /proc/sys/vm/drop_caches'
{ time dd if=/media/usbstick/testfile of=/dev/null bs=1M count=1024; } 2>&1 | awk '/real/ {print $2}' > read_time.txt
read_time_raw=$(cat read_time.txt)
read_time_minutes=$(echo $read_time_raw | awk -Fm '{print $1}')
read_time_seconds=$(echo $read_time_raw | awk -Fm '{print $2}' | awk -Fs '{print $1}')
read_time=$(echo "$read_time_minutes * 60 + $read_time_seconds" | bc)
read_speed=$(echo "1024 / $read_time" | bc)
echo "Read speed: $read_speed MB/s"
rm read_time.txtExemple de sortie :
Le but de ce script shell est de mesurer les vitesses de lecture et d’écriture d’une clé USB. Le script vérifie d’abord si la clé USB est montée à l’emplacement /media/usbstick. Si la clé USB n’est pas montée, le script affichera un message d’erreur et se fermera.
Ensuite, le script crée un fichier de test de 1 Go sur la clé USB à l’aide de la commande dd. La commande dd est à nouveau utilisée pour mesurer la vitesse d’écriture, en écrivant le fichier de test sur la clé USB. Le temps nécessaire à l’écriture du fichier de test est enregistré à l’aide de la commande time et la sortie est redirigée vers un fichier write_time.txt.
L’option
oflag=dsync avec la commande dd garantit que les données sont écrites immédiatement et en toute sécurité sur le périphérique de stockage. Contrairement au comportement par défaut de dd, qui met en mémoire tampon les données de sortie, l’indicateur dsync écrit physiquement les données sur le périphérique de stockage avant de les renvoyer, évitant ainsi toute perte de données potentielle. Cette option est utile dans les situations où l’intégrité des données est une priorité, même si elle entraîne des vitesses d’écriture plus lentes.Le script extrait ensuite le temps nécessaire à l’écriture du fichier de test à partir de write_time.txt et calcule la vitesse d’écriture en Mo/s en divisant la taille du fichier de test (1 Go) par le temps nécessaire. Si le temps d’écriture est zéro, un message d’erreur s’affiche et le script se ferme. La vitesse d’écriture est ensuite imprimée sur le terminal.
Le script répète ces étapes pour mesurer la vitesse de lecture, en lisant le fichier de test sur la clé USB et en enregistrant le temps pris avec la commande time. La vitesse de lecture est calculée de la même manière que la vitesse d’écriture et est également imprimée sur le terminal.
Ce script fournit un moyen simple et rapide de mesurer les vitesses de lecture et d’écriture d’une clé USB, et peut être utile pour tester les performances de différentes clés USB ou pour résoudre des problèmes de vitesses de transfert lentes.
Conclusion
En conclusion, ce script shell fournit un moyen simple et efficace de mesurer les vitesses de lecture et d’écriture d’une clé USB. En comprenant les vitesses de votre clé USB, vous pouvez déterminer si elle fonctionne de manière optimale ou s’il y a place à l’amélioration.
Si les vitesses de votre clé USB ne sont pas aussi rapides que vous le souhaiteriez, il existe quelques conseils qui peuvent vous aider à améliorer ses performances :
- Utilisez un port USB 3.0, si disponible : l’USB 3.0 offre des vitesses de transfert plus rapides que l’USB 2.0, donc l’utilisation d’un port USB 3.0 peut aider à améliorer la vitesse de votre clé USB.
- Formatez la clé USB avec un système de fichiers rapide : Différents systèmes de fichiers ont des caractéristiques de performance différentes, de sorte que le choix du bon système de fichiers peut avoir un impact significatif sur la vitesse de votre clé USB. Les systèmes de fichiers tels que NTFS, exFAT et FAT32 sont généralement plus rapides que d’autres, tels que ext2 ou ext3.
- Évitez d’utiliser la clé USB à plusieurs fins : si vous utilisez votre clé USB à la fois pour stocker des fichiers et exécuter des applications, cela peut ralentir les vitesses de transfert. Pour éviter cela, il est préférable d’utiliser des clés USB distinctes à des fins différentes.
- Utilisez une clé USB de haute qualité : toutes les clés USB ne sont pas égales, et la qualité de la clé USB peut avoir un impact important sur sa vitesse. Recherchez une clé USB de haute qualité d’une marque réputée et assurez-vous de lire les avis avant de faire un achat.
En suivant ces conseils, vous pouvez vous assurer que votre clé USB fonctionne au mieux, en fournissant des vitesses de transfert rapides et fiables pour toutes vos données.

