T-cmd

=================================================================================================

tee

標準入力から読み込んだデータを、標準出力(画面)とファイルの両方に同時に出力する

1. 基本的な使い方

最も一般的な使い方は、他のコマンドの結果をパイプ(|)で受け取ることです。

コマンド | tee ファイル名

ls -l | tee list.txt

2. オプション

オプション説明
-a (--append)ファイルを上書きせず、追記する。
-i (--ignore-interrupts)割り込み信号(Ctrl+Cなど)を無視する。

追記モードの例

echo "新しいログを追加" | tee -a log.txt

3. なぜ tee を使うのか?(主な活用シーン)

① 実行結果をリアルタイムで見つつ保存したい

通常、>(リダイレクト)を使うと画面には何も表示されませんが、tee を使えば作業の進行状況を目視しながらログを残せます。

② 管理者権限(sudo)でファイルに書き込みたい

# これは失敗する(リダイレクト先を sudo が認識できないため)
sudo echo "setting=true" > /etc/config.conf 
# これなら成功する
echo "setting=true" | sudo tee /etc/config.conf

③ 複数のファイルに同時に出力したい

一度に複数のファイルに書き込むことも可能です。

echo "Hello" | tee file1.txt file2.txt file3.txt

<<Back>>

=================================================================================================

touch

空のファイルを新規作成したり、ファイルのタイムスタンプを更新したりする

書式: touch [オプション] ファイル名

オプション説明
-aアクセス時間のみを変更する
touch -a filename.txt
-t[[CC]YY]MMDDhhmm[.ss]の書式に則り、タイムスタンプを指定した日時に更新します。
touch -t 202403121530 filename.txt
-d日時を文字列で指定して、タイムスタンプを更新します。
touch -d “2024-03-12 15:30:00” filename.txt
-c存在しないファイル名を指定しても、空の新規ファイルを作成しません。
touch -c filename.txt
-r指定した他のファイルのタイムスタンプに合わせて更新されます。
touch -r reference.txt filename.txt
-m更新時間のみを変更する。
touch -m filename.txt

=================================================================================================