Un moyen facile de coller une sortie de ligne de commande pour coller des services bin?

38

Existe-t-il des outils de ligne de commande sous Linux qui vous permettent de publier le résultat de commandes ou de fichiers texte directement sur un service de partage tel que pastebin.com?

slm
la source
2
Mon préféré, lorsqu'il est associé à un joli script shell, est Sprunge .
DopeGhoti
Découvrez https://paste.c-net.org/ Il est livré avec des fonctions Bash, faciles à utiliser à partir de la ligne de commande, sans aucun programme supplémentaire à installer. Eh bien, sauf pour curl, que vous avez probablement de toute façon :)
mercredi

Réponses:

34

Il existe plusieurs services qui fournissent cela, mais 2 qui sont assez faciles à utiliser depuis la ligne de commande sont fpasteet pastebinit. Ces 2 outils sont liés aux sites paste.fedoraproject.org et pastebin.com .

pâte

NOTE: Ceci est une option uniquement Fedora / CentOS / RHEL

Si vous utilisez l'une des distributions Red Hat, vous pouvez installer le package fpastequi vous fournit un outil de ligne de commande pour la publication de contenu paste.fedoraproject.org.

Commandes de base

Pour l’enregistrement de base d’un seul fichier texte, vous pouvez procéder comme suit.

$ fpaste hello_unixnlinux.txt 

La commande ci-dessus renverra une URL où d'autres personnes pourront désormais accéder à votre contenu.

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

Autres commandes

