Простий спосіб вставити вихідний командний рядок, щоб вставити служби бін?


38

Чи є в Linux інструменти командного рядка, які дозволяють розміщувати висновки з команд або текстових файлів безпосередньо в службі спільного використання, наприклад pastebin.com?


2
Мій улюблений, коли в парі з хорошим сценарієм оболонки, є Sprunge .
DopeGhoti

Ознайомтеся з https://paste.c-net.org/ Він оснащений функціями Bash, які легко використовуються з командного рядка без додаткових програм для встановлення. Ну, крім завитка, який у вас, мабуть, є все-таки :)
болт

Відповіді:


34

Є кілька сервісів, які надають це, але 2, якими досить просто користуватися з командного рядка, є fpasteі pastebinit. Ці два інструменти посилаються на сайти, paste.fedoraproject.org і pastebin.com .

fpaste

ПРИМІТКА. Це лише пара 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
  • сухий хід: `fpaste --printonly somefile.txt

Детальнішу інформацію див. На сторінці чоловіка man fpaste.

пастебініт

Це, мабуть, більш популярний із двох інструментів. Він підтримується в більшості часто використовуваних нами дистрибутивів, таких як 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.orgFedora, тому ви можете використовувати цей інструмент і для покриття цієї послуги вставки.

Опублікування простого текстового файлу

Щоб опублікувати зразок файлу на 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

Повний список підтримуваних синтаксисів розміщений у FAQbin на pastebin.com у цій темі під назвою: На яких мовах ви пропонуєте виділення синтаксису? .

Для отримання більш докладної інформації буде лікування , щоб перевірити сторінки людини, man pastebinit.

Зразки

Ось 2 приклади файлу, який я розмістив у кожній службі.

fpaste - http://ur1.ca/gddtt

   ss fpaste

pastebin - http://pastebin.com/jGvyysQ9

   ss пастебініт

Список літератури


Усі вони бліді порівняно зі Спрунгом та Хастебіном , ІМО. (:
DopeGhoti

Так, я чую про те, наскільки чудовим є Спрунг, BTW ніколи не чув про нього до сьогодні. Там веб-сайт схожий на / dev / null, і я знаходжу інтерфейс незручним порівняно з фактичним інструментом, таким як ті, які я перерахував. Але тому у нас так багато варіантів, щоб кожен міг вибрати те, що їм подобається 8-). З іншого боку, Hastebin здається трохи більш відшліфованим, мені подобається, що ви можете розмістити свій власний екземпляр, тривалість максимум 30 днів - це для мене розрив угод.
slm

Також зауважте, що pastebinit може публікувати на sprunge.us. Це в списку, наданому компанією pastebinit -l.
slm

Будь ласка, додайте до відома, що в прикладі команди pastebinit в якості заголовка пасти використовується ваше локальне ім'я користувача, це було неприємним сюрпризом
Dubslow

22

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


Чи можете ви стилізувати їх або вибрати тип коду чи підсвічування синтаксису, якщо така є, автоматична на основі того, що вставлено?
slm

Не те, що мені відомо: це просто вставляє текст. Але я не заглядав далі, як це все, що мені потрібно.
Jasonwryan

Дуже добре, я просто не був впевнений, чи є в інтерфейсі curl більше додаткових комутаторів і т.д., що ви могли б включити в запит.
slm

Я знайшов це. Ви можете взяти на себе? після чого слід назвати лангуги, щоб отримати виділення та номери рядків. Дивіться цей приклад: sprunge.us/MFMY?bash
slm

просто найкраще і найпростіше рішення. Люблю спільноту
archlinux

19

Мені потрібно було щось поділити висновок терміналу, навіть коли 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 . Якщо ви хочете зробити його приватним, не забудьте встановити параметр білого списку.


Також є пастбін-клі , і Ласкаво просимо до U&LSE
eyoung100

@solusipse; як довго паста залишиться на вашому сервері. це могло бути назавжди? або є посилання для видалення дописів
r004

1
@ r004 Як вони згадували в termbin.com, "Тривалість життя однієї пасти - один місяць. Старі пасти видаляються."
Верендра

Дуже цікаво, але марно, якщо ви знаходитесь за брандмауером із заблокованим портом 9999. Використовуючи nc -vви отримаєте nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Пабло А

5

Я використовую клітор, оскільки не потрібен обліковий запис, і немає параметрів чи налаштувань, які слід пам'ятати. Ви просто передаєте команду клітком і вона повертає URL-адресу. напр

root@server3219-old7 [~]# yum -y update | clitxt
https://clitxt.com/t/ad7-1426995329.txt

3

Я написав цей веб-сайт, створений спеціально для вставки за допомогою curl, оскільки я відчував, що ніхто не повинен пам'ятати конкретний синтаксис, як у спрунге. Це також не тільки відкритий код, але повністю портативний, щоб ви могли легко налаштувати власну "curlpaste" з будь-яким іншим доменом. тобто приватний сервер вставки.

curl --data-binary @your-file-here.txt https://curlpaste.com

якщо ви відвідуєте веб-сайт, є також веб-інтерфейс, який пропонує інші параметри, такі як прочитати один раз і видалити.


curlpaste.com, здається, вниз
Девід Ікарді

2

Ось ще одна послуга, яка, здається, пропонує це: 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`

1

Нещодавно я створив один інструмент командного рядка для пастіна https://notepad.pw/, який я часто використовую

вставити файл так само просто

npw -lo filename linkpath

тому в основному він вставляє вміст на https://notepad.pw/

lПрапор для живого поновлення Асин , якщо хто - то переглядає сторінку , на сторінці буде оновлюватися без перезавантаження.

прапор 'o' призначений для перезапису, якщо ви не використовуєте його, вміст буде доданий до існуючого.

Ви можете встановити інструмент через pip

за допомогою команди.

pip install npw

Ось сторінка github.


0

Anypaste

відмова від відповідальності: Це мій власний проект

На даний момент 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


0

Для багатьох пастбінів не потрібні спеціальні засоби. Curl або wget будуть робити.

https://paste.c-net.org/ - один із таких прикладів.

Ось фрагмент із "посібника":

Завантажте текст за допомогою curl:

$ curl -s --дані "Привіт, світ!" ' http://paste.c-net.org/ '

Завантажте текст за допомогою wget:

$ wget --quiet -O- --post-data = 'Привіт, світ!' ' 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 - завантажувальний файл ' http://paste.c-net.org/ '

$ ./bin/hello_world | curl --upload-file - ' http://paste.c-net.org/ '

Ви також можете просто передати речі на сітку

$ 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

https://paste.c-net.org/ExampleOne

На сторінці також передбачені попередні функції Bash для вашого файлу .bashrc.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.