suer TIL
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
eye catch
【tee】標準出力を捨ててファイルにだけ保存する
teeコマンドは標準出力にも書き込む teeコマンドは指定したファイルに書き込むと同時に、標準入力の内容を標準出力にも書き込む。 $ seq 1 3 | tee out.txt 1 2 3 画面に1 2 3が表示され、out.txtにも同じ内容が保存される。
LINUX
2026-09-19 2026-09-19
eye catch
【tee】複数ファイルに同時出力する
複数ファイルへの出力 teeコマンドには複数のファイルパスを空白区切りで渡せる。渡したすべてのファイルに標準入力の内容を出力する。 コマンド | tee ファイルパス1 ファイルパス2 ファイルパス3 ... $ echo hello | tee file1.txt file2.txt file3.txt hello $ cat file1.txt file2.txt file3.txt hello hello hello 標準出力にも出力されるため、画面で内容を確認しながら3つのファイルすべてに同時保存できる。
LINUX
2026-09-19 2026-09-19
eye catch
【tee】-iでSIGINTを無視する
デフォルトの動作 teeコマンドは、SIGINT(Ctrl+Cで送られるシグナル)を受け取るとデフォルトの動作(プロセスの終了)を行う。 $ yes | tee out.txt > /dev/null & [1] 12345 $ kill -INT 12345 $ jobs [1]+ Interrupt yes | tee out.txt > /dev/null kill -INTで直接SIGINTを送るとteeプロセスが終了する。
LINUX
2026-09-19 2026-09-19
eye catch
【tee】-aで標準入力をファイルに追記する
teeコマンドのデフォルト動作 teeコマンドはオプションなしで実行すると、標準入力の内容でファイルを上書きする。 $ echo "line1" > f.txt $ echo "line2" | tee f.txt line2 $ cat f.txt line2 実行のたびにf.txtの内容がline2だけになり、既存のline1は消える。
LINUX
2026-09-19 2026-09-19
eye catch
xcrun simctl diagnoseでiOSシミュレータの診断ログを収集する
xcrun simctl diagnoseは、シミュレータ関連の診断情報・ログをまとめて収集するサブコマンドである。 sysdiagnoseを補完する情報を集める位置付けで、バグ報告時に添付することが想定されている。
MAC
2026-09-19 2026-09-19
  • ««
  • «
  • 16
  • 17
  • 18
  • 19
  • 20
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
ISUCON2026に参加して敗退した
LINUX
2026-10-31 2026-11-04
eye catch
【cmp,dd】コピー先ファイルの壊れた範囲だけを書き直す
LINUX
2026-10-30 2026-10-30
eye catch
【shasum】コピー前後のファイルをSHA-256で比較して検証する (-a 256)
MAC
2026-10-30 2026-10-30
eye catch
【rsync】コピー結果をドライランで検証する (-n -c)
LINUX
2026-10-30 2026-10-30
eye catch
【rsync】接続エラーで停止する転送を自動でリトライする
LINUX
2026-10-30 2026-10-30
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer