suer TIL

Linuxes

LINUX
2026-09-20 2026-09-20
eye catch

【git switch】--detachオプションでdetached HEAD状態に切り替える

ブランチを作らずに特定のコミットを確認したい 過去のコミットの内容を一時的に確認したい場合、そのためだけにブランチを作るのは手間である。git switchに--detachオプションを付けると、ブランチに紐付かないdetached HEAD状態で指定のコミットに切り替えられる。
LINUX
2026-09-20 2026-09-20
eye catch

【tee】コマンドの使い方まとめ

teeは標準入力の内容を標準出力とファイルの両方に書き込むコマンド。sudoとの組み合わせやプロセス置換など、活用の幅は広い。 記事一覧 【tee】-aで標準入力をファイルに追記する -aでファイルを上書きせず末尾に追記する。 【tee】-iでSIGINTを無視する -iでSIGINTを受け取ってもteeプロセスを終了させない。 【tee】複数ファイルに同時出力する 複数のファイルパスを渡して同時に書き込む。 【tee】標準出力を捨ててファイルにだけ保存する tee ファイル > /dev/nullで画面表示を抑える。 【tee】sudo teeでroot権限が必要なファイルに書き込む sudo付きリダイレクトが失敗する理由と、sudo teeでの書き込み方法。 【tee】sudo tee -aでroot権限のファイルに追記する root権限のファイルに追記する場合はsudo tee -aを使う。 【tee】パイプラインの途中結果を覗き見てデバッグする tee /dev/stderrでパイプラインの途中出力を画面に表示する。 【tee】curlのレスポンスを保存しつつ画面でも確認する curl | tee ファイル | jqでAPIレスポンスを保存しながら確認する。 【tee】1つの出力を複数コマンドに分岐する プロセス置換を複数渡して同じ入力を複数コマンドに分岐する。 【tee】macOS標準とHomebrewのGNU版の違い macOS標準のBSD版とHomebrewのGNU coreutils版でオプションが異なる。 【tee】GNU teeの-pでパイプ向けモードにする -pでパイプが壊れてもファイルへの書き込みを続ける。 【tee】GNU teeの--output-errorで書き込みエラー時の挙動を制御する --output-error=MODEで書き込みエラー時に警告するか終了するかを指定する。 関連記事 teeコマンドで標準エラー出力もファイルに出力する |&や2>&1を使って標準エラー出力も含めてteeする。 標準入出力を直接gzip圧縮・解凍する tee >(gzip -c > ファイル.gz)でgzip圧縮しながら保存する。 【Shell Script】プロセス置換 <(command) でコマンド出力をファイルとして渡す tee >(コマンド)でプロセス置換により出力を分岐する仕組みを扱う。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】GNU teeの--output-errorで書き込みエラー時の挙動を制御する

デフォルトの挙動 GNU coreutils版のteeコマンドは、--output-errorを指定しない場合、パイプへの書き込みエラーでは即座に終了し、それ以外の出力先へのエラーは警告だけして処理を続ける。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】GNU teeの-pでパイプ向けモードにする

デフォルトでは書き込み先のパイプが壊れると終了する teeコマンドの標準出力を次のコマンドにパイプでつないでいるとき、次のコマンドが標準入力を早めに閉じると、teeコマンドはデフォルトで終了する。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】macOS標準とHomebrewのGNU版の違い

macOS標準のteeはBSD版 macOSに標準搭載されている/usr/bin/teeはBSD版であり、対応オプションは-aと-iのみ。 $ /usr/bin/tee --version tee: illegal option -- - usage: tee [-ai] [file ...] --versionのような長いオプション(ロングオプション)自体に対応していない。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】1つの出力を複数コマンドに分岐する

プロセス置換を複数渡す teeコマンドには複数のファイルパスを渡せるが、プロセス置換>(コマンド)を複数渡すこともできる。標準入力の内容がそれぞれのコマンドの標準入力に渡り、並行して処理される。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】curlのレスポンスを保存しつつ画面でも確認する

curlの出力をteeで分岐する curlの標準出力をteeに渡すと、レスポンスをファイルに保存しつつ、そのまま次のコマンドにも渡せる。 curl オプション URL | tee 保存先ファイル | 表示用コマンド $ curl -s "https://httpbin.org/get?foo=bar" | tee response.json | jq . { "args": { "foo": "bar" }, "headers": { "Accept": "*/*", "Host": "httpbin.org", "User-Agent": "curl/7.88.1" }, "origin": "1.21.115.218", "url": "https://httpbin.org/get?foo=bar" } 画面にはjqで整形された内容が表示され、response.jsonにはレスポンスそのままの内容が保存される。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】パイプラインの途中結果を覗き見てデバッグする

パイプラインの途中結果は見えない 複数のコマンドをパイプでつなぐと、途中のコマンドの出力は最終結果に埋もれて見えなくなる。 $ seq 1 5 | grep 3 3 seq 1 5が1 2 3 4 5を出力していることは、grep 3を通した最終結果3からは分からない。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】sudo tee -aでroot権限のファイルに追記する

sudo teeはデフォルトで上書きする sudo teeをオプションなしで実行すると、tee自体のデフォルト動作(上書き)になる。 $ cat /etc/protected.conf line1 $ echo line2 | sudo tee /etc/protected.conf line2 $ cat /etc/protected.conf line2 既存のline1は消え、line2だけになる。
LINUX
2026-09-19 2026-09-19
eye catch

【tee】sudo teeでroot権限が必要なファイルに書き込む

sudoを付けたリダイレクトは失敗する 一般ユーザーで/etc配下などroot権限が必要なファイルにリダイレクト(>)で書き込もうとすると、sudoを付けても失敗する。 $ echo newcontent > /etc/protected.conf bash: /etc/protected.conf: Permission denied $ sudo echo newcontent > /etc/protected.conf bash: /etc/protected.conf: Permission denied リダイレクトはシェル自身がファイルを開く処理であり、sudoはその後ろのechoコマンドにしか適用されない。ファイルを開く時点ではまだ一般ユーザーの権限のままのため、権限エラーになる。
LINUX
2026-09-19 2026-09-19
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【git switch】--detachオプションでdetached HEAD状態に切り替える
LINUX
2026-09-20 2026-09-20
eye catch
【psql】メタコマンドの使い方まとめ
DATABASE
2026-09-19 2026-09-19
eye catch
【PostgreSQL】テーブルスペース・照合順序・イベントトリガーなどマイナーなオブジェクト一覧を確認する
DATABASE
2026-09-19 2026-09-19
eye catch
【PostgreSQL】パーティションテーブル・インデックス一覧を確認する
DATABASE
2026-09-19 2026-09-19
eye catch
【PostgreSQL】全文検索の設定・辞書・パーサ・テンプレート一覧を確認する
DATABASE
2026-09-19 2026-09-19
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer