2021-02-04 02:26 Temps de lecture : 10 min

Comment télécharger et partager des fichiers depuis le terminal Linux avec Transfer.sh

Aujourd'hui, le partage de fichiers est d'une simplicité déconcertante. Grâce à des plateformes comme Dropbox, Google Drive ou OneDrive, transférer des données d'un point à un autre se fait de manière très rapide. C'est le cas, sauf si vous utilisez le terminal. Dans ce dernier cas, il est fort probable que vous continuiez de recevoir des fichiers via SFTP, ou une méthode tout aussi dépassée. Permettez-moi de vous présenter TransfertSH : une solution de partage de fichiers spécialement conçue pour que vous puissiez téléverser et partager des documents directement depuis votre terminal Linux.

ALERTE DIVULGÂCHEUR : Faites défiler vers le bas pour visionner le tutoriel vidéo à la fin de cet article.

Utilisation manuelle de Transfer.sh

Transfer.sh met à disposition une interface web, vous permettant de téléverser et de partager des fichiers depuis votre navigateur. Ce service fonctionne également avec la ligne de commande, de sorte que vous pouvez partager un document directement via le terminal. Afin de partager des fichiers depuis votre terminal Linux en utilisant Transfer.sh, vous aurez besoin de Curl.

Ubuntu

sudo apt install curl

Debian

sudo apt-get install curl

Arch Linux

sudo pacman -S curl

Fedora

sudo dnf install curl

OpenSUSE

sudo zypper install curl

Autres Linux

Les utilisateurs de distributions Linux moins répandues ne devraient pas avoir de difficultés à trouver le programme Curl, étant donné sa large disponibilité. Pour l'obtenir, il suffit d'ouvrir votre gestionnaire de paquets, de rechercher "curl" et de l'installer ! Si, pour une raison ou une autre, il n'était pas disponible pour vous, vous pouvez le télécharger ici.

Utilisation de Curl pour le téléversement

Interagir avec transfer.sh via curl nécessite une commande relativement longue. Voici comment cela fonctionne.

Tout d'abord, repérez un fichier sur votre système à téléverser. Utilisez "find" ou "locate" dans votre terminal (ou bien, ouvrez votre explorateur de fichiers, cherchez le fichier et notez son emplacement). Une fois que vous avez l'emplacement du fichier que vous souhaitez téléverser, utilisez la commande "cd" pour vous rendre dans le bon répertoire. Dans cet exemple, nous téléverserons "test.mp3" qui se trouve dans le dossier Documents.

cd ~/Documents

Le terminal se trouve maintenant dans le répertoire où est situé test.mp3. Maintenant, utilisez cette commande "formule" pour téléverser le fichier. Voici la première partie de la commande :

 curl --upload-file ./test.mp3

L'étape suivante consiste à générer une URL utilisable par transfer.sh. Gardez à l'esprit le nom du fichier (et son extension) et écrivez-le de cette manière :

https://transfer.sh/test.mp3

Le résultat final devrait ressembler à ceci :

curl --upload-file ./test.mp3 https://transfer.sh/test.mp3

Curl enverra alors le fichier à Transfer.sh et vous renverra une URL. Ouvrez cette URL pour télécharger le fichier, ou envoyez-la à toute personne avec qui vous souhaitez le partager.

Alias de terminal Transfer.sh

Le téléversement manuel avec Curl peut dépanner, mais ce n'est pas la solution idéale. Rien n'indique que le téléversement est en cours, quelle quantité du fichier a déjà été téléversée, et se souvenir d'une longue phrase juste pour téléverser quelque chose est assez pénible. C'est pour cette raison que le développeur a créé un alias Bash. Cet alias Bash, une fois configuré, donnera à l'utilisateur la possibilité de téléverser facilement des fichiers et des dossiers, avec un seul mot.

Pour le configurer, ouvrez votre fichier BashRC. Veuillez noter que le fichier BashRC de chaque utilisateur individuel doit être modifié afin de pouvoir utiliser cet alias.

