Як завантажувати та обмінюватися файлами з терміналу Linux за допомогою Transfer.sh

Сьогодні ділитися файлами стало простіше, ніж будь-коли. Між 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 вимагає досить довгої команди. Ось як це працює.

  Як грати в Overlord на Linux

Спочатку знайдіть файл у вашій файловій системі для завантаження. Використовуйте «знайти» або «знайти» у своєму терміналі (або перейдіть до файлового менеджера, знайдіть файл і запишіть, де він знаходиться). Зазначивши, де знаходиться файл, який ви намагаєтеся завантажити, скористайтеся командою cd, щоб перейти туди. У цьому прикладі ми будемо завантажувати «test.mp3» з папки «Документи».

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 не працюватиме.

  Як увімкнути автоматичний вхід в Linux

Примітка: вставлення за допомогою 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.

  5 найкращих альтернатив магазину ігор Steam для 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 є таким корисним інструментом. Це робить це так, що захоплювати файли будь-якого розміру прямо з командного рядка легше, ніж будь-коли.