Сьогодні обмін файлами простіше, ніж будь-коли. Між Dropbox, Google Drive, OneDrive тощо, переміщення речей з одного місця в інше працює досить швидко - якщо ви не використовуєте термінал. Якщо ви використовуєте Термінал, швидше за все, ви все одно отримуєте файли через SFTP або щось настільки ж архаїчне. Представляємо TransferSH: інструмент обміну файлами, спеціально розроблений для завантаження та обміну файлами з терміналу Linux.
СПОЙЛЕР ПОПЕРЕДЖЕННЯ: Прокрутіть униз і перегляньте відео-посібник в кінці цієї статті.
Використання Transfer.sh вручну
Передача.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 для завантаження
Взаємодія з transfer.sh за допомогою curl вимагає досить тривалої команди. Ось як це працює.

Спочатку знайдіть файл у вашій файловій системі для завантаження. Використовуйте “find” або “locate” у своєму терміналі (або перейдіть до файлового менеджера, знайдіть файл та відзначте, де він знаходиться). Зауваживши, де знаходиться файл, який ви намагаєтеся завантажити, скористайтеся командою cd, щоб перейти туди. У цьому прикладі ми будемо завантажувати "test.mp3" з папки "Документи".
cd ~/Documents
Термінал зараз знаходиться в каталозі, де тест.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, перейдіть до самого кінця файлу. Потім вставте код псевдоніма передачі 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 файл, зберегти нано за допомогою CTRL + O. Перезавантажте комп'ютер, щоб зміни набули чинності.
Використання псевдоніму терміналу для завантаження
Завантажити псевдонім TransferSH набагато простіше, ніж використовувати Curl вручну. У цьому прикладі ми знову використаємо test.mp3 та папку «Документи».
Крок 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 - це такий корисний інструмент. Це робить так, що захоплювати файли будь-якого розміру прямо з командного рядка простіше, ніж будь-коли.
Коментарі