Bird
Raised Fist0
Linux CLIscripting~10 mins

tmux for persistent sessions in Linux CLI - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - tmux for persistent sessions
Start tmux session
↓
Run commands inside tmux
↓
Detach session (leave running)
↓
Logout or close terminal
↓
Reattach to tmux session later
↓
Continue work where left off
This flow shows how tmux starts a session, lets you run commands, detach safely, and reattach later to keep your work persistent.
Execution Sample
Linux CLI
tmux new -s mysession
# Run commands inside tmux
# Detach with Ctrl+b d

tmux attach -t mysession
Starts a tmux session named 'mysession', lets you detach and reattach to keep your session alive.
Execution Table
StepCommand EnteredAction TakenSession StateOutput/Result
1tmux new -s mysessionCreate new tmux session named 'mysession'Session 'mysession' activeNew shell prompt inside tmux
2# Run commandsUser runs commands inside tmuxSession 'mysession' activeCommand outputs shown inside tmux
3Ctrl+b dDetach from tmux sessionSession 'mysession' running in backgroundReturns to normal shell prompt
4logout or close terminalTerminal closed, tmux session persistsSession 'mysession' still runningNo output, session alive
5tmux attach -t mysessionReattach to existing sessionSession 'mysession' activeShell prompt inside tmux with previous state
6exitExit tmux sessionSession 'mysession' terminatedtmux session ends, back to normal shell
💡 Session ends when user types 'exit' inside tmux or kills the session explicitly
Variable Tracker
VariableStartAfter Step 1After Step 3After Step 5Final
tmux session statenoneactivedetached (running)attached (active)terminated
Key Moments - 3 Insights
Why does the tmux session keep running after I close the terminal?
Because at Step 3 you detached the session (Ctrl+b d), tmux keeps it running in the background even if the terminal closes, as shown in the execution_table row 4.
What happens if I don't detach and just close the terminal?
If you close the terminal without detaching, the tmux session usually ends. Detaching (Step 3) is necessary to keep the session persistent, as shown in the execution_table.
How do I get back to my work after detaching?
You use 'tmux attach -t mysession' (Step 5) to reattach and continue exactly where you left off, as shown in the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the tmux session state right after detaching with Ctrl+b d?
ASession terminated
BSession running in background (detached)
CSession active and attached
DNo session exists
💡 Hint
Check Step 3 and Step 4 in the execution_table under 'Session State'
At which step does the user reattach to the tmux session?
AStep 2
BStep 3
CStep 5
DStep 6
💡 Hint
Look for the command 'tmux attach -t mysession' in the execution_table
If the user never detaches and closes the terminal, what likely happens to the tmux session?
ASession terminates when terminal closes
BSession automatically reattaches
CSession stays running in background
DSession duplicates
💡 Hint
Refer to key_moments about detaching necessity and execution_table explanation
Concept Snapshot
tmux lets you create persistent terminal sessions.
Use 'tmux new -s name' to start.
Detach anytime with Ctrl+b d to keep session alive.
Reattach with 'tmux attach -t name' to continue.
Sessions persist even if terminal closes.
Exit session with 'exit' inside tmux.
Full Transcript
This visual execution shows how tmux creates a persistent session. First, you start a session with 'tmux new -s mysession'. Inside, you run commands as usual. When ready, detach with Ctrl+b d to leave the session running in the background. You can safely close your terminal; the session stays alive. Later, reattach with 'tmux attach -t mysession' to continue your work exactly where you left off. Finally, exit the session with 'exit' to end it. This process helps keep your work safe and persistent across logouts or disconnections.

Practice

(1/5)
1. What is the main benefit of using tmux for command line sessions?
easy
A. It provides a graphical interface for Linux commands.
B. It automatically updates your system packages.
C. It allows you to keep sessions running and return to them later.
D. It replaces the need for a terminal emulator.

