Existe-t-il des outils de ligne de commande sous Linux qui vous permettent de publier la sortie des commandes ou des fichiers texte directement sur un service de partage tel que Pastebin.com?
Il existe plusieurs services qui fournissent cela, mais 2 qui sont assez faciles à utiliser à partir de la ligne de commande sont fpaste
et pastebinit
. Ces 2 outils sont liés aux sites paste.fedoraproject.org et Pastebin.com .
REMARQUE: Il s'agit d'une option Fedora/CentOS/RHEL uniquement
Si vous utilisez l'une des distributions basées sur Red Hat, vous pouvez installer le package fpaste
qui vous donne un outil en ligne de commande pour publier du contenu sur paste.fedoraproject.org
.
Pour la publication 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ù votre contenu peut désormais être consulté par d'autres.
...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131
Il y a bien sûr une multitude d'autres options.
fpaste -i
fpaste --sysinfo
Voir la page de manuel, man fpaste
pour plus de détails.
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 à fpaste
mais, vous pouvez en faire beaucoup plus, par exemple:
Pour commencer, nous pouvons obtenir une liste de toutes les URL "prises en charge" via le -l
commutateur.
$ 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 de -b
switch, il en choisira une en fonction de votre distribution, en supposant qu'il y en a une, sinon retomber sur Pastebin.com. Notez qu'il prend également en charge fpaste.org
, pour Fedora, vous pouvez donc également utiliser cet outil pour couvrir ce service de collage.
Pour publier un exemple de fichier dans Pastebin.com
.
$ pastebinit -i hello_unixnlinux.txt -b http://Pastebin.com
http://Pastebin.com/d6uXieZj
Vous pouvez également dire que le contenu que vous collez est du code en utilisant le -f
commutateur. Par exemple, voici un script Bash. Nous allons également nommer le téléchargement en utilisant le -a
switch, pour 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 des syntaxes prises en charge est couverte dans Pastebin.com FAQ sous cette rubrique intitulée: Pour quelles langues proposez-vous la coloration syntaxique? .
Pour plus de détails, consultez les pages de manuel, man pastebinit
.
Voici 2 exemples du fichier que j'ai posté sur chaque service.
fpaste - http://ur1.ca/gddtt
Pastebin - http://Pastebin.com/jGvyysQ9
J'aime les deux outils de ligne de commande qui utilisent curl
, répertoriés sur le 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 d'avoir à vous souvenir des détails sanglants, comme ceci:
sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}
Vous pouvez envoyer vers une URL améliorée si vous souhaitez mettre en évidence la syntaxe pour 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 de mise en évidence des pygments.
Pour http://sprunge.us , ajoutez ?<language>
Pour le même effet.
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 n'importe qui tout ce qui peut être affiché dans le terminal, il y a un exemple:
cat /etc/fstab | nc termbin.com 9999
Après avoir exécuté cette commande, vous obtiendrez en réponse une adresse URL avec un fichier texte.
Pour vous faciliter la vie, vous pouvez ajouter un tel alias à votre fichier .bashrc:
echo 'alias tb="nc termbin.com 9999"' >> .bashrc
Le partage sera désormais beaucoup plus simple:
uname -a | tb
Vous pouvez en obtenir 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 la liste blanche.
J'utilise clitxt car aucun compte n'est requis, et il n'y a aucun paramètre ou réglage à 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
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. Ce n'est pas seulement open source, mais complètement portable, vous pouvez donc facilement configurer 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, il existe également une interface Web qui fournit d'autres options comme lire une fois et supprimer.
Voici un autre service qui semble offrir ceci: https://ctrlv.link/
Ajoutez le code dans un fichier input.txt
et 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 du code C/C++ (test.cpp):
$ curl --form "expiration=0" --form "code_type=cpp" \
--form "content=<test.cpp" https://ctrlv.link/insert.php`
J'ai récemment créé une ligne de commande outil pour le Pastebin https://notepad.pw/ J'utilise fréquemment
coller votre fichier est aussi simple que
npw -lo filename linkpath
donc, fondamentalement, il colle le contenu à https://notepad.pw/
Le drapeau l
est destiné à la mise à jour en direct si quelqu'un d'autre consulte la page, la page sera mise à jour sans rechargement.
le drapeau 'o' est pour écraser si vous ne l'utilisez pas, le contenu sera ajouté à celui existant.
Vous pouvez installer l'outil via pip
en utilisant la commande.
pip install npw
Ici est la page github.
De nombreux bacs à pâte 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échargez du texte en utilisant curl:
$ curl -s --data 'Bonjour tout le monde!' " http://paste.c-net.org/ "
Téléchargez du texte à l'aide de wget:
$ wget --quiet -O- --post-data = 'Bonjour tout le monde!' " http://paste.c-net.org/ "
Téléchargez un fichier en utilisant curl:
$ curl --upload-file '/ tmp/file' ' https://paste.c-net.org/ '
Téléchargez un fichier à l'aide de 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 également simplement diriger des trucs vers netcat
$ ls/| nc paste.c-net.org 9999
Contrairement à termbin, paste.c-net.org n'expirera pas si votre script met plus de 5 secondes pour produire sa sortie.
$ {sommeil 10; ls /; } | nc termbin.com 9999
$ {sommeil 10; ls /; } | nc paste.c-net.org 9999
La page fournit également des fonctions Bash prédéfinies pour votre fichier .bashrc.
Avertissement: Ceci est mon propre projet
Anypaste prend actuellement en charge une douzaine de services de type Pastebin (notamment Hastebin et ix.io ). Vous pouvez diriger quelque chose dans some_command | anypaste
ou répertorier explicitement un fichier anypaste my_code.c
. Le téléchargement de médias est également pris en charge vers des sites comme Imgur et Gfycat; anypaste détecte automatiquement le type de fichier pour déterminer où télécharger l'entrée.
La façon la plus rapide d'installer est de télécharger l'exécutable (c'est un gros script Shell):
Sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh