Esistono strumenti da riga di comando su Linux che ti consentono di inviare output da comandi o file di testo direttamente a un servizio di condivisione come pastebin.com?
Esistono strumenti da riga di comando su Linux che ti consentono di inviare output da comandi o file di testo direttamente a un servizio di condivisione come pastebin.com?
Risposte:
Esistono diversi servizi che forniscono questo, ma 2 che sono piuttosto facili da usare dalla riga di comando sono fpastee pastebinit. Questi 2 strumenti si collegano ai siti, paste.fedoraproject.org e pastebin.com .
NOTA: questa è un'opzione solo Fedora / CentOS / RHEL
Se stai usando una delle distro basate su Red Hat puoi installare il pacchetto fpasteche ti offre uno strumento da riga di comando per pubblicare contenuti paste.fedoraproject.org.
Per la pubblicazione di base di un singolo file di testo è possibile effettuare le seguenti operazioni.
$ fpaste hello_unixnlinux.txt
Il comando sopra restituirà un URL in cui i tuoi contenuti possono ora essere accessibili da altri.
...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131
Naturalmente ci sono molte altre opzioni.
fpaste -ifpaste --sysinfoVedi la pagina man, man fpasteper maggiori dettagli.
Questo è probabilmente il più popolare dei 2 strumenti. È supportato sulla maggior parte delle distro che frequento come Fedora, CentOS e Ubuntu solo per citarne alcune. Ha funzionalità simili a fpaste, ma puoi fare molto di più, ad esempio:
Per i principianti possiamo ottenere un elenco di tutti gli URL "supportati" tramite lo -lswitch.
$ 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
Se non ti preoccupi di selezionarne uno usando l' -binterruttore, ne sceglierà uno in base alla tua distribuzione, supponendo che ce ne sia uno, altrimenti tornerà a pastebin.com. Notate che supporta anche fpaste.org, per Fedora, quindi potete usare questo strumento anche per coprire quel servizio di incollaggio.
Per pubblicare un file di esempio in pastebin.com.
$ pastebinit -i hello_unixnlinux.txt -b http://pastebin.com
http://pastebin.com/d6uXieZj
Puoi anche dire che il contenuto che stai incollando è codice usando l' -fopzione. Ad esempio, ecco uno script Bash. Daremo anche un nome al caricamento utilizzando l' -aopzione, in modo che venga visualizzato con il nome "ex_bash_1".
$ pastebinit -i sample.bash -f bash -a ex_bash_1 -b http://pastebin.com
http://pastebin.com/jGvyysQ9
Un elenco completo delle sintassi supportate è riportato nelle FAQ di pastebin.com in questo argomento intitolato: Per quali lingue offri l'evidenziazione della sintassi? .
Per ulteriori dettagli, consultare le pagine man man pastebinit.
Ecco 2 esempi del file che ho pubblicato per ciascun servizio.
fpaste - http://ur1.ca/gddtt

pastebin: http://pastebin.com/jGvyysQ9

