Skip to content
Clairos Learn

Shell scripting · Lesson 10 of 31 · 8 minutes

Tee script logs

Capture command output as a script log.

Mastery 0/3Run itExplain itApply it
learner@clairosSimulated Linux lab
learner@clairos:~ $
↑ history · Tab complete · Ctrl+C cancel · Esc, Tab to leaveExit 0

Understand the pattern

Junior operators build confidence by gathering evidence before changing systems.

printf
Format data deliberately, including separators and final newlines.

A format string controls output; a newline is data, not an automatic guarantee.

tee
Copy a stream both to a file and standard output; -a appends.

tee can overwrite a file even though the output is also visible on screen.

cat
Read one or more files to standard output without editing their contents.

Reading a source file should precede changing it; avoid printing real secrets.

stat
Inspect a file or directory metadata record, including ownership, permissions, and size.

Metadata and file contents answer different questions.

Worked example and expected result
$ printf script-log | tee lab/script.log
script-log

Exit status: 0. The command completed successfully in the training fixture.

$ cat lab/script.log
script-log

Exit status: 0. The command completed successfully in the training fixture.

$ stat lab/script.log
Path: /home/learner/lab/script.log
Type: file
Mode: -rw-r--r--
Owner: learner
Group: learners
Size: 10 bytes

Exit status: 0. The command completed successfully in the training fixture.

Try a variation

Repeat this workflow in the sandbox with a different scratch filename. Keep the system fixtures unchanged and compare the observed output with your expectation before moving on.

Explain it

In “Tee script logs”, which interpretation is safe?

Apply it elsewhere

Before adapting the cat workflow from “Tee script logs” to another server, what should you do?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: Xargs reviewTry an incident drill

Anonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.

Keep learning

  1. 01Normalize textNormalize labels before comparing output.Practice
  2. 02Xargs reviewUse xargs for safe argument shaping.Practice
  3. 03Script execution modeSet executable bits only after review.Practice