0
0
Linux CLIscripting~10 mins

Absolute vs relative paths in Linux CLI - Visual Side-by-Side Comparison

Choose your learning style9 modes available
Concept Flow - Absolute vs relative paths
Start in current directory
Use relative path?
YesLook inside current directory or subfolder
No
Use absolute path?
Look from root directory /
Access file/folder
This flow shows how the system decides to find files using either relative paths from the current folder or absolute paths from the root.
Execution Sample
Linux CLI
pwd
ls ./documents
ls /home/user/documents
Shows current directory, lists files in 'documents' folder relative to current directory, then lists files using absolute path.
Execution Table
StepCommandPath TypeResolved PathActionOutput
1pwdN/A/home/userShow current directory/home/user
2ls ./documentsRelative/home/user/documentsList files in relative pathfile1.txt file2.txt
3ls /home/user/documentsAbsolute/home/user/documentsList files in absolute pathfile1.txt file2.txt
4ls ../user2Relative/home/user2List files in sibling directoryproject.doc notes.txt
5ls /etcAbsolute/etcList files in root etc folderhosts passwd
6ls ./nonexistentRelative/home/user/nonexistentError: folder does not existls: cannot access './nonexistent': No such file or directory
7ls /nonexistentAbsolute/nonexistentError: folder does not existls: cannot access '/nonexistent': No such file or directory
💡 Commands stop after showing outputs or errors for given paths.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5After Step 6After Step 7
Current Directory/home/user/home/user/home/user/home/user/home/user/home/user/home/user/home/user
Path UsedN/AN/A./documents/home/user/documents../user2/etc./nonexistent/nonexistent
Resolved PathN/A/home/user/home/user/documents/home/user/documents/home/user2/etc/home/user/nonexistent/nonexistent
Command OutputN/A/home/userfile1.txt file2.txtfile1.txt file2.txtproject.doc notes.txthosts passwdls: cannot access './nonexistent': No such file or directoryls: cannot access '/nonexistent': No such file or directory
Key Moments - 3 Insights
Why does 'ls ./documents' and 'ls /home/user/documents' show the same files?
Because './documents' is a relative path from the current directory '/home/user', which resolves to '/home/user/documents', the same as the absolute path.
What happens if the relative path points outside the current directory?
Using '../user2' moves up one directory from '/home/user' to '/home' then into 'user2', showing files there as in step 4.
Why do some 'ls' commands give errors?
Because the specified folder does not exist at the resolved path, so the system cannot list files, as shown in steps 6 and 7.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the resolved path for 'ls ../user2'?
A/user2
B/home/user/user2
C/home/user2
D/home/user/documents
💡 Hint
Check the 'Resolved Path' column at step 4 in the execution table.
At which step does the command fail because the folder does not exist?
AStep 2
BStep 6
CStep 3
DStep 5
💡 Hint
Look for error messages in the 'Output' column in the execution table.
If the current directory was '/home/user/documents', what would 'ls ../' list?
AFiles in /home/user
BFiles in /home/user/documents
CFiles in /home
DFiles in /
💡 Hint
Relative path '..' means one directory up from current directory; check variable_tracker for current directory.
Concept Snapshot
Absolute paths start from root '/' and show full location.
Relative paths start from current directory and use './' or '../'.
Use absolute paths for exact location.
Use relative paths for location relative to where you are.
Errors occur if path does not exist.
Commands like 'ls' show files at resolved paths.
Full Transcript
This lesson shows how Linux finds files using absolute and relative paths. Absolute paths start from the root directory '/' and give the full location. Relative paths start from the current directory and use './' for current folder or '../' to go up one folder. Commands like 'ls' list files at the resolved location. If the path does not exist, an error appears. For example, 'ls ./documents' lists files inside 'documents' folder relative to current directory, while 'ls /home/user/documents' uses the full absolute path. Using '../user2' moves up one folder and then into 'user2'. Understanding these paths helps you find files easily in the terminal.