¿Es una manera fácil de pegar la salida de la línea de comandos para pegar los servicios bin?


38

¿Existen herramientas de línea de comandos en Linux que le permitan publicar resultados de comandos o archivos de texto directamente en un servicio compartido como pastebin.com?


2
Mi favorito, cuando se combina con un bonito script de shell, es Sprunge .
DopeGhoti

Echa un vistazo a https://paste.c-net.org/ Viene con funciones de Bash, fácilmente utilizables desde la línea de comandos sin programas adicionales para instalar. Bueno, excepto por el rizo, que probablemente tengas de todos modos :)
atornille el

Respuestas:


34

Hay varios servicios que proporcionan esto, pero 2 que son bastante fáciles de usar desde la línea de comandos son fpastey pastebinit. Estas 2 herramientas enlazan a los sitios, paste.fedoraproject.org y pastebin.com .

fpaste

NOTA: Esta es una opción única de Fedora / CentOS / RHEL

Si está utilizando alguna de las distribuciones basadas en Red Hat, puede instalar el paquete fpasteque le brinda una herramienta de línea de comandos para publicar contenido paste.fedoraproject.org.

Comandos básicos

Para la publicación básica de un solo archivo de texto, puede hacer lo siguiente.

$ fpaste hello_unixnlinux.txt 

El comando anterior devolverá una URL donde otros pueden acceder a su contenido.

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

Otros comandos

