Cách dễ dàng để dán đầu ra dòng lệnh để dán dịch vụ bin?


38

Có công cụ dòng lệnh nào trên Linux cho phép bạn đăng đầu ra từ các lệnh hoặc tệp văn bản trực tiếp lên dịch vụ chia sẻ như pastebin.com không?


2
Yêu thích của tôi, khi kết hợp với một kịch bản shell đẹp, là Sprunge .
DopeGhoti

Hãy xem https://paste.c-net.org/ Nó đi kèm với các hàm Bash, có thể dễ dàng sử dụng từ dòng lệnh mà không cần cài đặt thêm chương trình nào. Chà, ngoại trừ curl, cái mà bạn có thể có dù sao đi nữa :)
chốt

Câu trả lời:


34

Có một số dịch vụ cung cấp điều này nhưng 2 dịch vụ khá dễ sử dụng từ dòng lệnh là fpastepastebinit. Hai công cụ này liên kết đến các trang web, paste.fedoraproject.orgpastebin.com .

hương vị

LƯU Ý: Đây là tùy chọn chỉ Fedora / CentOS / RHEL

Nếu bạn đang sử dụng bất kỳ bản phân phối dựa trên Red Hat nào, bạn có thể cài đặt gói fpastecung cấp cho bạn công cụ dòng lệnh để đăng nội dung lên paste.fedoraproject.org.

Các lệnh cơ bản

Để đăng cơ bản một tập tin văn bản, bạn có thể làm như sau.

$ fpaste hello_unixnlinux.txt 

Lệnh trên sẽ trả về một URL nơi người khác có thể truy cập nội dung của bạn.

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

Các lệnh khác

