Существуют ли в Linux инструменты командной строки, которые позволяют публиковать выходные данные команд или текстовых файлов непосредственно в службу общего доступа, например pastebin.com?
Существуют ли в Linux инструменты командной строки, которые позволяют публиковать выходные данные команд или текстовых файлов непосредственно в службу общего доступа, например pastebin.com?
Ответы:
Есть несколько сервисов, которые предоставляют это, но 2, которые довольно просты в использовании из командной строки, fpaste
и pastebinit
. Эти 2 инструмента связаны с сайтами paste.fedoraproject.org и pastebin.com .
ПРИМЕЧАНИЕ. Это только для Fedora / CentOS / RHEL.
Если вы используете какой-либо из дистрибутивов Red Hat, вы можете установить пакет, fpaste
который предоставляет вам инструмент командной строки для публикации контента paste.fedoraproject.org
.
Для основной публикации одного текстового файла вы можете сделать следующее.
$ fpaste hello_unixnlinux.txt
Приведенная выше команда вернет URL-адрес, по которому ваш контент теперь смогут получить доступ другие.
...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131
Есть, конечно, целый ряд других вариантов.
fpaste -i
fpaste --sysinfo
Смотрите man-страницу, man fpaste
для более подробной информации.
Это, наверное, самый популярный из 2 инструментов. Он поддерживается на большинстве распространяемых мной дистрибутивов, таких как Fedora, CentOS и Ubuntu, и это лишь некоторые из них. Он имеет схожие функции, fpaste
но вы можете сделать с ним гораздо больше, например:
Для начала мы можем получить список всех «поддерживаемых» URL через -l
коммутатор.
$ pastebinit -l
Supported pastebins:
- cxg.de
- fpaste.org
- p.defau.lt
- paste.debian.net
- paste.drizzle.org
- paste.kde.org
- paste.openstack.org
- paste.pocoo.org
- paste.pound-python.org
- paste.ubuntu.com
- paste.ubuntu.org.cn
- paste2.org
- pastebin.com
- pastie.org
- pb.daviey.com
- slexy.org
- sprunge.us
Если вы не удосужились выбрать один из них с помощью -b
переключателя, он выберет один в зависимости от вашего дистрибутива, при условии, что есть один для него, в противном случае перейдите на pastebin.com. Обратите внимание, что это также поддерживаетfpaste.org
и Fedora, так что вы можете использовать этот инструмент и для этой службы вставки.
Чтобы отправить образец файла в pastebin.com
.
$ pastebinit -i hello_unixnlinux.txt -b http://pastebin.com
http://pastebin.com/d6uXieZj
Вы также можете сказать, что контент, который вы вставляете, является кодом с помощью -f
переключателя. Например, вот скрипт Bash. Мы также будем называть загрузку с помощью -a
переключателя, чтобы он отображался с именем «ex_bash_1».
$ pastebinit -i sample.bash -f bash -a ex_bash_1 -b http://pastebin.com
http://pastebin.com/jGvyysQ9
Полный список поддерживаемых синтаксисов приведен в разделе часто задаваемых вопросов pastebin.com по этой теме: Для каких языков вы предлагаете подсветку синтаксиса? ,
Для получения более подробной информации обращайтесь к справочным страницам man pastebinit
.
Вот 2 примера файла, который я разместил в каждом сервисе.
fpaste - http://ur1.ca/gddtt
pastebin - http://pastebin.com/jGvyysQ9
pastebinit -l
.
Мне нравятся два инструмента командной строки, которые curl
перечислены в Arch Wiki :
<command> | curl -F 'sprunge=<-' http://sprunge.us
<command> 2>&1 | curl -F 'f:1=<-' ix.io
Вы можете сделать простую функцию, чтобы избавить вас от необходимости запоминать кровавые детали, например так:
sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}
Вы можете отправить на расширенный URL-адрес, если вы хотите подсветку синтаксиса для вставки кода. Для ix вы добавляете либо /ID/
к URL ( http://ix.io/ID/ ) для синтаксиса по умолчанию, основанного на автоопределении, либо /ID/<language>/
для явной установки языка для выделения фрагментов.
Для http://sprunge.us добавьте ?<language>
тот же эффект.
Мне нужно было что-то, чтобы делиться выводом терминала, даже когда X-сервер не был загружен, поэтому я создал этот сервис: termbin.com . Единственное, что вам нужно, это netcat, тогда вы можете легко поделиться с кем-либо чем-либо, что может быть показано в терминале, вот пример:
cat /etc/fstab | nc termbin.com 9999
После выполнения этой команды вы получите в ответе URL-адрес с текстовым файлом.
Чтобы сделать вашу жизнь проще, вы можете добавить такой псевдоним в ваш файл .bashrc:
echo 'alias tb="nc termbin.com 9999"' >> .bashrc
Теперь обмен будет намного проще:
uname -a | tb
Вы можете получить сохраненные, например, с помощью curl. Вы найдете больше примеров на termbin.com .
Вы также можете разместить свой собственный сервер, есть github-репозиторий: https://github.com/solusipse/fiche . Если вы хотите сделать его приватным, не забудьте установить параметр белого списка.
nc -v
вы получите nc: connect to termbin.com port 9999 (tcp) failed: No route to host
.
Я написал этот веб-сайт, специально предназначенный для вставки с помощью curl, поскольку я чувствовал, что никто не должен помнить конкретный синтаксис, как в sprunge. Он также не только с открытым исходным кодом, но и полностью переносим, так что вы можете легко настроить собственную "curlpaste" с любым другим доменом. т.е. частный сервер вставки.
curl --data-binary @your-file-here.txt https://curlpaste.com
Если вы посещаете веб-сайт, есть также веб-интерфейс, который предоставляет другие опции, такие как чтение один раз и удаление.
Вот еще один сервис, который предлагает это: https://ctrlv.link/
Добавьте код в файл input.txt
и выполните эту команду из окна терминала:
$ curl --form "expiration=0" --form "code_type=nohighlight" \
--form "content=<input.txt" https://ctrlv.link/insert.php
Пример с кодом C / C ++ (test.cpp):
$ curl --form "expiration=0" --form "code_type=cpp" \
--form "content=<test.cpp" https://ctrlv.link/insert.php`
Недавно я создал один инструмент командной строки для пастбина https://notepad.pw/, который я часто использую
Вставить файл так же просто, как
npw -lo filename linkpath
поэтому в основном он вставляет содержимое в https://notepad.pw/
l
Флаг для живого обновления Асин , если кто - то просматривает страницу , на странице будет обновляться без перезагрузки.
флаг 'o' предназначен для перезаписи, если вы его не используете, контент будет добавлен к существующему.
Вы можете установить инструмент через пункт
используя команду.
pip install npw
Вот страница GitHub.
отказ от ответственности: это мой собственный проект
В настоящее время Anypaste поддерживает около дюжины похожих на пастин сервисов (особенно это касается Hastebin и ix.io ). Вы можете передать что-то some_command | anypaste
или явно перечислить файл anypaste my_code.c
. Загрузка медиа также поддерживается на такие сайты, как Imgur и Gfycat; anypaste автоматически определяет тип файла, чтобы определить, куда загрузить данные.
Самый быстрый способ установки - загрузить исполняемый файл (это большой скрипт оболочки):
sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh
Многие пастбины не требуют специальных инструментов. Скручивание или wget подойдет.
https://paste.c-net.org/ является одним из таких примеров.
Вот фрагмент из "руководства":
Загрузить текст с помощью curl:
$ curl -s --data 'Hello World!' ' http://paste.c-net.org/ '
Загрузить текст с помощью wget:
$ wget --quiet -O- --post-data = 'Hello World!' ' http://paste.c-net.org/ '
Загрузите файл, используя curl:
$ curl --upload-file '/ tmp / file' ' https://paste.c-net.org/ '
Загрузите файл с помощью wget:
$ wget --quiet -O- --post-file = '/ tmp / file' ' http://paste.c-net.org/ '
Загрузите вывод команды или скрипта, используя curl:
$ ls / | curl --upload-файл ' http://paste.c-net.org/ '
$ ./bin/hello_world | curl --upload-file - ' http://paste.c-net.org/ '
Вы также можете просто передать материал в Netcat
$ ls / | nc paste.c-net.org 9999
В отличие от termbin, paste.c-net.org не будет иметь тайм-аут, если вашему скрипту потребуется более 5 секунд для вывода.
$ {спать 10; лс /; } | nc termbin.com 9999
$ {спать 10; лс /; } | nc paste.c-net.org 9999
На странице также представлены готовые функции Bash для вашего файла .bashrc.