Solution

  1. Step 1: Understand tmux purpose

    tmux is a terminal multiplexer that lets you create, detach, and reattach sessions.
  2. Step 2: Identify main benefit

    This means you can keep your command line work running and come back anytime without losing progress.
  3. Final Answer:

    It allows you to keep sessions running and return to them later. -> Option C
  4. Quick Check:

    tmux keeps sessions persistent = A [OK]
Hint: tmux saves your work session to return anytime [OK]
Common Mistakes:
  • Thinking tmux updates software
  • Confusing tmux with GUI tools
  • Believing tmux replaces terminal emulator
2. Which of the following commands correctly creates a new named tmux session called work?
easy
A. tmux open -n work
B. tmux start work
C. tmux create session work
D. tmux new -s work

Solution

  1. Step 1: Recall tmux session creation syntax

    The correct syntax to create a named session is tmux new -s session_name.
  2. Step 2: Match command to syntax

    tmux new -s work matches this syntax exactly, creating a session named 'work'.
  3. Final Answer:

    tmux new -s work -> Option D
  4. Quick Check:

    tmux new -s name creates session = A [OK]
Hint: Use 'tmux new -s name' to start named session [OK]
Common Mistakes:
  • Using 'start' instead of 'new'
  • Omitting the '-s' flag for naming
  • Using incorrect verbs like 'create' or 'open'
3. What will be the output of the command tmux ls if you have two sessions named dev and test running?
medium
A. No sessions found
B. dev: 1 windows (created Thu Jun 1 10:00:00 2023)\ntest: 1 windows (created Thu Jun 1 10:05:00 2023)
C. Session dev attached\nSession test attached
D. Error: tmux command not found

Solution

  1. Step 1: Understand tmux ls output

    This command lists all active tmux sessions with their names and window counts.
  2. Step 2: Match output to sessions

    With two sessions 'dev' and 'test', it shows each with window count and creation time.
  3. Final Answer:

    dev: 1 windows (created Thu Jun 1 10:00:00 2023) test: 1 windows (created Thu Jun 1 10:05:00 2023) -> Option B
  4. Quick Check:

    tmux ls lists sessions = C [OK]
Hint: tmux ls lists all active sessions by name [OK]
Common Mistakes:
  • Expecting 'No sessions' when sessions exist
  • Confusing attached status with listing
  • Thinking tmux ls shows errors if tmux installed
4. You tried to reattach to a tmux session with tmux attach -t mysession but got the error: no sessions. What is the most likely cause?
medium
A. The session named 'mysession' does not exist.
B. You forgot to install tmux.
C. You need to use tmux new instead of attach.
D. The terminal emulator is not supported.

Solution

  1. Step 1: Analyze error message meaning

    The error 'no sessions' means tmux cannot find a session with the given name.
  2. Step 2: Identify cause of error

    This usually happens if the session was never created or was closed.
  3. Final Answer:

    The session named 'mysession' does not exist. -> Option A
  4. Quick Check:

    Attach error 'no sessions' means session missing = B [OK]
Hint: Check session exists before attaching [OK]
Common Mistakes:
  • Assuming tmux is not installed
  • Using attach instead of new incorrectly
  • Blaming terminal emulator
5. You want to create a tmux session named project, detach from it, and later reattach. Which sequence of commands achieves this correctly?
hard
A. tmux new -s project; Ctrl+b d; tmux attach -t project
B. tmux start project; Ctrl+c; tmux attach project
C. tmux create -n project; Ctrl+b x; tmux reattach project
D. tmux open project; Ctrl+d; tmux attach-session project

Solution

  1. Step 1: Create and detach session

    Use tmux new -s project to create session, then press Ctrl+b d to detach safely.
  2. Step 2: Reattach session

    Use tmux attach -t project to reattach to the named session later.
  3. Final Answer:

    tmux new -s project; Ctrl+b d; tmux attach -t project -> Option A
  4. Quick Check:

    Create, detach, attach with correct commands = D [OK]
Hint: Use Ctrl+b d to detach, attach with tmux attach -t name [OK]
Common Mistakes:
  • Using wrong tmux commands like start or create
  • Pressing wrong keys to detach
  • Omitting '-t' when attaching
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard