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

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

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

Коментарі