📖 Scenario: You are working on a remote Linux server via SSH. You want to run commands that keep running even if your connection drops. Using tmux, a terminal multiplexer, helps you keep sessions alive and reconnect later.
🎯 Goal: Learn how to create a tmux session, run commands inside it, detach from the session, and reattach later to continue your work without interruption.
📋 What You'll Learn
Create a new tmux session named work_session
Run a long-running command inside the tmux session
Detach from the tmux session
Reattach to the tmux session to see the running command
💡 Why This Matters
🌍 Real World
Using tmux helps system administrators and developers keep their work running on remote servers without interruption, even if their network connection drops.
💼 Career
Knowing tmux is essential for roles involving remote server management, DevOps, and cloud infrastructure where persistent sessions improve productivity and reliability.
Progress0 / 4 steps
1
Create a new tmux session
Type the command to create a new tmux session named work_session.
Linux CLI
Hint
Use tmux new -s session_name to create a new session with a name.
2
Run a long-running command inside tmux
Inside the work_session tmux session, run the command ping google.com to start a continuous ping.
Linux CLI
Hint
Just type ping google.com after starting the tmux session.
3
Detach from the tmux session
Detach from the work_session tmux session by typing the key combination Ctrl+b then d.
Linux CLI
Hint
Press Ctrl and b together, release, then press d to detach.
4
Reattach to the tmux session
Type the command to reattach to the existing tmux session named work_session.
Linux CLI
Hint
Use tmux attach -t session_name to reconnect to a session.
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
Step 1: Understand tmux purpose
tmux is a terminal multiplexer that lets you create, detach, and reattach sessions.
Step 2: Identify main benefit
This means you can keep your command line work running and come back anytime without losing progress.
Final Answer:
It allows you to keep sessions running and return to them later. -> Option C
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
Step 1: Recall tmux session creation syntax
The correct syntax to create a named session is tmux new -s session_name.
Step 2: Match command to syntax
tmux new -s work matches this syntax exactly, creating a session named 'work'.
Final Answer:
tmux new -s work -> Option D
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
Step 1: Understand tmux ls output
This command lists all active tmux sessions with their names and window counts.
Step 2: Match output to sessions
With two sessions 'dev' and 'test', it shows each with window count and creation time.
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
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
Step 1: Analyze error message meaning
The error 'no sessions' means tmux cannot find a session with the given name.
Step 2: Identify cause of error
This usually happens if the session was never created or was closed.
Final Answer:
The session named 'mysession' does not exist. -> Option A
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
Step 1: Create and detach session
Use tmux new -s project to create session, then press Ctrl+b d to detach safely.
Step 2: Reattach session
Use tmux attach -t project to reattach to the named session later.
Final Answer:
tmux new -s project; Ctrl+b d; tmux attach -t project -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.