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