Einfache Möglichkeit zum Einfügen von Befehlszeilenausgaben zum Einfügen von Bin-Diensten?


38

Gibt es Befehlszeilentools unter Linux, mit denen Sie die Ausgabe von Befehlen oder Textdateien direkt an einen Freigabedienst wie pastebin.com senden können?


2
Mein Favorit in Kombination mit einem netten Shell-Skript ist Sprunge .
DopeGhoti

Check out https://paste.c-net.org/ Es enthält Bash-Funktionen, die einfach über die Befehlszeile verwendet werden können, ohne dass zusätzliche Programme installiert werden müssen. Nun, abgesehen von Locke, die Sie wahrscheinlich sowieso :)
Bolzen

Antworten:


34

Es gibt mehrere Dienste, die dies bieten, aber 2, die ziemlich einfach über die Befehlszeile zu verwenden sind fpasteund pastebinit. Diese 2 - Tools verlinkt auf den Websites, paste.fedoraproject.org und pastebin.com .

fpaste

HINWEIS: Dies ist nur eine Fedora / CentOS / RHEL-Option

Wenn Sie eines der Red Hat-basierten Distributionen verwenden, können Sie das Paket installieren, fpastedas Ihnen ein Befehlszeilentool zum Posten von Inhalten bietet paste.fedoraproject.org.

Grundlegende Befehle

Um eine einzelne Textdatei einfach zu veröffentlichen, können Sie Folgendes tun.

$ fpaste hello_unixnlinux.txt 

Der obige Befehl gibt eine URL zurück, über die andere auf Ihren Inhalt zugreifen können.

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

Andere Befehle

