> For the complete documentation index, see [llms.txt](https://juanbermudez.gitbook.io/aprendiendolinux/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juanbermudez.gitbook.io/aprendiendolinux/pastebin.md).

# Pastebin

> Un [pastebin](https://es.wikipedia.org/wiki/Pastebin) es una aplicación web que permite a sus usuarios subir pequeños textos, generalmente ejemplos de código fuente, para que estén visibles al público en general.

Los pastebin son usados generalmente para compartir pequeños fragmentos de código, como errores, registros de ejecución o códigos de programación. Existe gran variedad de aplicaciones web en las que podemos pegar el texto y compartirlo públicamente, también existen para compartir imágenes.

Esto es muy útil a la hora de buscar ayuda en foros o chats [IRC](https://es.wikipedia.org/wiki/Internet_Relay_Chat). Generalmente los pastebin compartidos en dichas aplicaciones web, tienen un periodo de tiempo en que será público, ya después el sistema los elimina, aunque también se puede determinar su tiempo de vida, por días, semanas o que nunca sea eliminado.

Lo más interesante de estas aplicaciones web, es que algunas nos permiten compartir directamente desde la terminal, con la ayuda del comando `curl` o `nc`.

| Aplicación Web          | Terminal                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <https://pastebin.com/> | Puede instalar el paquete `pastebinit`.                                                                                                                                                                                                                                                                                                                                                               |
| <https://paste.me/>     |                                                                                                                                                                                                                                                                                                                                                                                                       |
| <https://lesma.eu/>     | `curl -F 'lesma=<-' https://lesma.eu`                                                                                                                                                                                                                                                                                                                                                                 |
| <https://dpaste.com/>   | <p>Creación básica de elementos de texto plano.</p><p><code>curl -s -F "content=<-" <https://dpaste.com/api/v2/></code></p><p></p><p>Establecer sintaxis en Javascript.</p><p><code>curl -s -F "syntax=js" -F "content=<-" <https://dpaste.com/api/v2/></code></p><p></p><p>Expiración (1-365 días).</p><p><code>curl -s -F "expiry\_days=10" -F "content=<-" <https://dpaste.com/api/v2/></code></p> |
| <http://vpaste.net/>    | `curl -F 'text=<-' http://vpaste.net/`                                                                                                                                                                                                                                                                                                                                                                |
| <https://termbin.com/>  | `nc termbin.com 9999`                                                                                                                                                                                                                                                                                                                                                                                 |

Para compartir directamente desde la terminal, ejecutamos el comando y mediante un pipe direccionamos la salida a la aplicación que elijamos. En cuestión de segundos nos da como resultado la URL para compartir.

```bash
$ uname -a | nc termbin.com 9999
https://termbin.com/6wel
```

Si queremos simplificar mucho más las cosas, podemos añadir un alias con la aplicación que más nos guste, de este modo solo ejecutamos `comando | alias`. En el caso de compartir el contenido de un fichero lo podríamos hacer así:

```bash
$ cat fichero | nc termbin.com 9999
```

Como lo mencionaba anteriormente, no solo existe aplicaciones web para compartir código, también existen para compartir imágenes.

* <https://imgbb.com/>
* <https://imgur.com/upload>
* <https://postimages.org/>
* <https://share.riseup.net/>
* <https://justpaste.it/>

Existe otra forma no solo de compartir código, sino también de editarlo con otras personas al mismo tiempo, para ello vamos a usar la aplicación web [Etherpad](https://etherpad.org/). Entre los pad públicos puedes usar estos:

* <https://pad.riseup.net/>
* <https://framapad.org/abc/es/>
