- - Jak przesyłać i udostępniać pliki z terminala Linux za pomocą Transfer.sh

Jak przesyłać i udostępniać pliki z terminala Linux za pomocą Transfer.sh

Obecnie udostępnianie plików jest łatwiejsze niż kiedykolwiek. Pomiędzy Dropbox, Dyskiem Google, OneDrive itp. Przenoszenie rzeczy z jednego miejsca do drugiego działa dość szybko - chyba że korzystasz z terminala. Jeśli korzystasz z terminala, prawdopodobnie nadal otrzymujesz pliki przez SFTP lub coś równie archaicznego. Przedstawiamy TransferSH: narzędzie do udostępniania plików zaprojektowane specjalnie, aby umożliwić przesyłanie i udostępnianie plików z terminalu Linux.

ALARM SPOILERA: Przewiń w dół i obejrzyj samouczek wideo na końcu tego artykułu.

Korzystanie z Transfer.sh ręcznie

Transfer.sh ma interfejs internetowy i możesz przesyłać i udostępniać pliki z przeglądarki. Usługa działa również z wierszem poleceń, dzięki czemu można udostępniać plik bezpośrednio przez terminal. Aby udostępniać pliki z terminala Linux za pomocą Transfer.sh, potrzebujesz 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

Inne Linuxes

Użytkownicy niepublicznych dystrybucji Linuksanie powinien mieć problemów ze znalezieniem programu Curl ze względu na jego powszechność. Aby go zdobyć, po prostu otwórz menedżera pakietów, wyszukaj „curl” i zainstaluj go! Jeśli z jakiegoś powodu nie jest dla Ciebie dostępny, pobierz go tutaj.

Używanie curl do przesłania

Interakcja z transfer.sh za pomocą curl wymaga dość długiego polecenia. Oto jak to działa.

Najpierw znajdź plik w systemie plików, który chcesz przesłać. Użyj „znajdź” lub „zlokalizuj” w swoim terminalu (lub przejdź do menedżera plików, znajdź plik i zanotuj jego lokalizację). Po zanotowaniu pliku, który próbujesz przesłać, użyj polecenia cd, aby tam przejść. W tym przykładzie prześlemy plik „test.mp3” z folderu Dokumenty.

cd ~/Documents

Terminal znajduje się teraz w katalogu, w którym test.mp3 jest. Teraz użyj tego polecenia „formuła”, aby przesłać plik. To jest pierwsza część polecenia:

 curl --upload-file ./test.mp3

Następnym krokiem jest utworzenie adresu URL do użycia w pliku transfer.sh. Pamiętaj o nazwie pliku (a także o rozszerzeniu) i napisz go w następujący sposób:

https://transfer.sh/test.mp3

Wynik końcowy powinien wyglądać tak;

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

Curl wyśle ​​plik do Transfer.sh i zwróci adres URL. Otwórz adres URL, aby pobrać plik lub wysłać go komukolwiek, komu chcesz udostępnić plik.

Alias ​​terminala Transfer.sh

Przesyłanie ręczne za pomocą Curl może wydostać się zciasne miejsce, ale nie jest idealne. Nic nie wskazuje na to, że przesyłanie działa, jaka część pliku została przesłana, a zapamiętywanie zdania, aby coś przesłać, jest dość nużące. Z tego powodu programista stworzył alias Bash. Ten alias bash po skonfigurowaniu umożliwi użytkownikowi łatwe przesyłanie plików i folderów za pomocą jednego słowa.

Aby go skonfigurować, otwórz plik BashRC. Zrozum, że plik BashRC każdego użytkownika musi zostać zmodyfikowany, aby używać tego aliasu.

nano ~/.bashrc

Korzystając z Nano, przejdź do samego końca pliku. Następnie wklej kod Przenieś SH Alias. Pamiętaj, aby wkleić każdy fragment kodu, w przeciwnym razie alias bash nie będzie działać.

Uwaga: można wkleić za pomocą Nano za pomocą schowka 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
}

Po wklejeniu dużej ilości kodu do ~ / .bashrc plik, zapisz nano za pomocą CTRL + O. Uruchom ponownie komputer, aby zmiany zostały wprowadzone.

Korzystanie z aliasu terminala do przesłania

Przesyłanie za pomocą aliasu TransferSH jest znacznie łatwiejsze niż ręczne używanie Curl. W tym przykładzie ponownie użyjemy test.mp3 i folderu Dokumenty.

Krok 1: przejdź do terminala, gdzie znajduje się plik / folder, który chcesz przesłać.

cd ~/Documents

Krok 2: rozpocznij proces przesyłania.

transfer test.mp3

lub w przypadku folderu wykonaj:

transfer file_folder

Krok 3: Poczekaj, aż terminal załaduje plik. Pasek postępu przejdzie przez ekran i po zakończeniu wypluje link do pobrania.

Pobieranie za pomocą Curl

Curl to coś więcej niż narzędzie do przesyłania. To także narzędzie do pobierania. Aby pobrać plik przesłany przez transfer.sh, postępuj zgodnie z tymi instrukcjami.

Najpierw skopiuj link do pobrania, który udostępnia narzędzie do przesyłania, i przechowuj go w schowku. Następnie zrób to, aby pobrać:

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

Pamiętaj, aby ponownie wpisać nazwę pliku po > do tego w linku do pobrania. To właśnie curl nazywa pobieranie na twoim komputerze. Nazwę można zmienić, ale nie zalecamy jej.

Pobieranie za pomocą Wget

Pomimo tego, jak popularny jest Curl, niektórzy ludzie odmawiająużywać go, ponieważ wydaje się tak skomplikowany, i zamiast tego zdecydować się również na pobranie Wget. Ma to sens, ponieważ Wget jest bardzo prosta. Podobnie jak narzędzie Curl, Wget może również łatwo pobierać linki Transfer SH. Oto jak:

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

Wniosek

Nie zdarza się to często, ale czasamipracując na serwerze może być potrzebny szybki dostęp do pliku z innego komputera. Konfigurowanie SSH, logowanie do FTP itp. Są uciążliwe. Dlatego TransferSH jest tak przydatnym narzędziem. To sprawia, że ​​pobieranie plików dowolnej wielkości bezpośrednio z wiersza poleceń jest łatwiejsze niż kiedykolwiek.

Komentarze