So laden und teilen Sie Dateien vom Linux-Terminal mit Transfer.sh

Heutzutage ist das Teilen von Dateien einfacher als je zuvor. Zwischen Dropbox, Google Drive, OneDrive usw. funktioniert es ziemlich schnell, Dinge von einem Ort zum anderen zu bringen – es sei denn, Sie verwenden das Terminal. Wenn Sie das Terminal verwenden, erhalten Sie wahrscheinlich immer noch Dateien über SFTP oder etwas ähnlich Archaisches. Einführung TransferSH: ein File-Sharing-Tool, das speziell entwickelt wurde, damit Sie Dateien vom Linux-Terminal hochladen und teilen können.

SPOILER-WARNUNG: Scrollen Sie nach unten und sehen Sie sich das Video-Tutorial am Ende dieses Artikels an.

Transfer.sh manuell verwenden

Transfer.sh hat eine Webschnittstelle und Sie können Dateien von Ihrem Browser aus hochladen und teilen. Der Dienst funktioniert auch mit der Befehlszeile, sodass Sie eine Datei direkt über das Terminal freigeben können. Um Dateien vom Linux-Terminal mit Transfer.sh freizugeben, benötigen Sie 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

Andere Linuxe

Benutzer von Nicht-Mainstream-Linux-Distributionen sollten keine allzu großen Probleme haben, das Curl-Programm zu finden, da es so weit verbreitet ist. Um es zu bekommen, öffnen Sie einfach Ihren Paketmanager, suchen Sie nach „curl“ und installieren Sie es! Wenn es aus irgendeinem Grund für Sie nicht verfügbar ist, hier herunterladen.

Verwenden von Curl zum Hochladen

Die Interaktion mit transfer.sh mit curl erfordert einen ziemlich langen Befehl. So funktioniert das.

Suchen Sie zunächst eine Datei in Ihrem Dateisystem zum Hochladen. Verwenden Sie „finden“ oder „lokalisieren“ in Ihrem Terminal (oder gehen Sie zum Dateimanager, suchen Sie die Datei und notieren Sie sich, wo sie sich befindet). Nachdem Sie sich notiert haben, wo sich die Datei befindet, die Sie hochladen möchten, verwenden Sie den cd-Befehl, um dorthin zu gelangen. In diesem Beispiel laden wir „test.mp3“ aus dem Ordner „Dokumente“ hoch.

cd ~/Documents

Das Terminal befindet sich jetzt in dem Verzeichnis, in dem sich test.mp3 befindet. Verwenden Sie nun diesen Befehl „Formel“, um die Datei hochzuladen. Dies ist der erste Teil des Befehls:

 curl --upload-file ./test.mp3

Der nächste Schritt besteht darin, eine URL für die Verwendung von transfer.sh zu erstellen. Merken Sie sich den Dateinamen (sowie die Erweiterung) und schreiben Sie ihn so:

https://transfer.sh/test.mp3

Das Endergebnis sollte so aussehen;

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

Curl sendet die Datei an Transfer.sh und gibt eine URL zurück. Öffnen Sie die URL, um die Datei herunterzuladen, oder senden Sie sie an die Person, mit der Sie die Datei teilen möchten.

  5 Gnome-Shell-Erweiterungen zur Verbesserung Ihres Linux-Desktops

Transfer.sh Terminal-Alias

Das manuelle Hochladen mit Curl kann Sie aus der Klemme bringen, aber es ist nicht perfekt. Es gibt keinen Hinweis darauf, dass der Upload funktioniert, wie viel von einer Datei hochgeladen wurde, und es ist ziemlich mühsam, sich einen Satz zu merken, nur um etwas hochzuladen. Aus diesem Grund hat der Entwickler einen Bash-Alias ​​erstellt. Dieser Bash-Alias ​​gibt dem Benutzer, wenn er eingerichtet ist, die Möglichkeit, Dateien und Ordner einfach mit einem einzigen Wort hochzuladen.

Um es einzurichten, öffnen Sie Ihre BashRC-Datei. Beachten Sie, dass die BashRC-Datei jedes einzelnen Benutzers geändert werden muss, um diesen Alias ​​zu verwenden.

nano ~/.bashrc

Gehen Sie mit Nano zum Ende der Datei. Fügen Sie dann den Transfer SH-Aliascode ein. Stellen Sie sicher, dass Sie jedes Bit des Codes einfügen, sonst funktioniert der Bash-Alias ​​nicht.

  So installieren Sie den Vidiot-Videoeditor unter Linux

Hinweis: Das Einfügen mit Nano über die Zwischenablage kann mit STRG + UMSCHALT + V erfolgen.

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
 }

Nachdem Sie den langen Code in die Datei ~/.bashrc eingefügt haben, speichern Sie nano mit STRG + O. Starten Sie Ihren PC neu, damit die Änderungen wirksam werden.

Terminal-Alias ​​zum Hochladen verwenden

Das Hochladen mit dem TransferSH-Alias ​​ist viel einfacher als die manuelle Verwendung von Curl. In diesem Beispiel verwenden wir wieder test.mp3 und den Ordner Documents.

Schritt 1: Navigieren Sie im Terminal zu der Datei/dem Ordner, die/den Sie hochladen möchten.

cd ~/Documents

Schritt 2: Starten Sie den Upload-Vorgang.

  So installieren Sie SpeedCrunch unter Linux

transfer test.mp3

oder für einen Ordner:

transfer file_folder

Schritt 3: Warten Sie, bis das Terminal die Datei hochgeladen hat. Ein Fortschrittsbalken wird über den Bildschirm gehen und einen Download-Link ausspucken, wenn er fertig ist.

Herunterladen mit Curl

Curl ist mehr als nur ein Upload-Tool. Es ist auch ein Download-Tool. Befolgen Sie diese Anweisungen, um eine von transfer.sh hochgeladene Datei herunterzuladen.

Kopieren Sie zunächst den Download-Link, den Ihnen das Upload-Tool gibt, und bewahren Sie ihn in Ihrer Zwischenablage auf. Gehen Sie dann zum Herunterladen wie folgt vor:

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

Achten Sie darauf, den Namen der Datei nach > in den Namen im Download-Link umzuwandeln. So benennt curl den Download auf Ihrem PC. Es ist möglich, den Namen zu ändern, aber wir empfehlen es nicht.

Herunterladen mit Wget

Trotz der Beliebtheit von Curl weigern sich einige Leute, es zu verwenden, da es kompliziert erscheint, und entscheiden sich stattdessen dafür, auch den Wget-Download zu verwenden. Es macht Sinn, da Wget sehr einfach ist. Wie das Curl-Tool kann auch Wget einfach Transfer SH-Links herunterladen. Hier ist wie:

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

Fazit

Es kommt nicht oft vor, aber manchmal, während Sie auf einem Server arbeiten, benötigen Sie möglicherweise schnellen Zugriff auf eine Datei von einem anderen Computer. Das Einrichten von SSH, das Einloggen in FTP usw. sind mühsam. Deshalb ist TransferSH ein so nützliches Tool. Es macht es so, dass das Abrufen von Dateien jeder Größe direkt von der Befehlszeile aus einfacher denn je ist.