Πώς να ανεβάσετε και να μοιραστείτε αρχεία από το τερματικό Linux με το Transfer.sh

Αυτές τις μέρες, η κοινή χρήση αρχείων είναι πιο εύκολη από ποτέ. Μεταξύ Dropbox, Google Drive, OneDrive κ.λπ., η μεταφορά πραγμάτων από το ένα μέρος στο άλλο λειτουργεί αρκετά γρήγορα — εκτός αν χρησιμοποιείτε το τερματικό. Εάν χρησιμοποιείτε το Terminal, το πιθανότερο είναι ότι εξακολουθείτε να λαμβάνετε αρχεία μέσω SFTP ή κάτι εξίσου αρχαϊκό. Παρουσιάζοντας ΜεταφοράSH: ένα εργαλείο κοινής χρήσης αρχείων ειδικά σχεδιασμένο για να σας επιτρέπει να ανεβάζετε και να μοιράζεστε αρχεία από το τερματικό Linux.

SPOILER ALERT: Κάντε κύλιση προς τα κάτω και παρακολουθήστε το εκπαιδευτικό βίντεο στο τέλος αυτού του άρθρου.

Μη αυτόματη χρήση του Transfer.sh

Το Transfer.sh διαθέτει διεπαφή ιστού και μπορείτε να ανεβάσετε και να μοιραστείτε αρχεία από το πρόγραμμα περιήγησής σας. Η υπηρεσία λειτουργεί επίσης με τη γραμμή εντολών, ώστε να μπορείτε να μοιραστείτε ένα αρχείο απευθείας μέσω του τερματικού. Για να κάνετε κοινή χρήση αρχείων από το τερματικό Linux χρησιμοποιώντας το Transfer.sh, χρειάζεστε το Curl.

Ubuntu

sudo apt install curl

Debian

sudo apt-get install curl

Arch Linux

sudo pacman -S curl

Μαλακό καπέλλο

sudo dnf install curl

OpenSUSE

sudo zypper install curl

Άλλα Linux

Οι χρήστες μη mainstream διανομών Linux δεν θα πρέπει να δυσκολεύονται πάρα πολύ να βρουν το πρόγραμμα Curl, λόγω του πόσο ευρέως διαθέσιμο είναι. Για να το αποκτήσετε, απλώς ανοίξτε τον διαχειριστή πακέτων σας, αναζητήστε το “curl” και εγκαταστήστε το! Εάν για κάποιο λόγο δεν είναι διαθέσιμο για εσάς, κατεβάστε το εδώ.

  Τα 5 καλύτερα λειτουργικά συστήματα για να τροφοδοτήσετε τον διακομιστή σας Linux

Χρήση Curl για μεταφόρτωση

Η αλληλεπίδραση με το transfer.sh χρησιμοποιώντας το curl απαιτεί αρκετά μεγάλη εντολή. Ετσι δουλευει.

Αρχικά, βρείτε ένα αρχείο στο σύστημα αρχείων σας για μεταφόρτωση. Χρησιμοποιήστε “εύρεση” ή “εντοπίστε” στο τερματικό σας (ή μεταβείτε στη διαχείριση αρχείων, βρείτε το αρχείο και σημειώστε πού βρίσκεται). Αφού σημειώσετε πού βρίσκεται το αρχείο που προσπαθείτε να ανεβάσετε, χρησιμοποιήστε την εντολή cd για να μεταβείτε εκεί. Σε αυτό το παράδειγμα, θα ανεβάσουμε το “test.mp3” από το φάκελο Documents.

cd ~/Documents

Το τερματικό βρίσκεται τώρα στον κατάλογο όπου βρίσκεται το test.mp3. Τώρα, χρησιμοποιήστε αυτήν την εντολή “φόρμουλα” για να ανεβάσετε το αρχείο. Αυτό είναι το πρώτο μέρος της εντολής:

 curl --upload-file ./test.mp3

Το επόμενο βήμα είναι να δημιουργήσετε μια διεύθυνση URL για χρήση του transfer.sh. Λάβετε υπόψη το όνομα του αρχείου (καθώς και την επέκταση) και γράψτε το ως εξής:

https://transfer.sh/test.mp3

Το τελικό αποτέλεσμα θα πρέπει να μοιάζει με αυτό.

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

Το Curl θα στείλει το αρχείο στο Transfer.sh και θα επιστρέψει μια διεύθυνση URL. Ανοίξτε το URL για λήψη του αρχείου ή στείλτε το σε όποιον θέλετε να μοιραστείτε το αρχείο.

Transfer.sh Terminal Alias