pastebinit -l.
Mi piacciono i due strumenti da riga di comando che usano curl, elencati su Arch Wiki :
<command> | curl -F 'sprunge=<-' http://sprunge.us
<command> 2>&1 | curl -F 'f:1=<-' ix.io
Puoi fare una semplice funzione per evitare di dover ricordare i dettagli cruenti, in questo modo:
sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}
Puoi inviare a un URL avanzato se desideri evidenziare la sintassi per il tuo incolla di codice. Per ix, aggiungi /ID/l'URL ( http://ix.io/ID/ ) per la sintassi predefinita basata sul rilevamento automatico o /ID/<language>/per impostare esplicitamente la lingua per l'evidenziazione dei pigmenti.
Per http://sprunge.us , aggiungi ?<language>per lo stesso effetto.
Avevo bisogno di qualcosa per condividere l'output del terminale anche quando il server X non era caricato, quindi ho creato questo servizio: termbin.com . L'unica cosa di cui hai bisogno è netcat, quindi puoi facilmente condividere con chiunque tutto ciò che può essere mostrato nel terminale, c'è un esempio:
cat /etc/fstab | nc termbin.com 9999
Dopo aver eseguito questo comando riceverai in risposta l'indirizzo URL con il file di testo.
Per semplificarti la vita puoi aggiungere tale alias al tuo file .bashrc:
echo 'alias tb="nc termbin.com 9999"' >> .bashrc
Ora la condivisione sarà molto più semplice:
uname -a | tb
Puoi ottenere quelli salvati, ad esempio, usando l'arricciatura. Troverai altri esempi su termbin.com .
Puoi ospitare anche il tuo server, c'è un repository github: https://github.com/solusipse/fiche . Se vuoi renderlo privato, non dimenticare di impostare il parametro whitelist.
nc -votterrai nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Ho scritto questo sito web appositamente creato per essere incollato con il ricciolo, dal momento che sentivo che nessuno avrebbe dovuto ricordare una sintassi specifica come in Sprunge. Inoltre, non è solo open source, ma completamente portatile, quindi puoi facilmente impostare il tuo "curlpaste" con qualsiasi altro dominio. cioè un server incolla privato.
curl --data-binary @your-file-here.txt https://curlpaste.com
se visiti il sito web c'è anche un'interfaccia web che fornisce altre opzioni come leggere una volta ed eliminare.
Ecco un altro servizio che sembra offrire questo: https://ctrlv.link/
Aggiungi il codice in un file input.txted esegui questo comando da una finestra del terminale:
$ curl --form "expiration=0" --form "code_type=nohighlight" \
--form "content=<input.txt" https://ctrlv.link/insert.php
Un esempio con codice C / C ++ (test.cpp):
$ curl --form "expiration=0" --form "code_type=cpp" \
--form "content=<test.cpp" https://ctrlv.link/insert.php`
Di recente ho creato uno strumento da riga di comando per il pastebin https://notepad.pw/ che uso frequentemente
incollare il tuo file è semplice come
npw -lo filename linkpath
quindi sostanzialmente incolla il contenuto su https://notepad.pw/
Il lflag è per l'aggiornamento in tempo reale se qualcuno sta visualizzando la pagina che verrà aggiornata senza ricaricare.
il flag 'o' serve per sovrascrivere se non lo usi, il contenuto verrà aggiunto a quello esistente.
È possibile installare lo strumento tramite pip
usando il comando
pip install npw
Ecco la pagina di github.
disclaimer: questo è il mio progetto
Anypaste attualmente supporta circa una dozzina di servizi simili a pastebin (in particolare Hastebin e ix.io ). Puoi reindirizzare qualcosa some_command | anypasteo elencare esplicitamente un file anypaste my_code.c. Il caricamento multimediale è supportato anche su siti come Imgur e Gfycat; anypaste rileva automaticamente il tipo di file per determinare dove caricare l'input.
Il modo più rapido per installare è scaricare l'eseguibile (è un grosso script di shell):
sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh
Molte pastebine non richiedono strumenti speciali. Curl o wget lo faranno.
https://paste.c-net.org/ è uno di questi esempi.
Ecco uno snippet dal "manuale":
Carica testo usando arricciatura:
$ curl -s --data 'Hello World!' " http://paste.c-net.org/ "
Carica testo usando wget:
$ wget --quiet -O- --post-data = 'Ciao mondo!' " http://paste.c-net.org/ "
Carica un file usando curl:
$ curl --upload-file '/ tmp / file' ' https://paste.c-net.org/ '
Carica un file usando wget:
$ wget --quiet -O- --post-file = '/ tmp / file' ' http://paste.c-net.org/ '
Carica l'output di un comando o di uno script usando curl:
$ ls / | curl --upload-file ' http://paste.c-net.org/ '
$ ./bin/hello_world | curl --upload-file - ' http://paste.c-net.org/ '
Puoi anche semplicemente reindirizzare roba a netcat
$ ls / | nc paste.c-net.org 9999
A differenza di termbin, paste.c-net.org non scadrà se lo script impiega più di 5 secondi per produrre il suo output.
$ {sonno 10; ls /; } | nc termbin.com 9999
$ {sonno 10; ls /; } | nc paste.c-net.org 9999
La pagina fornisce anche funzioni Bash predefinite per il tuo file .bashrc.