nano ~/.bashrc

En utilisant Nano, allez tout à la fin du fichier. Ensuite, copiez-collez le code de l'alias Transfer SH. Assurez-vous de bien coller l'intégralité du code, sinon l'alias bash ne fonctionnera pas.

Note : Le collage avec Nano via le presse-papiers peut être effectué avec CTRL + SHIFT + V.

transfer() {
 # check arguments
 if [ $# -eq 0 ];
 then
 echo "No arguments specified. Usage:necho transfer /tmp/test.mdncat /tmp/test.md | transfer test.md"
 return 1
 fi
 
# get temporarily filename, output is written to this file show progress can be showed
 tmpfile=$( mktemp -t transferXXX )
 
# upload stdin or file
 file=$1
 
if tty -s;
 then
 basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g')
 
if [ ! -e $file ];
 then
 echo "File $file doesn't exists."
 return 1
 fi
 
if [ -d $file ];
 then
 # zip directory and transfer
 zipfile=$( mktemp -t transferXXX.zip )
 cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile
 curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile
 rm -f $zipfile
 else
 # transfer file
 curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile
 fi
 else
 # transfer pipe
 curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile
 fi
 
# cat output link
 cat $tmpfile
 echo ""
 # cleanup
 rm -f $tmpfile
 }

Une fois la longue portion de code collée dans le fichier ~/.bashrc, enregistrez les modifications avec CTRL + O. Redémarrez votre ordinateur pour que les modifications prennent effet.

Utilisation de l'alias de terminal pour téléverser

Le téléversement avec l'alias TransferSH est beaucoup plus simple que l'utilisation manuelle de Curl. Dans cet exemple, nous allons à nouveau utiliser test.mp3 ainsi que le dossier Documents.

Étape 1 : Rendez-vous dans le terminal jusqu'à l'emplacement du fichier ou du dossier que vous désirez téléverser.

cd ~/Documents

Étape 2 : Lancez le processus de téléversement.

transfer test.mp3

ou, pour un dossier, procédez comme suit :

transfer file_folder

Étape 3 : Attendez que le terminal téléverse le fichier. Une barre de progression apparaîtra à l'écran et un lien de téléchargement sera affiché une fois l'opération terminée.

Téléchargement avec Curl

Curl est bien plus qu'un simple outil de téléversement. C'est également un outil de téléchargement. Afin de télécharger un fichier téléversé avec transfer.sh, suivez ces instructions.

Tout d'abord, copiez le lien de téléchargement que l'outil de téléversement vous fournit, et gardez-le dans votre presse-papiers. Ensuite, suivez cette commande pour télécharger :

curl https://transfer.sh/vN79X/test.zip > test.zip

Assurez-vous de bien reprendre le nom du fichier qui se trouve dans le lien de téléchargement, après le signe ">". C'est le nom que Curl donnera au fichier une fois qu'il sera téléchargé sur votre ordinateur. Il est possible de modifier ce nom, mais nous ne le recommandons pas.

Téléchargement avec Wget

Malgré la popularité de Curl, certaines personnes refusent de l'utiliser car cela s'avère complexe, et préfèrent utiliser le téléchargement avec Wget. Ce choix se comprend, car Wget est très simple. Tout comme Curl, Wget est capable de télécharger facilement les liens Transfer SH. Voici comment faire :

wget https://transfer.sh/vN79X/test.zip

Conclusion

Cela n'arrive pas souvent, mais parfois, lorsque vous travaillez sur un serveur, vous pouvez avoir un besoin rapide d'accéder à un fichier depuis un autre ordinateur. Configurer SSH, se connecter en FTP, etc., est fastidieux. C'est pour cette raison que TransferSH est un outil si pratique. Il rend le transfert de fichiers de toute taille directement depuis la ligne de commande plus aisé que jamais.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.