Obecnie udostępnianie plików jest łatwiejsze niż kiedykolwiek. Pomiędzy Dropbox, Google Drive, OneDrive itp. Przenoszenie rzeczy z jednego miejsca do drugiego działa dość szybko – chyba że używasz 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 do przesyłania i udostępniania plików z terminala Linux.
OSTRZEŻENIE SPOILERA: Przewiń w dół i obejrzyj samouczek wideo na końcu tego artykułu.
Korzystanie z Transfer.sh ręcznie
Transfer.sh ma interfejs sieciowy i możesz przesyłać i udostępniać pliki z przeglądarki. Usługa działa również z wierszem poleceń, więc możesz 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 systemy Linux
Użytkownicy spoza głównego nurtu dystrybucji Linuksa nie powinni mieć większych problemów ze znalezieniem programu Curl, ze względu na jego szeroką dostępność. Aby go zdobyć, po prostu otwórz swojego menedżera pakietów, wyszukaj „curl” i zainstaluj go! Jeśli z jakiegoś powodu nie jest dla Ciebie dostępny, Pobierz to tutaj.
Przesyłanie za pomocą funkcji Curl
Interakcja z transfer.sh przy użyciu curl wymaga dość długiego polecenia. Oto jak to działa.
Najpierw znajdź plik w systemie plików do przesłania. Użyj „znajdź” lub „zlokalizuj” w swoim terminalu (lub przejdź do menedżera plików, znajdź plik i zanotuj, gdzie on się znajduje). Po zanotowaniu lokalizacji pliku, który próbujesz przesłać, użyj polecenia cd, aby tam przejść. W tym przykładzie załadujemy plik „test.mp3” z folderu Dokumenty.
cd ~/Documents
Terminal znajduje się teraz w katalogu, w którym znajduje się test.mp3. Teraz użyj tego polecenia „formuła”, aby przesłać plik. Oto pierwsza część polecenia:
curl --upload-file ./test.mp3
Następnym krokiem jest utworzenie adresu URL do użycia w pliku transfer.sh. Zapamiętaj nazwę pliku (a także rozszerzenie) i zapisz ją w ten sposób:
https://transfer.sh/test.mp3
Wynik końcowy powinien wyglądać następująco;
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 wyślij go komuś, komu chcesz udostępnić plik.
Transfer.sh Alias terminala
Ręczne przesyłanie za pomocą Curl może wyprowadzić Cię z trudnej sytuacji, 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 po prostu o przesłaniu czegoś jest dość nużące. Z tego powodu deweloper stworzył alias Bash. Ten alias basha, po skonfigurowaniu, da użytkownikowi możliwość łatwego przesyłania plików i folderów za pomocą jednego słowa.
Aby to skonfigurować, otwórz plik BashRC. Zrozum, że plik BashRC każdego użytkownika musi zostać zmodyfikowany, aby używać tego aliasu.
nano ~/.bashrc
Używając Nano, przejdź na sam koniec pliku. Następnie wklej kod Transfer SH Alias. Pamiętaj, aby wkleić każdy fragment kodu, w przeciwnym razie alias bash nie zadziała.
Uwaga: wklejanie za pomocą Nano ze schowka można wykonać za pomocą 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 pliku ~ / .bashrc, zapisz nano za pomocą CTRL + O. Uruchom ponownie komputer, aby zmiany zaczęły obowiązywać.
Przesyłanie przy użyciu aliasu terminala
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 do miejsca, w którym znajduje się plik / folder, który chcesz przesłać.
cd ~/Documents
Krok 2: Rozpocznij proces przesyłania.
transfer test.mp3
lub dla folderu wykonaj:
transfer file_folder
Krok 3: Poczekaj, aż terminal załaduje plik. Na ekranie pojawi się pasek postępu, a po zakończeniu wypluje link do pobrania.
Pobieranie z Curl
Curl to coś więcej niż tylko 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 łącze pobierania, które daje narzędzie do przesyłania, i zachowaj je 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 tej w linku pobierania. To właśnie curl nazywa pobieranie na twoim komputerze. Zmiana nazwy jest możliwa, ale nie zalecamy tego.
Pobieranie za pomocą Wget
Pomimo tego, jak popularny jest Curl, niektórzy ludzie odmawiają korzystania z niego, ponieważ wydaje się to skomplikowane, i zamiast tego decydują się również na pobranie Wget. Ma to sens, ponieważ Wget jest bardzo prosty. Podobnie jak narzędzie Curl, Wget może również łatwo pobrać linki Transfer SH. Oto jak:
wget https://transfer.sh/vN79X/test.zip
Wniosek
Nie zdarza się to często, ale czasami podczas pracy na serwerze możesz potrzebować szybkiego dostępu do pliku z innego komputera. Konfiguracja SSH, logowanie do FTP itp. Są uciążliwe. Dlatego TransferSH jest tak przydatnym narzędziem. To sprawia, że pobieranie plików o dowolnym rozmiarze bezpośrednio z wiersza poleceń jest łatwiejsze niż kiedykolwiek.