Łatwy sposób wkleić dane z wiersza poleceń, aby wkleić usługi bin?


38

Czy są jakieś narzędzia wiersza poleceń w systemie Linux, które umożliwiają wysyłanie danych wyjściowych z poleceń lub plików tekstowych bezpośrednio do usługi udostępniania, takiej jak pastebin.com?


2
Moim ulubionym zestawieniem z ładnym skryptem powłoki jest Sprunge .
DopeGhoti

Sprawdź https://paste.c-net.org/ Jest wyposażony w funkcje Bash, łatwe do użycia z wiersza poleceń, bez dodatkowych programów do zainstalowania. Cóż, z wyjątkiem loków, które pewnie i tak masz :)
spieprz

Odpowiedzi:


34

Jest kilka usług, które to zapewniają, ale 2, które są dość łatwe w użyciu z wiersza poleceń, to fpastei pastebinit. Te 2 narzędzia prowadzą do stron: paste.fedoraproject.org i pastebin.com .

fpaste

UWAGA: Jest to opcja tylko dla Fedory / CentOS / RHEL

Jeśli korzystasz z dowolnej dystrybucji opartej na systemie Red Hat, możesz zainstalować pakiet, fpastektóry udostępnia narzędzie wiersza poleceń do publikowania treści paste.fedoraproject.org.

Podstawowe polecenia

W celu podstawowego opublikowania pojedynczego pliku tekstowego możesz wykonać następujące czynności.

$ fpaste hello_unixnlinux.txt 

Powyższe polecenie zwróci adres URL, pod którym inni mogą teraz uzyskać dostęp do treści.

...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131

Inne polecenia

