コマンドまたはテキストファイルからの出力をPastebin.comなどの共有サービスに直接投稿できるLinuxのコマンドラインツールはありますか?
これを提供するサービスはいくつかありますが、コマンドラインから非常に使いやすい2つはfpaste
とpastebinit
です。これらの2つのツールは、 paste.fedoraproject.org および Pastebin.com のサイトにリンクしています。
注:これはFedora/CentOS/RHELのみのオプションです
Red Hatベースのディストリビューションのいずれかを使用している場合は、fpaste
パッケージをインストールして、paste.fedoraproject.org
にコンテンツを投稿するためのコマンドラインツールを提供できます。
単一のテキストファイルの基本的な投稿では、次の操作を実行できます。
$ fpaste hello_unixnlinux.txt
上記のコマンドは、コンテンツに他のユーザーがアクセスできるURLを返します。
...
Uploading (0.1KiB)...
http://ur1.ca/gddtt -> http://paste.fedoraproject.org/66894/89230131
もちろん、他にもたくさんのオプションがあります。
fpaste -i
fpaste --sysinfo
詳細については、マンページman fpaste
を参照してください。
これはおそらく2つのツールの中でより人気があります。ほんの数例を挙げると、Fedora、CentOS、Ubuntuなど、私が頻繁に使用するほとんどのディストリビューションでサポートされています。 fpaste
と同様の機能を備えていますが、たとえば次のように、さらに多くのことができます。
まず、-l
スイッチを使用して、「サポートされている」すべてのURLのリストを取得できます。
$ 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
-b
スイッチを使用して1つを選択する手間をかけない場合は、ディストリビューションに基づいて1つが選択されます(それがある場合)、そうでない場合はPastebin.comにフォールバックします。 Fedoraの場合はfpaste.org
もサポートしているため、このツールを使用して貼り付けサービスもカバーできることに注意してください。
サンプルファイルをPastebin.com
に投稿するには.
$ pastebinit -i hello_unixnlinux.txt -b http://Pastebin.com
http://Pastebin.com/d6uXieZj
貼り付けているコンテンツが-f
スイッチを使用したコードであることもわかります。たとえば、ここにBashスクリプトがあります。また、-a
スイッチを使用してアップロードに名前を付け、「ex_bash_1」という名前で表示されるようにします。
$ pastebinit -i sample.bash -f bash -a ex_bash_1 -b http://Pastebin.com
http://Pastebin.com/jGvyysQ9
サポートされている構文の完全なリストは、Pastebin.com FAQのタイトルの付いたこのトピックの下にあります: どの言語で構文の強調表示を提供していますか? 。
詳細については、マニュアルページman pastebinit
を確認してください。
以下は、各サービスに投稿したファイルの2つの例です。
fpaste- http://ur1.ca/gddtt
ペーストビン- http://Pastebin.com/jGvyysQ9
Arch Wiki にリストされているcurl
を使用する2つのコマンドラインツールが好きです。
_<command> | curl -F 'sprunge=<-' http://sprunge.us
<command> 2>&1 | curl -F 'f:1=<-' ix.io
_
次のように、簡単な関数を作成して、詳細を覚えておく必要をなくすことができます。
sprung() { curl -F "sprunge=<-" http://sprunge.us <"$1" ;}
コード貼り付けの構文強調表示が必要な場合は、拡張URLに送信できます。 ixの場合、URLに_/ID/
_を追加して( http://ix.io/ID/ )自動検出に基づくデフォルトの構文にするか、明示的に_/ID/<language>/
_を追加しますpygmentsハイライトの言語を設定します。
http://sprunge.us の場合、同じ効果を得るために_?<language>
_を追加します。
Xサーバーがロードされていない場合でも端末の出力を共有するために何かが必要だったので、次のサービスを作成しました: termbin.com 。必要なのはnetcatだけで、ターミナルに表示できるものなら誰とでも簡単に共有できます。次に例を示します。
cat /etc/fstab | nc termbin.com 9999
このコマンドを実行した後、応答URLアドレスがテキストファイルで取得されます。
生活を楽にするために、そのようなエイリアスを.bashrcファイルに追加できます。
echo 'alias tb="nc termbin.com 9999"' >> .bashrc
これで、共有がはるかに簡単になります。
uname -a | tb
たとえば、curlを使用して保存されたものを取得できます。その他の例は termbin.com にあります。
独自のサーバーをホストすることもできます。githubリポジトリがあります: https://github.com/solusipse/fiche 。プライベートにしたい場合は、ホワイトリストパラメータを設定することを忘れないでください。
私は clitxt を使用します。アカウントは必要なく、パラメータや設定を覚えておく必要がないためです。コマンドをclitxtにパイプするだけで、URLが返されます。例えば.
root@server3219-old7 [~]# yum -y update | clitxt
https://clitxt.com/t/ad7-1426995329.txt
このWebサイトは、curlによる貼り付けのために特別に作成されたものです。これは、sprungeのように特定の構文を覚える必要はないためです。また、オープンソースであるだけでなく、完全に移植可能であるため、他のドメインで独自の「カルパスト」を簡単にセットアップできます。つまり、プライベート貼り付けサーバーです。
curl --data-binary @your-file-here.txt https://curlpaste.com
webサイトにアクセスすると、1回だけ読む、削除するなどのオプションを提供するWebインターフェイスもあります。
これはこれを提供しているように見える別のサービスです: https://ctrlv.link/
ファイルにコードを追加しますinput.txt
とターミナルウィンドウからこのコマンドを実行:
$ curl --form "expiration=0" --form "code_type=nohighlight" \
--form "content=<input.txt" https://ctrlv.link/insert.php
C/C++コード(test.cpp)の例:
$ curl --form "expiration=0" --form "code_type=cpp" \
--form "content=<test.cpp" https://ctrlv.link/insert.php`
最近、1つのコマンドライン tool をPastebin用に作成しました https://notepad.pw/ 頻繁に使用します
ファイルの貼り付けは簡単です
npw -lo filename linkpath
基本的にはコンテンツを https://notepad.pw/ に貼り付けます
l
フラグは、ページがリロードせずに更新されるページを他の誰かが表示している場合のライブ更新用です。
'o'フラグは、使用しない場合は上書きするためのもので、コンテンツは既存のものに追加されます。
あなたはpip経由でツールをインストールできます
コマンドを使用します。
pip install npw
ここ はgithubページです。
多くのペーストビンは特別なツールを必要としません。 Curlまたはwgetで十分です。
https://paste.c-net.org/ はそのような例の1つです。
これが「マニュアル」の抜粋です。
Curlを使用してテキストをアップロードします。
$ curl -s --data 'Hello World!' ' http://paste.c-net.org/ '
Wgetを使用してテキストをアップロードします。
$ wget --quiet -O- --post-data = 'Hello World!' ' http://paste.c-net.org/ '
Curlを使用してファイルをアップロードします。
$ curl --upload-file '/ tmp/file' ' https://paste.c-net.org/ '
Wgetを使用してファイルをアップロードします。
$ wget --quiet -O- --post-file = '/ tmp/file' ' http://paste.c-net.org/ '
Curlを使用してコマンドまたはスクリプトの出力をアップロードします。
$ ls/| curl --upload-file ' http://paste.c-net.org/ '
$ ./bin/hello_world | curl --upload-file-' http://paste.c-net.org/ '
単にnetcatにパイプすることもできます
$ ls/| nc paste.c-net.org 9999
Termbinとは異なり、paste.c-net.orgは、スクリプトが出力を生成するのに5秒以上かかってもタイムアウトしません。
$ {10睡眠; ls /; } | nc termbin.com 9999
$ {10睡眠; ls /; } | nc paste.c-net.org 9999
このページには、.bashrcファイル用の既製のBash関数も用意されています。
免責事項:これは私自身のプロジェクトです
Anypasteは現在、約12のPastebinのようなサービスをサポートしています(最も顕著なのは Hastebin および ix.io )。パイプを使用してsome_command | anypaste
にパイプするか、ファイルanypaste my_code.c
を明示的にリストできます。メディアのアップロードは、ImgurやGfycatなどのサイトでもサポートされています。 anypasteは、ファイルタイプを自動的に検出して、入力をアップロードする場所を決定します。
インストールする最も簡単な方法は、実行可能ファイルをダウンロードすることです(これは大きなシェルスクリプトです)。
Sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh