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.