Istnieje oczywiście wiele innych opcji.

  • wklej schowek: fpaste -i
  • wklej informacje o systemie: fpaste --sysinfo
  • dry run: `fpaste --printonly somefile.txt

Zobacz stronę podręcznika, man fpasteaby uzyskać więcej informacji.

pastebinit

Jest to prawdopodobnie najpopularniejsze z 2 narzędzi. Jest obsługiwany w większości często używanych dystrybucji, takich jak Fedora, CentOS i Ubuntu, żeby wymienić tylko kilka. Ma podobne funkcje, fpasteale możesz z nim zrobić o wiele więcej, na przykład:

lista usług

Na początek możemy uzyskać listę wszystkich „obsługiwanych” adresów URL za pomocą -lprzełącznika.

$ 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

Jeśli nie zadajesz sobie trudu, aby wybrać jeden za pomocą -bprzełącznika, wybierze jeden na podstawie twojej dystrybucji, zakładając, że jest jeden, w przeciwnym razie wracasz do pastebin.com. Zauważ, że obsługuje on również fpaste.orgFedorę, więc możesz użyć tego narzędzia do pokrycia również tej usługi wklejania.

Publikowanie prostego pliku tekstowego

Aby opublikować przykładowy plik w pastebin.com.

$ pastebinit -i hello_unixnlinux.txt -b http://pastebin.com
http://pastebin.com/d6uXieZj

Kod pocztowy

Za pomocą -fprzełącznika możesz także powiedzieć, że treść, którą wklejasz, to kod . Na przykład oto skrypt Bash. Zamierzamy również nazwać przesyłanie za pomocą -aprzełącznika, aby pojawił się pod nazwą „ex_bash_1”.

$ pastebinit -i sample.bash -f bash -a ex_bash_1 -b http://pastebin.com
http://pastebin.com/jGvyysQ9

Pełna lista obsługiwanych składni znajduje się w często zadawanych pytaniach na pastebin.com w tym temacie: W jakich językach oferujesz wyróżnianie składni? .

Dla dalszych szczegółów być lekarstwem sprawdzić strony podręcznika man pastebinit.

Próbki

Oto 2 przykłady pliku, który wysłałem do każdej usługi.

fpaste - http://ur1.ca/gddtt

   ss fpaste

pastebin - http://pastebin.com/jGvyysQ9

   ss of pastebinit

Referencje


Wszystkie te są blade w porównaniu do Sprunge i Hastebin , IMO. (:
DopeGhoti

Tak, słyszę o tym, jak niesamowita jest Sprunge, BTW nigdy o niej nie słyszała. Witryna jest podobna do / dev / null, a interfejs wydaje mi się niezręczny w porównaniu z rzeczywistym narzędziem, takim jak te, które wymieniłem. Ale dlatego mamy tak wiele opcji, aby każdy mógł wybrać to, co lubi 8-). Z drugiej strony Hastebin wydaje się nieco bardziej dopracowany, podoba mi się, że możesz hostować własną instancję, czas trwania maksymalnie 30 dni jest dla mnie przełomowy.
slm

Zauważ również, że pastebinit może publikować na sprunge.us. Jest na liście dostarczonej przez pastebinit -l.
slm

Dodaj notatkę, że w przykładowym poleceniu pastebinit użyto lokalnej nazwy użytkownika jako tytułu wklejania, co było nieprzyjemną niespodzianką
Dubslow,

22

Lubię dwa narzędzia wiersza poleceń, które curlwymieniono na Arch Wiki :

<command> | curl -F 'sprunge=<-' http://sprunge.us

<command> 2>&1 | curl -F 'f:1=<-' ix.io

Możesz zrobić prostą funkcję, aby zaoszczędzić sobie konieczności pamiętania krwawych szczegółów, na przykład:

sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}

Możesz wysłać na ulepszony adres URL, jeśli chcesz wyróżnić składnię dla wklejonego kodu. W przypadku systemu IX dołączasz albo /ID/do adresu URL ( http://ix.io/ID/ ), aby uzyskać domyślną składnię opartą na automatycznym wykrywaniu, lub /ID/<language>/jawnie ustawiać język podświetlania pigmetów.

W przypadku http://sprunge.us dołącz ?<language>do tego samego efektu.


Czy możesz je stylizować lub wybrać typ kodu, czy też podświetlanie składni, jeśli w ogóle, odbywa się automatycznie na podstawie wklejonych elementów?
slm

Nie jestem tego świadomy: po prostu wkleja tekst. Ale nie zagłębiałem się w to, bo to wszystko, czego potrzebuję.
jasonwryan

Bardzo dobrze, po prostu nie byłem pewien, czy jest coś więcej w interfejsie curl pod względem dodatkowych przełączników itp., Które można uwzględnić w żądaniu.
slm

Znalazłem to. Możesz przyczepić? po którym następuje nazwa langugae, aby uzyskać wyróżnienie i numery linii. Zobacz ten przykład: sprunge.us/MFMY?bash
slm

po prostu najlepsze i najprostsze rozwiązanie. Uwielbiam społeczność archlinux :)
nXqd

19

Potrzebowałem czegoś do udostępniania danych wyjściowych terminala, nawet gdy serwer X nie był załadowany, więc stworzyłem tę usługę: termbin.com . Jedyne, czego potrzebujesz, to netcat, a następnie możesz łatwo udostępnić każdemu wszystko, co może być pokazane w terminalu, jest na przykład:

cat /etc/fstab | nc termbin.com 9999

Po uruchomieniu tego polecenia otrzymasz w odpowiedzi adres URL z plikiem tekstowym.

Aby ułatwić Ci życie, możesz dodać taki alias do pliku .bashrc:

echo 'alias tb="nc termbin.com 9999"' >> .bashrc

Teraz udostępnianie będzie znacznie prostsze:

uname -a | tb

Możesz je zapisać na przykład za pomocą curl. Więcej przykładów znajdziesz na termbin.com .

Możesz również hostować własny serwer, istnieje repozytorium github: https://github.com/solusipse/fiche . Jeśli chcesz ustawić go jako prywatny, nie zapomnij ustawić parametru białej listy.


Istnieje również pastebin-cli i Welcome to U & L.SE
eyoung100,

@solusipse; jak długo pasta pozostanie na twoim serwerze. czy to może trwać wiecznie? czy jest link do usunięcia postów
r004

1
@ r004 Jak wspomniano w termbin.com „Żywotność pojedynczej pasty wynosi jeden miesiąc. Starsze pasty są usuwane”.
Veerendra

Bardzo interesujące, ale bezużyteczne, jeśli znajdujesz się za firewallem z zablokowanym portem 9999. Za pomocą nc -vdostaniesz nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Pablo A

5

Używam clitxt, ponieważ nie jest wymagane żadne konto i nie ma żadnych parametrów ani ustawień do zapamiętania. Po prostu potokuj polecenie do clitxt, a ono zwraca adres URL. na przykład

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

3

Napisałem tę stronę specjalnie stworzoną do wklejania przez curl, ponieważ czułem, że nikt nie powinien pamiętać konkretnej składni jak na sprunge. Jest to nie tylko oprogramowanie typu open source, ale także całkowicie przenośne, dzięki czemu można łatwo skonfigurować własną „pastę curlpaste” z dowolną inną domeną. tzn. prywatny serwer wklejania.

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

jeśli odwiedzasz stronę internetową, istnieje również interfejs internetowy, który zapewnia inne opcje, takie jak odczyt i usunięcie.


curlpaste.com wydaje się nie działać
Davide Icardi

2

Oto kolejna usługa, która wydaje się to oferować: https://ctrlv.link/

Dodaj kod do pliku input.txti uruchom polecenie z okna terminala:

$ curl --form "expiration=0" --form "code_type=nohighlight" \
     --form "content=<input.txt" https://ctrlv.link/insert.php

Przykład z kodem C / C ++ (test.cpp):

$ curl --form "expiration=0" --form "code_type=cpp" \
     --form "content=<test.cpp" https://ctrlv.link/insert.php`

