Ogni volta che è necessario condividere i frammenti di codice online, il primo che probabilmente ci viene in mente è Pastebin.com, il sito di condivisione di testi online lanciato da Paul Dixon nel 2002. Ora sono disponibili diversi servizi di condivisione di testo alternativi per caricare e condividere frammenti di testo, registri degli errori, file di configurazione, l'output di un comando o qualsiasi tipo di file di testo. Se ti capita di condividere spesso il tuo codice utilizzando vari servizi simili a Pastebin, ho una buona notizia per te. Saluta Wgetpaste , un'utilità BASH della riga di comando per caricare facilmente frammenti di testo su servizi simili a pastebin. Utilizzando lo script Wgetpaste, chiunque può condividere rapidamente frammenti di testo con i propri amici, colleghi o chiunque voglia vedere/utilizzare/rivedere il codice dalla riga di comando in sistemi simili a Unix.
Installazione di Wgetpaste
Wgetpaste è disponibile nel repository Arch Linux [Community]. Per installarlo su Arch Linux e le sue varianti come Antergos e Manjaro Linux, basta eseguire il seguente comando:
$ sudo pacman -S wgetpaste
Per altre distribuzioni, prendi il codice sorgente dal sito Web Wgetpaste e installarlo manualmente come descritto di seguito.
Per prima cosa scarica l'ultimo file tar di Wgetpaste:
$ wget http://wgetpaste.zlin.dk/wgetpaste-2.28.tar.bz2
Estrailo:
$ tar -xvjf wgetpaste-2.28.tar.bz2
Estrarre il contenuto del file tar in una cartella denominata "wgetpaste-2.28".
Vai a quella directory:
$ cd wgetpaste-2.28/
Copia il file binario wgetpaste nel tuo $PATH, ad esempio /usr/local/bin/ .
$ sudo cp wgetpaste /usr/local/bin/
Infine, rendilo eseguibile usando il comando:
$ sudo chmod +x /usr/local/bin/wgetpaste
Carica frammenti di testo su servizi simili a Pastebin
Caricare frammenti di testo usando Wgetpaste è banale. Lascia che ti mostri alcuni esempi.
1. Carica file di testo
Per caricare qualsiasi file di testo utilizzando Wgetpaste, esegui semplicemente:
$ wgetpaste mytext.txt
Questo comando caricherà il contenuto del file mytext.txt.
Esempio di output:
Your paste can be seen here: https://paste.pound-python.org/show/eO0aQjTgExP0wT5uWyX7/
Carica frammenti di testo sui servizi pastebin
Puoi condividere l'URL di pastebin tramite qualsiasi mezzo come posta, messaggio, whatsapp o IRC, ecc. Chiunque abbia questo URL può visitarlo e visualizzare il contenuto del file di testo in un browser web a sua scelta.
Ecco il contenuto del file mytext.txt nel browser web:
Visualizzazione dei contenuti di pastebin tramite browser
Puoi anche usare 'tee' comando per visualizzare ciò che viene incollato, invece di caricarli alla cieca.
Per farlo, usa -t opzione come di seguito.
$ wgetpaste -t mytext.txt
2. Carica frammenti di testo su servizi diversi
Per impostazione predefinita, Wgetpaste caricherà i frammenti di testo su poundpython servizio.
Per visualizzare l'elenco dei servizi supportati, eseguire:
$ wgetpaste -S
Esempio di output:
Services supported: (case sensitive): Name: | Url: =============|================= bpaste | https://bpaste.net/ codepad | http://codepad.org/ dpaste | http://dpaste.com/ gists | https://api.github.com/gists *poundpython | https://paste.pound-python.org/
Qui, * indica il servizio predefinito.
Come puoi vedere, Wgetpaste attualmente supporta cinque servizi di condivisione del testo. Non li ho provati tutti, ma credo che tutti i servizi funzioneranno.
Per caricare i contenuti su altri servizi, ad esempio bpaste.net , usa -s opzione come di seguito.
$ wgetpaste -s bpaste mytext.txt Your paste can be seen here: https://bpaste.net/show/5199e127e733
3. Leggi input da stdin
Wgetpaste può anche leggere l'input da stdin.
$ uname -a | wgetpaste
Questo comando caricherà l'output del comando 'uname -a'.
4. Carica il COMANDO e l'output di COMANDO insieme
A volte, potrebbe essere necessario incollare un COMANDO e il suo output. Per fare ciò, specifica il contenuto del comando tra virgolette come di seguito.
$ wgetpaste -c 'ls -l'
Questo caricherà il comando 'ls -l' insieme al suo output sul servizio pastebin.
Questo può essere utile quando volevi consentire agli altri di sapere chiaramente qual era il comando esatto che hai appena eseguito e il suo output.
Come puoi vedere nell'output, ho eseguito il comando 'ls -l'.
5. Carica file di registro di sistema, file di configurazione
Come ho già detto, possiamo caricare qualsiasi tipo di file di testo, non solo un normale file di testo, nel tuo sistema come file di registro, l'output di un comando specifico ecc. Supponiamo, ad esempio, che tu abbia appena aggiornato la tua casella di Arch Linux e hai finito con un sistema rotto Chiedi al tuo collega come risolverlo e lui/lei vuole leggere il file pacman.log. Ecco il comando per caricare il contenuto del file pacman.log:
$ wgetpaste /var/log/pacman.log
Condividi l'URL pastebin con il tuo collega, in modo che esaminerà pacman.log e potrebbe aiutarti a risolvere il problema esaminando il file di registro.
Di solito, il contenuto dei file di registro potrebbe essere troppo lungo e non si desidera condividerli tutti. In questi casi, usa semplicemente cat comando per leggere l'output e utilizzare tail comando con -n passare per definire il numero di righe da condividere e infine reindirizzare l'output a Wgetpaste come mostrato di seguito.
$ cat /var/log/pacman.log | tail -n 50 | wgetpaste
Il comando precedente caricherà solo le ultime 50 righe del file pacman.log.
6. Converti l'URL di input in tinyurl
Per impostazione predefinita, Wgetpaste visualizzerà l'URL pastebin completo nell'output. Se vuoi convertire l'URL di input in un tinyurl, usa semplicemente -u opzione.
$ wgetpaste -u mytext.txt Your paste can be seen here: http://tinyurl.com/y85d8gtz
7. Imposta lingua
Per impostazione predefinita, Wgetpaste caricherà frammenti di testo in testo normale .
Per elencare le lingue supportate dal servizio specificato, usa -L opzione.
$ wgetpaste -L
Questo comando elencherà tutte le lingue supportate dal servizio predefinito, ad esempio poundpython (https://paste.pound-python.org/).
Possiamo cambiarlo usando -l opzione.
$ wgetpaste -l Bash mytext.txt
8. Disabilita l'evidenziazione della sintassi o html nell'output
Come accennato in precedenza, i frammenti di testo verranno visualizzati in un formato di lingua specifico (testo normale, Bash ecc.).
Tuttavia, puoi modificare questo comportamento per visualizzare gli snippet di testo non elaborato utilizzando -r opzione.
$ wgetpaste -r mytext.txt Your raw paste can be seen here: https://paste.pound-python.org/raw/CUJhQ3jEmr2UvfmD2xCL/
Carica e visualizza l'output non elaborato
Come puoi vedere nell'output sopra, non c'è evidenziazione della sintassi, nessuna formattazione html. Solo un output grezzo.
9. Modifica le impostazioni predefinite di Wgetpaste
Tutti i valori predefiniti (DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_${SERVICE}] e DEFAULT_SERVICE)
può essere modificato a livello globale in /etc/wgetpaste.conf o per utente in ~/.wgetpaste.conf File. Questi file, tuttavia, non sono disponibili per impostazione predefinita nel mio sistema. Immagino che dobbiamo crearli manualmente. Lo sviluppatore ha fornito i contenuti di esempio per entrambi i file qui e qui . Basta creare questi file manualmente con un determinato contenuto di esempio e modificare i parametri di conseguenza per modificare le impostazioni predefinite di Wgetpaste.
10. Ottenere aiuto
Per visualizzare la sezione della guida, esegui:
$ wgetpaste -h