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だけになる。

sudo tee -aで追記する

root権限のファイルに追記したい場合は-aを付ける。

コマンド | sudo tee -a ファイルパス
$ cat /etc/protected2.conf
line1
$ echo line2 | sudo tee -a /etc/protected2.conf
line2
$ cat /etc/protected2.conf
line1
line2

-aを付けると既存のline1を残したままline2が追記される。

用途

/etc/hosts/etc/sysctl.confなど、root権限が必要な設定ファイルへ1行追加したい場合に使う。sudo付きのリダイレクト(sudo echo line2 >> /etc/protected.conf)は、シェル自身がファイルを開く時点でまだ一般ユーザーの権限のため失敗する。sudo tee -aならteeコマンド自体がroot権限で実行されるため書き込める。

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