Czy są jakieś narzędzia wiersza poleceń w systemie Linux, które umożliwiają wysyłanie danych wyjściowych z poleceń lub plików tekstowych bezpośrednio do usługi udostępniania, takiej jak pastebin.com?
Czy są jakieś narzędzia wiersza poleceń w systemie Linux, które umożliwiają wysyłanie danych wyjściowych z poleceń lub plików tekstowych bezpośrednio do usługi udostępniania, takiej jak pastebin.com?
Odpowiedzi:
Jest kilka usług, które to zapewniają, ale 2, które są dość łatwe w użyciu z wiersza poleceń, to fpaste
i pastebinit
. Te 2 narzędzia prowadzą do stron: paste.fedoraproject.org i pastebin.com .
UWAGA: Jest to opcja tylko dla Fedory / CentOS / RHEL
Jeśli korzystasz z dowolnej dystrybucji opartej na systemie Red Hat, możesz zainstalować pakiet, fpaste
który udostępnia narzędzie wiersza poleceń do publikowania treści paste.fedoraproject.org
.
W celu podstawowego opublikowania pojedynczego pliku tekstowego możesz wykonać następujące czynności.
$ fpaste hello_unixnlinux.txt
Powyższe polecenie zwróci adres URL, pod którym inni mogą teraz uzyskać dostęp do treści.
...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131
Istnieje oczywiście wiele innych opcji.
fpaste -i
fpaste --sysinfo
Zobacz stronę podręcznika, man fpaste
aby uzyskać więcej informacji.
Jest to prawdopodobnie najpopularniejsze z 2 narzędzi. Jest obsługiwany w większości często używanych dystrybucji, takich jak Fedora, CentOS i Ubuntu, żeby wymienić tylko kilka. Ma podobne funkcje, fpaste
ale możesz z nim zrobić o wiele więcej, na przykład:
Na początek możemy uzyskać listę wszystkich „obsługiwanych” adresów URL za pomocą -l
przełącznika.
$ 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
Jeśli nie zadajesz sobie trudu, aby wybrać jeden za pomocą -b
przełącznika, wybierze jeden na podstawie twojej dystrybucji, zakładając, że jest jeden, w przeciwnym razie wracasz do pastebin.com. Zauważ, że obsługuje on również fpaste.org
Fedorę, więc możesz użyć tego narzędzia do pokrycia również tej usługi wklejania.
Aby opublikować przykładowy plik w pastebin.com
.
$ pastebinit -i hello_unixnlinux.txt -b http://pastebin.com
http://pastebin.com/d6uXieZj
Za pomocą -f
przełącznika możesz także powiedzieć, że treść, którą wklejasz, to kod . Na przykład oto skrypt Bash. Zamierzamy również nazwać przesyłanie za pomocą -a
przełącznika, aby pojawił się pod nazwą „ex_bash_1”.
$ pastebinit -i sample.bash -f bash -a ex_bash_1 -b http://pastebin.com
http://pastebin.com/jGvyysQ9
Pełna lista obsługiwanych składni znajduje się w często zadawanych pytaniach na pastebin.com w tym temacie: W jakich językach oferujesz wyróżnianie składni? .
Dla dalszych szczegółów być lekarstwem sprawdzić strony podręcznika man pastebinit
.
Oto 2 przykłady pliku, który wysłałem do każdej usługi.
fpaste - http://ur1.ca/gddtt
pastebin - http://pastebin.com/jGvyysQ9
pastebinit -l
.
Lubię dwa narzędzia wiersza poleceń, które curl
wymieniono na Arch Wiki :
<command> | curl -F 'sprunge=<-' http://sprunge.us
<command> 2>&1 | curl -F 'f:1=<-' ix.io
Możesz zrobić prostą funkcję, aby zaoszczędzić sobie konieczności pamiętania krwawych szczegółów, na przykład:
sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}
Możesz wysłać na ulepszony adres URL, jeśli chcesz wyróżnić składnię dla wklejonego kodu. W przypadku systemu IX dołączasz albo /ID/
do adresu URL ( http://ix.io/ID/ ), aby uzyskać domyślną składnię opartą na automatycznym wykrywaniu, lub /ID/<language>/
jawnie ustawiać język podświetlania pigmetów.
W przypadku http://sprunge.us dołącz ?<language>
do tego samego efektu.
Potrzebowałem czegoś do udostępniania danych wyjściowych terminala, nawet gdy serwer X nie był załadowany, więc stworzyłem tę usługę: termbin.com . Jedyne, czego potrzebujesz, to netcat, a następnie możesz łatwo udostępnić każdemu wszystko, co może być pokazane w terminalu, jest na przykład:
cat /etc/fstab | nc termbin.com 9999
Po uruchomieniu tego polecenia otrzymasz w odpowiedzi adres URL z plikiem tekstowym.
Aby ułatwić Ci życie, możesz dodać taki alias do pliku .bashrc:
echo 'alias tb="nc termbin.com 9999"' >> .bashrc
Teraz udostępnianie będzie znacznie prostsze:
uname -a | tb
Możesz je zapisać na przykład za pomocą curl. Więcej przykładów znajdziesz na termbin.com .
Możesz również hostować własny serwer, istnieje repozytorium github: https://github.com/solusipse/fiche . Jeśli chcesz ustawić go jako prywatny, nie zapomnij ustawić parametru białej listy.
nc -v
dostaniesz nc: connect to termbin.com port 9999 (tcp) failed: No route to host
.
Napisałem tę stronę specjalnie stworzoną do wklejania przez curl, ponieważ czułem, że nikt nie powinien pamiętać konkretnej składni jak na sprunge. Jest to nie tylko oprogramowanie typu open source, ale także całkowicie przenośne, dzięki czemu można łatwo skonfigurować własną „pastę curlpaste” z dowolną inną domeną. tzn. prywatny serwer wklejania.
curl --data-binary @your-file-here.txt https://curlpaste.com
jeśli odwiedzasz stronę internetową, istnieje również interfejs internetowy, który zapewnia inne opcje, takie jak odczyt i usunięcie.
Oto kolejna usługa, która wydaje się to oferować: https://ctrlv.link/
Dodaj kod do pliku input.txt
i uruchom polecenie z okna terminala:
$ curl --form "expiration=0" --form "code_type=nohighlight" \
--form "content=<input.txt" https://ctrlv.link/insert.php
Przykład z kodem C / C ++ (test.cpp):
$ curl --form "expiration=0" --form "code_type=cpp" \
--form "content=<test.cpp" https://ctrlv.link/insert.php`
Niedawno utworzyłem jedno narzędzie wiersza polecenia dla pastebin https://notepad.pw/, którego używam często
wklejanie pliku jest tak proste, jak
npw -lo filename linkpath
więc w zasadzie wkleja treść do https://notepad.pw/
l
Flaga jest na żywo aktualizacji Asin jeśli ktoś ogląda stronę strona będzie aktualizować bez przeładowywania.
flaga „o” jest przeznaczona do zastąpienia, jeśli jej nie użyjesz, zawartość zostanie dołączona do istniejącej.
Możesz zainstalować narzędzie przez pip
za pomocą polecenia
pip install npw
Oto strona github.
zrzeczenie się: To jest mój własny projekt
Anypaste obsługuje obecnie kilkanaście usług typu pastebin (w szczególności Hastebin i ix.io ). Możesz some_command | anypaste
przesłać coś do pliku lub jawnie wyświetlić plik anypaste my_code.c
. Przesyłanie multimediów jest również obsługiwane w witrynach takich jak Imgur i Gfycat; anypaste automatycznie wykrywa typ pliku, aby określić, gdzie przesłać dane wejściowe.
Najszybszym sposobem instalacji jest pobranie pliku wykonywalnego (jest to duży skrypt powłoki):
sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh
Wiele pastebin nie wymaga żadnych specjalnych narzędzi. Zwija się curl lub wget.
https://paste.c-net.org/ jest jednym z takich przykładów.
Oto fragment z „instrukcji”:
Prześlij tekst za pomocą curl:
$ curl -s --data 'Hello World!' „ http://paste.c-net.org/ ”
Prześlij tekst za pomocą wget:
$ wget --quiet -O- --post-data = 'Witaj świecie!' „ http://paste.c-net.org/ ”
Prześlij plik za pomocą curl:
$ curl --upload-file '/ tmp / file' ' https://paste.c-net.org/ '
Prześlij plik za pomocą wget:
$ wget --quiet -O- --post-file = '/ tmp / file' ' http://paste.c-net.org/ '
Prześlij dane wyjściowe polecenia lub skryptu za pomocą curl:
$ ls / | curl --upload-file ' http://paste.c-net.org/ '
$ ./bin/hello_world | curl --upload-file - ' http://paste.c-net.org/ '
Możesz także po prostu przesłać rzeczy do netcat
$ ls / | nc paste.c-net.org 9999
W przeciwieństwie do termbin, pasta.c-net.org nie przekroczy limitu czasu, jeśli skrypt wygeneruje więcej niż 5 sekund.
$ {spać 10; ls /; } | nc termbin.com 9999
$ {spać 10; ls /; } | nc paste.c-net.org 9999
Strona zawiera również gotowe funkcje Bash dla pliku .bashrc.