Η μη αυτόματη μεταφόρτωση με το Curl μπορεί να σας βγάλει από μια δύσκολη θέση, αλλά δεν είναι τέλεια. Δεν υπάρχει καμία ένδειξη ότι η μεταφόρτωση λειτουργεί, πόσο μεγάλο μέρος ενός αρχείου έχει μεταφορτωθεί και το να θυμάστε μια πρόταση μόνο για να ανεβάσετε κάτι είναι αρκετά κουραστικό. Εξαιτίας αυτού, ο προγραμματιστής δημιούργησε ένα ψευδώνυμο Bash. Αυτό το ψευδώνυμο bash, όταν ρυθμιστεί, θα δώσει στον χρήστη τη δυνατότητα να ανεβάζει εύκολα αρχεία και φακέλους, με μία μόνο λέξη.

  Πώς να μετατρέψετε προγράμματα Debian σε Redhat στο Linux

Για να το ρυθμίσετε, ανοίξτε το αρχείο BashRC. Κατανοήστε ότι το αρχείο BashRC κάθε μεμονωμένου χρήστη πρέπει να τροποποιηθεί για να χρησιμοποιηθεί αυτό το ψευδώνυμο.

nano ~/.bashrc

Χρησιμοποιώντας το Nano, μεταβείτε στο τέλος του αρχείου. Στη συνέχεια, επικολλήστε τον κωδικό Transfer SH Alias. Φροντίστε να επικολλήσετε κάθε κομμάτι του κώδικα, διαφορετικά το ψευδώνυμο bash δεν θα λειτουργήσει.

Σημείωση: η επικόλληση με χρήση Nano μέσω του προχείρου μπορεί να γίνει με 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
 }

Αφού επικολλήσετε τη μεγάλη ποσότητα κώδικα στο αρχείο ~/.bashrc, αποθηκεύστε το nano με CTRL + O. Κάντε επανεκκίνηση του υπολογιστή σας ώστε οι αλλαγές να τεθούν σε ισχύ.

Χρήση ψευδωνύμου τερματικού για μεταφόρτωση

Η μεταφόρτωση με το ψευδώνυμο TransferSH είναι πολύ πιο εύκολη από τη μη αυτόματη χρήση του Curl. Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε ξανά το test.mp3 και το φάκελο Documents.

  Πώς να χρησιμοποιήσετε το RustDesk σε Linux

Βήμα 1: πλοηγηθείτε στο τερματικό όπου βρίσκεται το αρχείο/φάκελος που θέλετε να ανεβάσετε.

cd ~/Documents

Βήμα 2: ξεκινήστε τη διαδικασία μεταφόρτωσης.

transfer test.mp3

ή, για έναν φάκελο, κάντε:

transfer file_folder

Βήμα 3: Περιμένετε μέχρι το τερματικό να ανεβάσει το αρχείο. Μια γραμμή προόδου θα περάσει στην οθόνη και θα φτύσει έναν σύνδεσμο λήψης όταν ολοκληρωθεί.

Λήψη με Curl

Το Curl είναι κάτι περισσότερο από ένα απλό εργαλείο μεταφόρτωσης. Είναι επίσης ένα εργαλείο λήψης. Για να κάνετε λήψη ενός αρχείου που έχει μεταφορτωθεί από το transfer.sh, ακολουθήστε αυτές τις οδηγίες.

Αρχικά, αντιγράψτε τον σύνδεσμο λήψης που σας δίνει το εργαλείο μεταφόρτωσης και διατηρήστε τον στο πρόχειρό σας. Στη συνέχεια, κάντε αυτό για λήψη:

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

Βεβαιωθείτε ότι έχετε ξαναγράψει το όνομα του αρχείου μετά > σε αυτό στον σύνδεσμο λήψης. Αυτό ονομάζει το curl τη λήψη στον υπολογιστή σας. Είναι δυνατό να αλλάξετε το όνομα, αλλά δεν το συνιστούμε.

Λήψη με Wget

Παρά το πόσο δημοφιλές είναι το Curl, μερικοί άνθρωποι αρνούνται να το χρησιμοποιήσουν καθώς φαίνεται περίπλοκο και αντ’ αυτού επιλέγουν να χρησιμοποιήσουν και τη λήψη του Wget. Είναι λογικό, καθώς ο Wget είναι πολύ απλός. Όπως το εργαλείο Curl, το Wget μπορεί επίσης να κατεβάσει εύκολα συνδέσμους Transfer SH. Δείτε πώς:

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

συμπέρασμα

Δεν συμβαίνει συχνά, αλλά κατά καιρούς ενώ εργάζεστε σε διακομιστή μπορεί να χρειαστείτε γρήγορη πρόσβαση σε ένα αρχείο από άλλον υπολογιστή. Η ρύθμιση του SSH, η σύνδεση στο FTP κ.λπ., είναι κουραστική. Γι’ αυτό το TransferSH είναι ένα τόσο χρήσιμο εργαλείο. Το κάνει έτσι ώστε η αρπαγή αρχείων οποιουδήποτε μεγέθους απευθείας από τη γραμμή εντολών πιο εύκολη από ποτέ.