Fájlok feltöltése és megosztása a Linux terminálról a Transfer.sh segítségével

Manapság a fájlok megosztása egyszerűbb, mint valaha. A Dropbox, a Google Drive, a OneDrive stb. között a dolgok egyik helyről a másikra való eljuttatása meglehetősen gyorsan működik – hacsak nem a terminált használja. Ha a terminált használja, valószínűleg továbbra is SFTP-n keresztül kap fájlokat, vagy valami hasonlóan archaikusat. Bemutatkozik TransferSH: egy fájlmegosztó eszköz, amelyet kifejezetten arra terveztek, hogy lehetővé tegye a fájlok feltöltését és megosztását a Linux terminálról.

SPOILER FIGYELMEZTETÉS: Görgessen le, és tekintse meg a cikk végén található oktatóvideót.

A Transfer.sh manuális használata

A Transfer.sh webes felülettel rendelkezik, és fájlokat tölthet fel és oszthat meg a böngészőből. A szolgáltatás a parancssorral is működik, így közvetlenül a terminálon keresztül oszthat meg egy fájlt. A Linux-terminálról a Transfer.sh használatával való fájlok megosztásához Curl szükséges.

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

Más Linuxok

A nem általános Linux-disztribúciók felhasználóinak nem okozhat gondot a Curl program megtalálása, mivel széles körben elérhető. Ahhoz, hogy megszerezze, egyszerűen nyissa meg a csomagkezelőt, keresse meg a „curl” szót, és telepítse! Ha valamilyen okból nem elérhető az Ön számára, töltse le innen.

  Elemek hozzáadása az Fstab fájlhoz Linux alatt

Curl használata a feltöltéshez

A curl használatával a transfer.sh-val való interakció meglehetősen hosszú parancsot igényel. Íme, hogyan működik.

Először keressen egy fájlt a fájlrendszerében a feltöltéshez. Használja a „find” vagy a „locate” kifejezést a terminálon (vagy lépjen a fájlkezelőbe, keresse meg a fájlt, és jegyezze fel, hol található). Miután tudomásul vette, hol található a feltölteni kívánt fájl, a cd paranccsal lépjen oda. Ebben a példában a „test.mp3” fájlt a Dokumentumok mappából töltjük fel.

cd ~/Documents

A terminál most abban a könyvtárban van, ahol a test.mp3 található. Most használja ezt a „formula” parancsot a fájl feltöltéséhez. Ez a parancs első része:

 curl --upload-file ./test.mp3

A következő lépés egy URL létrehozása a transfer.sh számára. Tartsa szem előtt a fájl nevét (valamint a kiterjesztést), és írja be a következőképpen:

https://transfer.sh/test.mp3

A végeredménynek így kell kinéznie;

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

A Curl elküldi a fájlt a Transfer.sh-nak, és visszaküld egy URL-t. Nyissa meg az URL-t a fájl letöltéséhez, vagy küldje el annak, akivel meg szeretné osztani a fájlt.

Transfer.sh terminál álnév

A Curl-lel való manuális feltöltés kisegítheti a szorult helyzetből, de nem tökéletes. Semmi sem utal arra, hogy a feltöltés működik, mennyi fájl került feltöltésre, és egy mondat megemlékezése csak azért, hogy feltöltsön valamit, elég fárasztó. Emiatt a fejlesztő Bash álnevet készített. Ez a bash alias, amikor beállítja, lehetővé teszi a felhasználó számára, hogy egyetlen szóval egyszerűen feltölthessen fájlokat és mappákat.

A beállításhoz nyissa meg a BashRC fájlt. Értse meg, hogy minden egyes felhasználó BashRC fájlját módosítani kell az álnév használatához.

nano ~/.bashrc

A Nano használatával menjen a fájl legvégére. Ezután illessze be a Transfer SH Alias ​​kódot. Ügyeljen arra, hogy a kód minden bitjét beillessze, különben a bash álnév nem fog működni.

  8 legjobb Linux-alkalmazás az asztal megosztásához

Megjegyzés: A Nano használatával a vágólapon keresztül a CTRL + SHIFT + V billentyűkombinációval lehet beilleszteni.

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
 }

Miután beillesztette a nagy mennyiségű kódot a ~/.bashrc fájlba, mentse a nano-t a CTRL + O billentyűkombinációval. Indítsa újra a számítógépet, hogy a módosítások életbe lépjenek.

Terminál alias használata a feltöltéshez

A TransferSH álnévvel való feltöltés sokkal egyszerűbb, mint a Curl manuális használata. Ebben a példában ismét a test.mp3 fájlt és a Dokumentumok mappát fogjuk használni.

  A WPS Office telepítése Linux rendszeren

1. lépés: navigáljon a terminálon oda, ahol a feltölteni kívánt fájl/mappa található.

cd ~/Documents

2. lépés: indítsa el a feltöltési folyamatot.

transfer test.mp3

vagy mappához tegye a következőket:

transfer file_folder

3. lépés: Várja meg, amíg a terminál feltölti a fájlt. Egy folyamatjelző sáv jelenik meg a képernyőn, és kiköp egy letöltési linket, ha elkészül.

Letöltés a Curl segítségével

A Curl több, mint egy feltöltési eszköz. Ez is egy letöltő eszköz. A transfer.sh által feltöltött fájl letöltéséhez kövesse az alábbi utasításokat.

Először másolja ki a letöltési linket, amelyet a feltöltő eszköz ad, és tartsa a vágólapon. Ezután tegye a következőket a letöltéshez:

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

Ügyeljen arra, hogy a fájl nevét a > után írja át a letöltési linken lévőre. A curl így nevezi el a letöltést a számítógépén. A név megváltoztatása lehetséges, de nem javasoljuk.

Letöltés a Wget segítségével

Annak ellenére, hogy mennyire népszerű a Curl, egyesek nem hajlandók használni, mivel bonyolultnak tűnik, és ehelyett a Wget letöltése mellett döntenek. Ez logikus, mivel a Wget nagyon egyszerű. A Curl eszközhöz hasonlóan a Wget is könnyedén letöltheti a Transfer SH hivatkozásokat. Itt van, hogyan:

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

Következtetés

Ritkán fordul elő, de időnként a szerveren végzett munka során szükség lehet egy másik számítógépről származó fájl gyors elérésére. Az SSH beállítása, az FTP-re való bejelentkezés stb. fárasztó. Ezért olyan hasznos eszköz a TransferSH. Lehetővé teszi, hogy bármilyen méretű fájl megragadása közvetlenül a parancssorból egyszerűbb, mint valaha.