Друзья, очень часто приходится обмениваться файлами и думаю, что многие пользуются различными файлообменниками, в том числе и таким удобным сервисом как transfer.sh. Это никакая не реклама, просто желание поделиться удобным способом загружать файлы и обмениваться ими. В своей работе я часто использую Ubuntu и поэтому на примере этой ОС я расскажу, как можно немного упростить обмен файлами.
Сервис позволяет загрузить файл и в ответ выдает ссылку на его скачивание. Это можно сделать из терминала, используя curl:
В ответе будет ссылка на скачивание, что-то вроде: https://transfer.sh/66nb8/hello.txt
Перейдя по такой ссылке, вы попадете на страницу где можете скачать файл, без какой либо рекламы или ожидания. Но так же можно получить сразу прямой доступ к файлу, для этого нужно добавить /get после домена transfer.sh: https://transfer.sh/get/66nb8/hello.txt
Для более удобного использования, сам сервис предлагает прописать алиас, чтобы не вводить каждый раз длинную команду curl, а вместо этого использовать следующий синтаксис:
Я не много доработал сам алиас, помимо того что файл загружается на сервер, в ссылку автоматически добавляется /get для прямого доступа к файлу, а так же ссылка сразу копируется в буфер обмена. Для того, что-бы ссылка копировалась необходимо установить утилиту xclip:
Для добавления алиаса, открываем и редактируем файл ~/.bashrc
Или любым удобным для вас редактором.
В конец файла добавляем код:
Сохраняем и закрываем файл, а так же перезагружаем алиасы, чтобы можно было сразу же их использовать.
Теперь вы можете загружать свои файлы на сервер одной простой командой:
По завершению загрузки ссылка будет скопирована в буфер обмена. А так же выше выложенный код добавляет алиас copy, который копирует вывод терминала в буфер. К примеру вы вводите какую либо команду, вывод которой вы потом собираетесь скопировать, просто добавьте в конец команды | copy и вывод скопируется автоматически!
Надеюсь, что помог кому либо немного упростить свои рутинные действия!
Сервис позволяет загрузить файл и в ответ выдает ссылку на его скачивание. Это можно сделать из терминала, используя curl:
Код:
curl --upload-file ./hello.txt https://transfer.sh/hello.txt
В ответе будет ссылка на скачивание, что-то вроде: https://transfer.sh/66nb8/hello.txt
Перейдя по такой ссылке, вы попадете на страницу где можете скачать файл, без какой либо рекламы или ожидания. Но так же можно получить сразу прямой доступ к файлу, для этого нужно добавить /get после домена transfer.sh: https://transfer.sh/get/66nb8/hello.txt
Для более удобного использования, сам сервис предлагает прописать алиас, чтобы не вводить каждый раз длинную команду curl, а вместо этого использовать следующий синтаксис:
Код:
transfer /path/to/file
Я не много доработал сам алиас, помимо того что файл загружается на сервер, в ссылку автоматически добавляется /get для прямого доступа к файлу, а так же ссылка сразу копируется в буфер обмена. Для того, что-бы ссылка копировалась необходимо установить утилиту xclip:
Код:
sudo apt install xclip
Для добавления алиаса, открываем и редактируем файл ~/.bashrc
Код:
gedit ~/.bashrc
Или любым удобным для вас редактором.
В конец файла добавляем код:
Код:
#xclip alias
alias copy='xclip -selection clipboard'
#transfer.sh
transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); transferUrl='curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile"'; echo "${transferUrl/transfer.sh/transfer.sh/get}" | copy >> $tmpfile; else 'curl --progress-bar --upload-file "-" "https://transfer.sh/$1"'; echo "${transferUrl/transfer.sh/transfer.sh/get}" | copy >> $tmpfile; fi; cat $tmpfile; rm -f $tmpfile; }
Сохраняем и закрываем файл, а так же перезагружаем алиасы, чтобы можно было сразу же их использовать.
Код:
source ~/.bashrc
Теперь вы можете загружать свои файлы на сервер одной простой командой:
Код:
transfer /path/to/file
По завершению загрузки ссылка будет скопирована в буфер обмена. А так же выше выложенный код добавляет алиас copy, который копирует вывод терминала в буфер. К примеру вы вводите какую либо команду, вывод которой вы потом собираетесь скопировать, просто добавьте в конец команды | copy и вывод скопируется автоматически!
Надеюсь, что помог кому либо немного упростить свои рутинные действия!