Es gibt natürlich eine ganze Reihe weiterer Möglichkeiten.

  • Zwischenablage einfügen: fpaste -i
  • Systeminfo einfügen: fpaste --sysinfo
  • Trockenlauf: `fpaste --printonly somefile.txt

man fpasteWeitere Informationen finden Sie auf der Manpage .

Pastebinit

Dies ist wahrscheinlich das beliebteste der beiden Tools. Es wird von den meisten Distributionen wie Fedora, CentOS und Ubuntu unterstützt, um nur einige zu nennen. Es hat ähnliche Eigenschaften wie, fpasteaber Sie können viel mehr damit machen, zum Beispiel:

Liste der Dienstleistungen

Für den Anfang können wir eine Liste aller "unterstützten" URLs über den -lSchalter erhalten.

$ 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

Wenn Sie sich nicht die Mühe machen, einen mit dem -bSchalter auszuwählen, wählt er einen basierend auf Ihrer Distribution aus, vorausgesetzt, es gibt einen dafür, andernfalls wird auf pastebin.com zurückgegriffen. Beachten Sie fpaste.org, dass es Fedora auch unterstützt , sodass Sie dieses Tool auch für diesen Einfügedienst verwenden können.

Eine einfache Textdatei posten

So senden Sie eine Beispieldatei an pastebin.com.

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

Buchungscode

Sie können auch feststellen, dass der Inhalt, den Sie einfügen, Code ist, der den -fSchalter verwendet. Zum Beispiel ist hier ein Bash-Skript. Wir werden den Upload auch mit dem -aSchalter benennen , sodass er mit dem Namen "ex_bash_1" angezeigt wird.

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

Eine vollständige Liste der unterstützten Syntax finden Sie in den häufig gestellten Fragen zu pastebin.com unter dem Thema: Für welche Sprachen bieten Sie Syntax-Hervorhebungen an? .

Weitere Informationen finden Sie in den Manpages man pastebinit.

Proben

Hier sind zwei Beispiele für die Datei, die ich für jeden Dienst bereitgestellt habe.

fpaste - http://ur1.ca/gddtt

   ss von fpaste

Pastebin - http://pastebin.com/jGvyysQ9

   ss von pastebinit

Verweise


All dies verblasst im Vergleich zu Sprunge und Hastebin , IMO. (:
DopeGhoti

Ja, ich höre, wie großartig Sprunge ist. Übrigens habe ich bis heute noch nie davon gehört. Es gibt eine Website wie / dev / null, und ich finde die Oberfläche umständlich im Vergleich zu einem tatsächlichen Tool wie dem, das ich aufgelistet habe. Aber deshalb haben wir so viele Möglichkeiten, dass jeder auswählen kann, was ihm gefällt. Hastebin hingegen scheint etwas ausgefeilter zu sein, ich mag es, dass Sie Ihre eigene Instanz hosten können, die maximale Dauer von 30 Tagen ist für mich ein Deal Breaker.
SLM

Beachten Sie auch, dass Pastebinit auf sprunge.us posten kann. Es steht in der Liste von pastebinit -l.
SLM

Bitte fügen Sie einen Hinweis hinzu, dass der Pastebinit-Befehl in diesem Beispiel Ihren lokalen Benutzernamen als
Einfügetitel verwendet. Dies

22

Ich mag die beiden Kommandozeilen-Tools, die curlim Arch Wiki aufgelistet sind :

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

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

Sie können eine einfache Funktion erstellen, um zu vermeiden, dass Sie sich die blutigen Details merken müssen:

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

Sie können an eine erweiterte URL senden, wenn Sie eine Syntaxhervorhebung für das Einfügen des Codes wünschen. Für ix hängen Sie entweder /ID/an die URL ( http://ix.io/ID/ ) an, um die Standardsyntax basierend auf der automatischen Erkennung /ID/<language>/festzulegen , oder um die Sprache für die Hervorhebung von Pigmenten explizit festzulegen.

Für http://sprunge.us , append ?<language>für den gleichen Effekt.


Können Sie diese formatieren oder einen Codetyp auswählen, oder wird die Syntax, falls vorhanden, basierend auf den eingefügten Elementen automatisch hervorgehoben?
SLM

Nicht, dass ich es gewusst hätte: Es wird nur Text eingefügt. Aber ich habe nicht weiter darauf eingegangen, da das alles ist, was ich brauche.
Jasonwryan

Sehr gut, ich war mir nur nicht sicher, ob die Curl-Oberfläche mehr zusätzliche Schalter usw. enthält, die Sie in die Anfrage aufnehmen könnten.
SLM

Ich habe es gefunden. Sie können auf eine Wende? gefolgt vom Namen der Langugae, um Hervorhebungen und Zeilennummern zu erhalten. Siehe dieses Beispiel: sprunge.us/MFMY?bash
slm

einfach die beste und einfachste Lösung da draußen. Liebe Archlinux-Community :)
nXqd

19

Ich brauchte etwas, um die Terminal-Ausgabe freizugeben, auch wenn der X-Server nicht geladen war . Deshalb habe ich diesen Service erstellt: termbin.com . Das einzige, was Sie brauchen, ist netcat. Dann können Sie alles, was im Terminal angezeigt werden kann, ganz einfach mit anderen teilen. Es gibt ein Beispiel:

cat /etc/fstab | nc termbin.com 9999

Nachdem Sie diesen Befehl ausgeführt haben, erhalten Sie als Antwort die URL-Adresse mit der Textdatei.

Um Ihnen das Leben zu erleichtern, können Sie Ihrer .bashrc-Datei einen solchen Alias ​​hinzufügen:

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

Das Teilen wird jetzt viel einfacher:

uname -a | tb

Sie können zum Beispiel mit Curl gespeichert werden. Weitere Beispiele finden Sie auf termbin.com .

Sie können auch Ihren eigenen Server hosten, es gibt ein Github-Repository: https://github.com/solusipse/fiche . Wenn Sie es als privat kennzeichnen möchten, vergessen Sie nicht, den Whitelist-Parameter festzulegen.


Es gibt auch Pastebin-Cli und Welcome to U & L.SE
eyoung100

@solusipse; Wie lange bleibt die Paste auf Ihrem Server? könnte es für immer sein oder gibt es einen link zum entfernen der posts
r004

1
@ r004 Wie in termbin.com erwähnt "Die Lebensdauer einer einzelnen Paste beträgt einen Monat. Ältere Pasten werden gelöscht."
Veerendra

Sehr interessant, aber nutzlos, wenn Sie sich hinter einer Firewall mit blockiertem Port 9999 befinden. Mit nc -vbekommen Sie nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Pablo A

5

Ich verwende clitxt, da kein Konto erforderlich ist und es keine Parameter oder Einstellungen gibt, an die ich mich erinnern muss. Sie leiten den Befehl einfach an clitxt weiter und es wird eine URL zurückgegeben. z.B

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

3

Ich habe diese Website geschrieben, die speziell für das Einfügen per Locken gemacht wurde, da ich der Meinung war, dass sich niemand an eine bestimmte Syntax wie in sprunge erinnern sollte. Es ist nicht nur Open Source, sondern auch vollständig portabel, sodass Sie problemlos Ihre eigene "Curlpaste" mit jeder anderen Domain einrichten können. dh ein privater Paste-Server.

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

Wenn Sie die Website besuchen, gibt es auch eine Weboberfläche, die andere Optionen wie einmal lesen und löschen bietet.


curlpaste.com scheint nicht verfügbar zu sein
Davide Icardi

2

Hier ist ein weiterer Dienst, der dies zu bieten scheint: https://ctrlv.link/

Fügen Sie den Code in eine Datei ein input.txtund führen Sie diesen Befehl in einem Terminalfenster aus:

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

Ein Beispiel mit C / C ++ Code (test.cpp):

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

1

Ich habe vor kurzem ein Kommandozeilen - Tool für die Pastebin https://notepad.pw/ Ich benutze häufig

Das Einfügen Ihrer Datei ist so einfach wie

npw -lo filename linkpath

Im Grunde wird der Inhalt in https://notepad.pw/ eingefügt.

Das lFlag ist für Live-Aktualisierungen vorgesehen, da die Seite ohne erneutes Laden aktualisiert wird, wenn eine andere Person die Seite anzeigt.

Das 'o'-Flag dient zum Überschreiben, wenn Sie es nicht verwenden. Der Inhalt wird an den vorhandenen angefügt.

Sie können das Tool über pip installieren

mit dem Befehl.

pip install npw

Hier ist die Github-Seite.


0

Anypaste

Haftungsausschluss: Dies ist mein eigenes Projekt

Anypaste unterstützt derzeit etwa ein Dutzend pastebinähnliche Dienste (insbesondere Hastebin und ix.io ). Sie können some_command | anypasteeine Datei weiterleiten oder explizit auflisten anypaste my_code.c. Das Hochladen von Medien wird auch auf Websites wie Imgur und Gfycat unterstützt. anypaste erkennt automatisch den Dateityp, um festzustellen, wohin die Eingabe hochgeladen werden soll.

Am schnellsten installieren Sie die ausführbare Datei (es handelt sich um ein großes Shell-Skript):

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


0

Viele Pastebins benötigen kein spezielles Werkzeug. Curl oder Wget reicht aus.

https://paste.c-net.org/ ist ein solches Beispiel.

Hier ist ein Ausschnitt aus dem "Handbuch":

Hochladen von Text mit Locken:

$ curl -s --data 'Hallo Welt!' ' http://paste.c-net.org/ '

Text mit wget hochladen:

$ wget --quiet -O- --post-data = 'Hallo Welt!' ' http://paste.c-net.org/ '

Laden Sie eine Datei mit curl hoch:

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

Laden Sie eine Datei mit wget hoch:

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

Laden Sie die Ausgabe eines Befehls oder Skripts mit curl hoch:

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

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

Sie können Sachen auch einfach an netcat leiten

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

Im Gegensatz zu termbin tritt bei paste.c-net.org keine Zeitüberschreitung auf, wenn das Skript mehr als 5 Sekunden benötigt, um die Ausgabe zu erstellen.

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

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

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

Die Seite bietet auch vorgefertigte Bash-Funktionen für Ihre .bashrc-Datei.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.