В наши дни споделянето на файлове е по-лесно от всякога. Между Dropbox, Google Drive, OneDrive и т.н., преместването на нещата от едно място на друго работи доста бързо — освен ако не използвате терминала. Ако използвате терминала, има вероятност все още да получавате файлове през SFTP или нещо също толкова архаично. Представяне TransferSH: инструмент за споделяне на файлове, специално проектиран да ви позволи да качвате и споделяте файлове от терминала на Linux.
ПРЕДУПРЕЖДЕНИЕ ЗА СПОЙЛЕР: Превъртете надолу и гледайте видеоурока в края на тази статия.
Съдържание
Използване на 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
Fedora
sudo dnf install curl
OpenSUSE
sudo zypper install curl
Други Linux
Потребителите на Linux дистрибуции, които не са масови, не би трябвало да имат много проблеми с намирането на програмата Curl, поради това колко широко разпространена е тя. За да го получите, просто отворете вашия мениджър на пакети, потърсете „curl“ и го инсталирайте! Ако по някаква причина не е достъпен за вас, изтеглете го тук.
Използване на 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
Ръчното качване с Curl може да ви изведе от трудното място, но не е перфектно. Няма индикация, че качването работи, колко от файл е качен и запомнянето на изречение само за качване на нещо е доста досадно. Именно поради това разработчикът направи псевдоним на Bash. Този псевдоним на bash, когато е настроен, ще даде на потребителя възможността лесно да качва файлове и папки с една дума.
За да го настроите, отворете вашия BashRC файл. Разберете, че BashRC файлът на всеки отделен потребител трябва да бъде променен, за да използва този псевдоним.
nano ~/.bashrc
С помощта на Nano отидете до самия край на файла. След това поставете кода за псевдоним на Transfer SH. Не забравяйте да поставите всяка част от кода, или псевдонимът на 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.
Стъпка 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 е толкова полезен инструмент. Това го прави така, че грабването на файлове с всякакъв размер направо от командния ред по-лесно от всякога.