¿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?
¿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?
Respuestas:
Hay varios servicios que proporcionan esto, pero 2 que son bastante fáciles de usar desde la línea de comandos son fpaste
y pastebinit
. Estas 2 herramientas enlazan a los sitios, paste.fedoraproject.org y pastebin.com .
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 fpaste
que le brinda una herramienta de línea de comandos para publicar contenido paste.fedoraproject.org
.
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
Por supuesto, hay una gran cantidad de otras opciones.
fpaste -i
fpaste --sysinfo
Vea la página del manual, man fpaste
para más detalles.
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 fpaste
pero, puedes hacer mucho más con él, por ejemplo:
Para empezar, podemos obtener una lista de todas las URL "compatibles" a través del -l
conmutador.
$ 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 -b
interruptor, 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.org
con Fedora, por lo que también podría usar esta herramienta para cubrir ese servicio de pegado.
Para publicar un archivo de muestra en pastebin.com
.
$ pastebinit -i hello_unixnlinux.txt -b http://pastebin.com
http://pastebin.com/d6uXieZj
También puede decir que el contenido que está pegando es código usando el -f
interruptor. Por ejemplo, aquí hay un script Bash. También vamos a nombrar la carga usando el -a
interruptor, 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
.
Aquí hay 2 ejemplos del archivo que publiqué en cada servicio.
fpaste - http://ur1.ca/gddtt
pastebin - http://pastebin.com/jGvyysQ9
pastebinit -l
.
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.
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.
nc -v
lo obtendrás nc: connect to termbin.com port 9999 (tcp) failed: No route to host
.
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.
Aquí hay otro servicio que parece ofrecer esto: https://ctrlv.link/
Agregue el código en un archivo input.txt
y 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`
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 l
indicador 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.
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
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
La página también proporciona funciones Bash prefabricadas para su archivo .bashrc.