Il y a bien sûr une foule d'autres options.

  • coller presse-papiers: fpaste -i
  • coller les informations de système: fpaste --sysinfo
  • dry run: `fpaste --printonly somefile.txt

Voir la page de manuel man fpastepour plus de détails.

coller

C'est probablement le plus populaire des 2 outils. Il est pris en charge sur la plupart des distributions que je fréquente, telles que Fedora, CentOS et Ubuntu, pour n'en nommer que quelques-unes. Il a des fonctionnalités similaires à, fpastemais vous pouvez en faire beaucoup plus, par exemple:

liste de services

Pour commencer, nous pouvons obtenir une liste de toutes les URL "prises en charge" via le -lcommutateur.

$ 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 vous ne prenez pas la peine d'en sélectionner un à l'aide du -bcommutateur, il en choisira un en fonction de votre distribution, en supposant qu'il en existe un, sinon il reviendra à pastebin.com. Notez qu'il prend également en charge fpaste.org, pour Fedora, de sorte que vous pouvez également utiliser cet outil pour couvrir ce service de collage.

Publier un simple fichier texte

Pour poster un exemple de fichier sur pastebin.com.

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

Code postal

Vous pouvez également savoir que le contenu que vous collez est un code utilisant le -fcommutateur. Par exemple, voici un script Bash. Nous allons également nommer le téléchargement à l'aide du -acommutateur, afin qu'il apparaisse avec le nom "ex_bash_1".

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

Une liste complète de la syntaxe prise en charge est présentée dans la FAQ de pastebin.com sous la rubrique intitulée: Pour quelles langues proposez-vous la coloration syntaxique? .

Pour plus de détails, consultez les pages de manuel man pastebinit.

Des échantillons

Voici 2 exemples du fichier que j'ai posté sur chaque service.

fpaste - http://ur1.ca/gddtt

   ss de pâte

pastebin - http://pastebin.com/jGvyysQ9

   ss de pastebinit

Les références

slm
la source
Tous ces éléments sont pâles en comparaison de Sprunge et Hastebin , IMO. (:
DopeGhoti
Oui, j'entends dire à quel point Sprunge est génial, BTW n'en a jamais entendu parler jusqu'à aujourd'hui. Leur site Web ressemble à / dev / null et je trouve l'interface délicate par rapport à un outil réel tel que ceux que j'ai énumérés. Mais c’est pourquoi nous avons tant d’options pour que chacun puisse choisir ce qu’il aime 8-). Hastebin, en revanche, semble un peu plus raffiné. J'aime que vous puissiez héberger votre propre instance. La durée maximale de 30 jours est un facteur décisif pour moi.
slm
Notez également que pastebinit peut poster sur sprunge.us. C'est dans la liste fournie par pastebinit -l.
slm
S'il vous plaît ajouter une note que l'exemple de commande pastebinit utilise votre nom d'utilisateur local comme titre de coller, ce qui était une mauvaise surprise
Dubslow
22

J'aime les deux outils de ligne de commande utilisés curl, répertoriés dans Arch Wiki :

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

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

Vous pouvez créer une fonction simple pour vous éviter de devoir vous rappeler les détails sanglants, comme ceci:

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

Vous pouvez envoyer à une URL améliorée si vous souhaitez une coloration syntaxique de votre code. Pour ix, vous ajoutez soit /ID/à l'URL ( http://ix.io/ID/ ) pour la syntaxe par défaut basée sur la détection automatique, soit /ID/<language>/pour définir explicitement la langue pour la surbrillance des pygments.

Pour http://sprunge.us , ajoutez ?<language>le même effet.

jasonwryan
la source
Pouvez-vous les styler ou sélectionner un type de code ou la coloration syntaxique, le cas échéant, est-elle automatique en fonction de ce qui est collé?
slm
Pas que je sache, il ne fait que coller du texte. Mais je n'ai pas approfondi la question car c'est tout ce dont j'ai besoin.
jasonwryan
Très bien, je n’étais tout simplement pas sûr que l’interface curl comportait plus de commutateurs supplémentaires, etc. que vous pourriez inclure dans la demande.
slm
Je l'ai trouvé. Vous pouvez virer de bord? suivi du nom du langugae pour obtenir les numéros de surbrillance et de surbrillance. Voir cet exemple: sprunge.us/MFMY?bash
slm
tout simplement la solution la meilleure et la plus simple qui soit. Love archlinux community :)
nXqd
19

J'avais besoin de quelque chose pour partager la sortie du terminal même lorsque le serveur X n'était pas chargé. J'ai donc créé ce service: termbin.com . La seule chose dont vous avez besoin est netcat, alors vous pouvez facilement partager avec tout le monde tout ce qui peut être affiché dans un terminal. Voici un exemple:

cat /etc/fstab | nc termbin.com 9999

Après avoir exécuté cette commande, vous obtiendrez une adresse URL de réponse avec un fichier texte.

Pour vous simplifier la vie, vous pouvez ajouter un tel alias à votre fichier .bashrc:

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

Maintenant, le partage sera beaucoup plus simple:

uname -a | tb

Vous pouvez obtenir des sauvegardes, par exemple, en utilisant curl. Vous trouverez plus d'exemples sur termbin.com .

Vous pouvez également héberger votre propre serveur. Il existe un référentiel github: https://github.com/solusipse/fiche . Si vous souhaitez le rendre privé, n'oubliez pas de définir le paramètre de liste blanche.

solusipse
la source
Il y a aussi pastebin-cli , et Welcome to U & L.SE
eyoung100
@solusipse; combien de temps la pâte restera sur votre serveur. pourrait-il être pour toujours? ou y a-t-il un lien pour supprimer les messages
r004
1
@ r004 Comme ils l'ont mentionné dans termbin.com "La durée de vie d'une seule pâte est d'un mois. Les pâtes les plus anciennes sont supprimées."
Veerendra
Très intéressant, mais inutile si vous êtes derrière un pare-feu avec le port 9999 bloqué. En utilisant, nc -vvous aurez nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Pablo Un
5

J'utilise clitxt, car aucun compte n'est requis, et il n'y a pas de paramètres ni de paramètres à retenir. Vous venez de diriger la commande vers clitxt et elle renvoie une URL. par exemple

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

J'ai écrit ce site Web spécialement conçu pour être collé par curl, car je pensais que personne ne devrait avoir à se souvenir d'une syntaxe spécifique comme dans sprunge. Il est également non seulement open source, mais totalement portable, vous permettant ainsi de configurer facilement votre propre "curlpaste" avec n’importe quel autre domaine. c'est-à-dire un serveur de collage privé.

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

si vous visitez le site Web, vous disposez également d’une interface Web proposant d’autres options, telles que lecture unique et suppression.

david
la source
curlpaste.com semble être en panne
Davide Icardi
2

Voici un autre service qui semble offrir ceci: https://ctrlv.link/

Ajoutez le code dans un fichier input.txtet exécutez cette commande à partir d'une fenêtre de terminal:

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

Un exemple avec le code C / C ++ (test.cpp):

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

J'ai récemment créé un outil de ligne de commande pour pastebin https://notepad.pw/ que j'utilise fréquemment.

coller votre fichier est aussi simple que

npw -lo filename linkpath

Donc, fondamentalement, il colle le contenu à https://notepad.pw/

L' lindicateur est destiné à la mise à jour en direct, car si quelqu'un d'autre visualise la page, celle-ci sera mise à jour sans rechargement.

le drapeau "o" sert à écraser si vous ne l'utilisez pas, le contenu sera ajouté au contenu existant.

Vous pouvez installer l'outil via pip

en utilisant la commande.

pip install npw

Voici la page github.

chaitya62
la source
0

Anypaste

disclaimer: Ceci est mon propre projet

Anypaste supporte actuellement une douzaine de services de type pastebin (notamment Hastebin et ix.io ). Vous pouvez diriger quelque chose some_command | anypasteou lister explicitement un fichier anypaste my_code.c. Le téléchargement de média est également pris en charge sur des sites comme Imgur et Gfycat; anypaste détecte automatiquement le type de fichier pour déterminer où télécharger l'entrée.

Le moyen le plus rapide d’installer est de télécharger le fichier exécutable (c’est un gros script shell):

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

logiciel de marquage
la source
0

Beaucoup de pastebins ne nécessitent aucun outil spécial. Curl ou wget fera l'affaire.

https://paste.c-net.org/ en est un exemple.

Voici un extrait du "manuel":

Télécharger du texte en utilisant curl:

$ curl -s --data 'Hello World!' ' http://paste.c-net.org/ '

Télécharger du texte en utilisant wget:

$ wget --quiet -O- --post-data = 'Bonjour tout le monde!' ' http://paste.c-net.org/ '

Télécharger un fichier en utilisant curl:

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

Télécharger un fichier en utilisant wget:

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

Téléchargez la sortie d'une commande ou d'un script à l'aide de curl:

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

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

Vous pouvez aussi simplement diriger des trucs vers Netcat

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

À la différence de termbin, paste.c-net.org n'expire pas si votre script prend plus de 5 secondes pour produire sa sortie.

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

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

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

La page fournit également des fonctions Bade prédéfinies pour votre fichier .bashrc.

boulon
la source