Tất nhiên có một loạt các tùy chọn khác.

  • dán clipboard: fpaste -i
  • dán thông tin sytem: fpaste --sysinfo
  • chạy khô: `fpaste --printonly somefile.txt

Xem trang người đàn ông, man fpasteđể biết thêm chi tiết.

quá khứ

Đây có lẽ là công cụ phổ biến hơn trong số 2 công cụ. Nó được hỗ trợ trên hầu hết các bản phân phối tôi thường gặp như Fedora, CentOS và Ubuntu chỉ để đặt tên cho một số. Nó có các tính năng tương tự fpastenhưng, bạn có thể làm nhiều hơn với nó, ví dụ:

danh sách các dịch vụ

Để bắt đầu, chúng tôi có thể nhận danh sách tất cả các URL "được hỗ trợ" thông qua công -ltắc.

$ 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

Nếu bạn không chọn một nút sử dụng công -btắc, nó sẽ chọn một cái dựa trên bản phân phối của bạn, giả sử có một cái cho nó, nếu không thì quay lại pastebin.com. Lưu ý rằng nó cũng hỗ trợ fpaste.org, đối với Fedora, vì vậy bạn cũng có thể sử dụng công cụ này để trang trải dịch vụ dán đó.

Đăng một tập tin văn bản đơn giản

Để gửi một tập tin mẫu đến pastebin.com.

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

Mã đăng

Bạn cũng có thể nói rằng nội dung bạn dán là mã bằng cách sử dụng công -ftắc. Ví dụ: đây là một đoạn script Bash. Chúng tôi cũng sẽ đặt tên cho tải lên bằng cách sử dụng công -atắc, để nó sẽ hiển thị với tên "ex_bash_1".

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

Một danh sách đầy đủ các cú pháp được hỗ trợ, được đề cập trong pastebin.com FAQ trong chủ đề này có tiêu đề: Bạn cung cấp đánh dấu cú pháp cho ngôn ngữ nào? .

Để biết thêm chi tiết được chữa để kiểm tra các trang người đàn ông , man pastebinit.

Mẫu

Dưới đây là 2 ví dụ về tệp mà tôi đã đăng lên mỗi dịch vụ.

fpaste - http://ur1.ca/gddtt

   ss của fpaste

pastebin - http://pastebin.com/jGvyysQ9

   ss của pastebinit

Tài liệu tham khảo


Tất cả những thứ này nhạt so với SprungeHastebin , IMO. (:
DopeGhoti

Vâng, tôi nghe về Sprunge tuyệt vời như thế nào, BTW chưa bao giờ nghe về nó cho đến ngày hôm nay. Có trang web giống như / dev / null và tôi thấy giao diện lúng túng so với một công cụ thực tế như những công cụ mà tôi đã liệt kê. Nhưng đó là lý do tại sao chúng tôi có rất nhiều lựa chọn, để mọi người có thể chọn những gì họ thích 8-). Mặt khác, Hastebin có vẻ lịch sự hơn một chút, tôi thích rằng bạn có thể lưu trữ ví dụ của riêng bạn, thời hạn tối đa 30 ngày là một công cụ đối phó với tôi.
slm

Cũng lưu ý rằng pastebinit có thể đăng lên spunge.us. Nó nằm trong danh sách được cung cấp bởi pastebinit -l.
slm

Vui lòng thêm một lưu ý rằng lệnh pastebinit ví dụ sử dụng tên người dùng cục bộ của bạn làm tiêu đề dán, đó là một bất ngờ khó chịu
Dubslow

22

Tôi thích hai công cụ dòng lệnh sử dụng curl, được liệt kê trên Arch Wiki :

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

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

Bạn có thể thực hiện một chức năng đơn giản để tiết kiệm bạn phải nhớ các chi tiết chính, như vậy:

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

Bạn có thể gửi tới một URL nâng cao nếu bạn muốn tô sáng cú pháp để dán mã. Đối với ix, bạn nối thêm /ID/URL ( http://ix.io/ID/ ) cho cú pháp mặc định dựa trên tự động phát hiện hoặc /ID/<language>/để đặt rõ ràng ngôn ngữ cho tô sáng hình ảnh.

Đối với http://sprunge.us , hãy thêm ?<language>hiệu ứng tương tự.


Bạn có thể tạo kiểu cho chúng hoặc chọn một loại mã hoặc là tô sáng cú pháp, nếu có, tự động dựa trên những gì đã dán?
slm

Không phải tôi biết: nó chỉ dán văn bản. Nhưng tôi đã không nhìn sâu hơn vào nó vì đó là tất cả những gì tôi cần.
jasonwryan

Rất tốt, tôi chỉ không chắc chắn nếu có nhiều hơn giao diện curl về các công tắc bổ sung, vv mà bạn có thể bao gồm trong yêu cầu.
slm

Tôi tìm thấy nó. Bạn có thể giải quyết một? theo sau là tên của langugae để làm nổi bật và số dòng. Xem ví dụ này: spunge.us/MFMY?bash
slm

đơn giản là giải pháp tốt nhất và đơn giản nhất hiện có. Yêu cộng đồng archlinux :)
nXqd

19

Tôi cần một cái gì đó để chia sẻ đầu ra thiết bị đầu cuối ngay cả khi máy chủ X không được tải nên tôi đã tạo dịch vụ này: termbin.com . Điều duy nhất bạn cần là netcat, sau đó bạn có thể dễ dàng chia sẻ với bất kỳ ai bất cứ điều gì có thể được hiển thị trong thiết bị đầu cuối, có ví dụ:

cat /etc/fstab | nc termbin.com 9999

Sau khi chạy lệnh này, bạn sẽ nhận được địa chỉ url phản hồi bằng tệp văn bản.

Để làm cho cuộc sống của bạn dễ dàng hơn, bạn có thể thêm bí danh đó vào tệp .bashrc của mình:

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

Bây giờ chia sẻ sẽ đơn giản hơn nhiều:

uname -a | tb

Bạn có thể lấy những cái đã lưu chẳng hạn bằng cách sử dụng curl. Bạn sẽ tìm thấy nhiều ví dụ trên termbin.com .

Bạn cũng có thể lưu trữ máy chủ của riêng mình, có kho lưu trữ github: https://github.com/solusipse/fiche . Nếu bạn muốn đặt ở chế độ riêng tư, đừng quên đặt tham số danh sách trắng.


Ngoài ra còn có pastebin-cli và Chào mừng bạn đến với U & L.SE
eyoung100

@solusipse; bao lâu dán sẽ vẫn còn trên máy chủ của bạn. nó có thể là mãi mãi? hoặc có một liên kết để xóa bài viết
r004

1
@ r004 Như họ đã đề cập trong termbin.com "Tuổi thọ của một lần dán là một tháng. Các loại bột nhão cũ hơn sẽ bị xóa."
Veerendra

Rất thú vị, nhưng vô dụng nếu bạn đứng sau tường lửa với cổng 9999 bị chặn. Sử dụng nc -vbạn sẽ nhận được nc: connect to termbin.com port 9999 (tcp) failed: No route to host.
Pablo A

5

Tôi sử dụng clitxt vì không yêu cầu tài khoản và không có thông số hoặc cài đặt nào cần nhớ. Bạn chỉ cần đặt lệnh để clitxt và nó trả về một URL. ví dụ

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

3

Tôi đã viết trang web này được thực hiện đặc biệt để dán qua curl, vì tôi cảm thấy không ai phải nhớ cú pháp cụ thể như trong spunge. Nó cũng không chỉ là nguồn mở, mà còn hoàn toàn di động để bạn có thể dễ dàng thiết lập "curlpaste" của riêng mình với bất kỳ tên miền nào khác. tức là một máy chủ dán riêng.

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

Nếu bạn truy cập trang web, cũng có một giao diện web cung cấp các tùy chọn khác như đọc một lần và xóa.


curlpaste.com dường như không hoạt động
Davide Icardi

2

Đây là một dịch vụ khác dường như cung cấp dịch vụ này: https://ctrlv.link/

Thêm mã trong một tệp input.txtvà chạy lệnh này từ cửa sổ đầu cuối:

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

Một ví dụ với mã C / C ++ (test.cpp):

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

1

Gần đây tôi đã tạo một công cụ dòng lệnh cho pastebin https://notepad.pw/ Tôi sử dụng thường xuyên

dán tập tin của bạn đơn giản như

npw -lo filename linkpath

vì vậy về cơ bản, nó sẽ dán nội dung vào https://notepad.pw/

Các llá cờ là để cập nhật trực asin nếu ai đó đang xem trang sẽ cập nhật mà không cần tải lại.

cờ 'o' là để ghi đè nếu bạn không sử dụng nó, nội dung sẽ được thêm vào nội dung hiện có.

Bạn có thể cài đặt công cụ qua pip

sử dụng lệnh.

pip install npw

Đây là trang github.


0

Hương vị

từ chối trách nhiệm: Đây là dự án của riêng tôi

Anypaste hiện hỗ trợ khoảng một tá dịch vụ giống như pastebin (đáng chú ý nhất là Hastebinix.io ). Bạn có thể đặt một cái gì đó trong some_command | anypastehoặc liệt kê rõ ràng một tập tin anypaste my_code.c. Tải lên phương tiện cũng được hỗ trợ cho các trang web như Imgur và Gfycat; anypaste tự động phát hiện loại tệp để xác định nơi tải lên đầu vào.

Cách nhanh nhất để cài đặt là tải xuống tệp thực thi (đó là tập lệnh shell lớn):

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


0

Nhiều pastebins không yêu cầu bất kỳ công cụ đặc biệt. Curl hoặc wget sẽ làm.

https://paste.c-net.org/ là một ví dụ như vậy.

Đây là một đoạn trong "hướng dẫn":

Tải lên văn bản bằng cách sử dụng curl:

$ curl -s --data 'Xin chào thế giới!' ' http://paste.c-net.org/ '

Tải lên văn bản bằng wget:

$ wget --quiet -O- --post-data = 'Xin chào thế giới!' ' http://paste.c-net.org/ '

Tải lên một tệp bằng cách sử dụng curl:

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

Tải lên tệp bằng wget:

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

Tải lên đầu ra của một lệnh hoặc tập lệnh bằng cách sử dụng curl:

$ ls / | cuộn tròn --upload-file ' http://paste.c-net.org/ '

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

Bạn cũng có thể chỉ đơn giản là ống công cụ để netcat

$ ls / | nc dán.c-net.org 9999

Không giống như termbin, paste.c-net.org sẽ không hết thời gian nếu tập lệnh của bạn mất hơn 5 giây để tạo đầu ra.

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

$ {ngủ 10; ls /; } | nc dán.c-net.org 9999

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

Trang này cũng cung cấp các hàm Bash tiền tố cho tệp .bashrc của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.