1

Niedawno utworzyłem jedno narzędzie wiersza polecenia dla pastebin https://notepad.pw/, którego używam często

wklejanie pliku jest tak proste, jak

npw -lo filename linkpath

więc w zasadzie wkleja treść do https://notepad.pw/

lFlaga jest na żywo aktualizacji Asin jeśli ktoś ogląda stronę strona będzie aktualizować bez przeładowywania.

flaga „o” jest przeznaczona do zastąpienia, jeśli jej nie użyjesz, zawartość zostanie dołączona do istniejącej.

Możesz zainstalować narzędzie przez pip

za pomocą polecenia

pip install npw

Oto strona github.


0

Anypaste

zrzeczenie się: To jest mój własny projekt

Anypaste obsługuje obecnie kilkanaście usług typu pastebin (w szczególności Hastebin i ix.io ). Możesz some_command | anypasteprzesłać coś do pliku lub jawnie wyświetlić plik anypaste my_code.c. Przesyłanie multimediów jest również obsługiwane w witrynach takich jak Imgur i Gfycat; anypaste automatycznie wykrywa typ pliku, aby określić, gdzie przesłać dane wejściowe.

Najszybszym sposobem instalacji jest pobranie pliku wykonywalnego (jest to duży skrypt powłoki):

sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh


0

Wiele pastebin nie wymaga żadnych specjalnych narzędzi. Zwija się curl lub wget.

https://paste.c-net.org/ jest jednym z takich przykładów.

Oto fragment z „instrukcji”:

Prześlij tekst za pomocą curl:

$ curl -s --data 'Hello World!' „ http://paste.c-net.org/

Prześlij tekst za pomocą wget:

$ wget --quiet -O- --post-data = 'Witaj świecie!' „ http://paste.c-net.org/

Prześlij plik za pomocą curl:

$ curl --upload-file '/ tmp / file' ' https://paste.c-net.org/ '

Prześlij plik za pomocą wget:

$ wget --quiet -O- --post-file = '/ tmp / file' ' http://paste.c-net.org/ '

Prześlij dane wyjściowe polecenia lub skryptu za pomocą curl:

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

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

Możesz także po prostu przesłać rzeczy do netcat

$ ls / | nc paste.c-net.org 9999

W przeciwieństwie do termbin, pasta.c-net.org nie przekroczy limitu czasu, jeśli skrypt wygeneruje więcej niż 5 sekund.

$ {spać 10; ls /; } | nc termbin.com 9999

$ {spać 10; ls /; } | nc paste.c-net.org 9999

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

Strona zawiera również gotowe funkcje Bash dla pliku .bashrc.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.