「Tee」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (add TranslationStatus) |
Kusanaginoturugi (トーク | 投稿記録) (→参照: update TranslationStatus.) |
||
(同じ利用者による、間の2版が非表示) | |||
4行目: | 4行目: | ||
[[Wikipedia:tee (command)|Wikipedia]] より: |
[[Wikipedia:tee (command)|Wikipedia]] より: |
||
− | :コンピュー |
+ | :コンピューティングでは、tee は標準ストリームを使用するコマンドラインインタプリタ(シェル)のコマンドで、標準入力を読み込んで標準出力と 1 つ以上のファイルの両方に書き込み、入力を効果的に複製するものです。主にパイプやフィルタと組み合わせて使用される。コマンド名は、配管工事で使用される T 字分岐にちなんで付けられています。 |
== インストール == |
== インストール == |
||
26行目: | 26行目: | ||
tee は保護されたファイルへの書き込みに非常に便利です。 |
tee は保護されたファイルへの書き込みに非常に便利です。 |
||
− | $ ''input stream'' | sudo tee ''--option'' '' |
+ | $ ''input stream'' | sudo tee ''--option'' ''protected_file1 protected_file2...'' |
パーミッションの関係で、単純な {{ic|>}}/{{ic|>>}} ではうまくいかなかった場合に。 |
パーミッションの関係で、単純な {{ic|>}}/{{ic|>>}} ではうまくいかなかった場合に。 |
||
51行目: | 51行目: | ||
* [https://www.gnu.org/software/coreutils/manual/html_node/tee-invocation.html tee info] |
* [https://www.gnu.org/software/coreutils/manual/html_node/tee-invocation.html tee info] |
||
− | {{TranslationStatus|tee| |
+ | {{TranslationStatus|tee|2024-7-17|809939}} |
2024年7月17日 (水) 18:00時点における最新版
Wikipedia より:
- コンピューティングでは、tee は標準ストリームを使用するコマンドラインインタプリタ(シェル)のコマンドで、標準入力を読み込んで標準出力と 1 つ以上のファイルの両方に書き込み、入力を効果的に複製するものです。主にパイプやフィルタと組み合わせて使用される。コマンド名は、配管工事で使用される T 字分岐にちなんで付けられています。
インストール
tee(1) は coreutils パッケージの一部です。
使い方
ファイルにコンテンツを書き込むには
$ input stream | tee file1 file2...
デフォルトでは、tee は再度使用されると、ファイル内のコンテンツを上書きします。 ただし、必要に応じて、-a
/--append
引数を使用してファイルにコンテンツを追加できます。
詳細は、tee(1) を参照してください。
ヒントとテクニック
保護されたファイルに書き込む
tee は保護されたファイルへの書き込みに非常に便利です。
$ input stream | sudo tee --option protected_file1 protected_file2...
パーミッションの関係で、単純な >
/>>
ではうまくいかなかった場合に。
Vim
同様のコンセプトは、root
が所有する設定ファイルを編集する際に、sudo で Vim を起動するのを忘れた場合に便利です。この場合、Vim 内部で以下のようにしてファイルを保存することができます。
:w !sudo tee %
これを ~/.vimrc
に追加すると、コマンドモードでの :w!!!
マッピングでこのトリックを簡単に使えるようになります。
~/.vimrc
" Allow saving of files as sudo when I forgot to start vim using sudo cmap w!! w !sudo tee > /dev/null %
> /dev/null
の部分は、他のパイプコマンドに何も渡す必要がないため、標準出力を明示的に捨てています。
この仕組みの詳細については、How does the vim “write with sudo” trick work? の記事を参照してください。