Por supuesto, hay una gran cantidad de otras opciones.

  • pegar portapapeles: fpaste -i
  • pegar información del sistema: fpaste --sysinfo
  • ejecución en seco: `fpaste --printonly somefile.txt

Vea la página del manual, man fpastepara más detalles.

pastebinit

Esta es probablemente la más popular de las 2 herramientas. Es compatible con la mayoría de las distribuciones que frecuentan, como Fedora, CentOS y Ubuntu, por nombrar algunas. Tiene características similares fpastepero, puedes hacer mucho más con él, por ejemplo:

lista de servicios

Para empezar, podemos obtener una lista de todas las URL "compatibles" a través del -lconmutador.

$ 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

Si no se molesta en seleccionar uno con el -binterruptor, elegirá uno en función de su distribución, suponiendo que haya uno para él, de lo contrario recurrirá a pastebin.com. Tenga en cuenta que también es compatible fpaste.orgcon Fedora, por lo que también podría usar esta herramienta para cubrir ese servicio de pegado.

Publicar un archivo de texto simple

Para publicar un archivo de muestra en pastebin.com.

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

Código de publicación

También puede decir que el contenido que está pegando es código usando el -finterruptor. Por ejemplo, aquí hay un script Bash. También vamos a nombrar la carga usando el -ainterruptor, para que aparezca con el nombre "ex_bash_1".

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

Una lista completa de sintaxis admitida está cubierta en las preguntas frecuentes de pastebin.com bajo este tema titulado: ¿ Para qué idiomas ofrece resaltado de sintaxis? .

Para más detalles se cura para comprobar las páginas del manual, man pastebinit.

Muestras

Aquí hay 2 ejemplos del archivo que publiqué en cada servicio.

fpaste - http://ur1.ca/gddtt

   ss de fpaste

pastebin - http://pastebin.com/jGvyysQ9

   ss de pastebinit

Referencias


Todos estos palidecen en comparación con Sprunge y Hastebin , en mi opinión. (:
DopeGhoti

Sí, escuché lo increíble que es Sprunge, por cierto, nunca lo supe hasta hoy. El sitio web es como / dev / null, y encuentro la interfaz incómoda frente a una herramienta real como las que he enumerado. Pero es por eso que tenemos tantas opciones, para que todos puedan elegir lo que les gusta 8-). Hastebin, por otro lado, parece un poco más pulido, me gusta que pueda alojar su propia instancia, la duración de 30 días como máximo es un factor decisivo para mí.
slm

También tenga en cuenta que pastebinit puede publicar en sprunge.us. Está en la lista proporcionada por pastebinit -l.
slm

Agregue una nota de que el comando de ejemplo pastebinit usa su nombre de usuario local como el título de pegar, eso fue una sorpresa desagradable
Dubslow

22

Me gustan las dos herramientas de línea de comando que usan curl, que figuran en Arch Wiki :

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

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

Puede hacer una función simple para ahorrarle tener que recordar los detalles sangrientos, así:

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

Puede enviar a una URL mejorada si desea resaltar la sintaxis para pegar el código. Para ix, agrega /ID/a la URL ( http://ix.io/ID/ ) para la sintaxis predeterminada basada en la detección automática, o /ID/<language>/para establecer explícitamente el idioma para el resaltado de pigmentos.

Para http://sprunge.us , agregue ?<language>el mismo efecto.


¿Puede aplicarles un estilo o seleccionar un tipo de código o el resaltado de sintaxis, si lo hay, es automático basado en lo que se pega?
slm

No es que yo sepa: simplemente pega el texto. Pero no lo he investigado más, ya que eso es todo lo que necesito.
jasonwryan

Muy bien, simplemente no estaba seguro de si había más en la interfaz de curl en términos de interruptores adicionales, etc. que podría incluir en la solicitud.
slm

Lo encontré. ¿Puedes agregar un? seguido por el nombre de la langugae para obtener resaltado y números de línea. Vea este ejemplo: sprunge.us/MFMY?bash
slm

simplemente la mejor y más simple solución que existe. Love archlinux community :)
nXqd

19

Necesitaba algo para compartir la salida del terminal incluso cuando el servidor X no estaba cargado, así que creé este servicio: termbin.com . Lo único que necesita es netcat, luego puede compartir fácilmente con cualquier persona cualquier cosa que se pueda mostrar en la terminal, hay un ejemplo:

cat /etc/fstab | nc termbin.com 9999

Después de ejecutar este comando, obtendrá la dirección URL de respuesta con el archivo de texto.

Para facilitarle la vida, puede agregar dicho alias a su archivo .bashrc:

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

Ahora compartir será mucho más simple:

uname -a | tb

Puede guardar los guardados, por ejemplo, usando curl. Encontrarás más ejemplos en termbin.com .

También puede alojar su propio servidor, hay un repositorio de github: https://github.com/solusipse/fiche . Si desea que sea privado, no olvide establecer el parámetro de la lista blanca.


También hay pastebin-cli , y Bienvenido a U & L.SE
eyoung100

@solusipse; cuánto tiempo permanecerá la pasta en su servidor. podría ser para siempre? o hay un enlace para eliminar las publicaciones
r004

1
@ r004 Como mencionaron en termbin.com "La vida útil de una sola pasta es de un mes. Las pastas más antiguas se eliminan".
Veerendra

Muy interesante, pero inútil si está detrás de un firewall con el puerto 9999 bloqueado. Usando nc -vlo obtendrás nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Pablo A

5

Uso clitxt ya que no se requiere una cuenta, y no hay parámetros o configuraciones para recordar. Simplemente canaliza el comando a clitxt y devuelve una URL. p.ej

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

3

Escribí este sitio web específicamente hecho para pegar por curl, ya que sentí que nadie debería tener que recordar una sintaxis específica como en sprunge. Tampoco es solo de código abierto, sino completamente portátil, por lo que puede configurar fácilmente su propia "curlpaste" con cualquier otro dominio. es decir, un servidor de pegado privado.

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

Si visita el sitio web, también hay una interfaz web que proporciona otras opciones, como leer una vez y eliminar.


curlpaste.com parece estar abajo
Davide Icardi

2

Aquí hay otro servicio que parece ofrecer esto: https://ctrlv.link/

Agregue el código en un archivo input.txty ejecute este comando desde una ventana de terminal:

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

Un ejemplo con código C / C ++ (test.cpp):

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

1

Recientemente creé una herramienta de línea de comandos para el pastebin https://notepad.pw/ que uso con frecuencia

pegar su archivo es tan simple como

npw -lo filename linkpath

así que básicamente pega el contenido a https://notepad.pw/

El lindicador es para actualización en vivo porque si alguien más está viendo la página, la página se actualizará sin volver a cargar.

la bandera 'o' es para sobrescribir si no la usa, el contenido se agregará al existente.

Puede instalar la herramienta a través de pip

usando el comando

pip install npw

Aquí está la página de github.


0

Cualquier pasta

descargo de responsabilidad: este es mi propio proyecto

Anypaste admite alrededor de una docena de servicios similares a pastebin actualmente (especialmente Hastebin e ix.io ). Puedes canalizar algo ensome_command | anypaste o enumerar explícitamente un archivo anypaste my_code.c. La carga de medios también es compatible con sitios como Imgur y Gfycat; anypaste detecta automáticamente el tipo de archivo para determinar dónde cargar la entrada.

La forma más rápida de instalar es descargar el ejecutable (es un gran script de shell):

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


0

Muchos pastebins no requieren herramientas especiales. Curl o wget servirá.

https://paste.c-net.org/ es uno de esos ejemplos.

Aquí hay un fragmento del "manual":

Sube texto usando curl:

$ curl -s --data '¡Hola, mundo!' ' http://paste.c-net.org/ '

Sube texto usando wget:

$ wget --quiet -O- --post-data = '¡Hola mundo!' ' http://paste.c-net.org/ '

Sube un archivo usando curl:

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

Sube un archivo usando wget:

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

Cargue la salida de un comando o script usando curl:

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

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

También puedes simplemente conectar cosas a netcat

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

A diferencia de termbin, paste.c-net.org no excederá el tiempo de espera si su script tarda más de 5 segundos en producir su salida.

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

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

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

La página también proporciona funciones Bash prefabricadas para su archivo .bashrc.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.