A hard link is a directory entry that associates a name with a file on the same filesystem. It points directly to the file's data (inode), so multiple names can refer to the same content.
Click to reveal answer
beginner
What is a symbolic (soft) link in Linux?
A symbolic link is a special file that points to another file or directory by name. It acts like a shortcut and can cross filesystem boundaries.
Click to reveal answer
beginner
Command to create a hard link named 'linkfile' to 'originalfile'?
Use: ln originalfile linkfile. This creates a hard link named 'linkfile' pointing to the same data as 'originalfile'.
Click to reveal answer
beginner
Command to create a symbolic link named 'symlink' to 'targetfile'?
Use: ln -s targetfile symlink. This creates a symbolic link named 'symlink' pointing to 'targetfile'.
Click to reveal answer
intermediate
Difference between hard and symbolic links?
Hard links point directly to file data and must be on the same filesystem. Symbolic links point to file names and can cross filesystems. Deleting the original file breaks symbolic links but not hard links.
Click to reveal answer
Which command creates a symbolic link?
Aln -s target link
Bln target link
Clink -s target link
Dln -h target link
✗ Incorrect
The '-s' option with 'ln' creates a symbolic link.
What happens if you delete the original file of a hard link?
AThe hard link still works and data remains accessible
BThe hard link breaks and data is lost
CThe hard link becomes a symbolic link
DThe system deletes all hard links automatically
✗ Incorrect
Hard links point to the same data, so deleting one name does not remove the data if other hard links exist.
Can hard links point to directories?
AOnly symbolic links can point to directories
BNo, usually hard links to directories are not allowed
CYes, always
DOnly if you use the -d option
✗ Incorrect
Most systems prevent creating hard links to directories to avoid filesystem loops.
Which type of link can cross filesystem boundaries?
AHard links
BBoth hard and symbolic links
CSymbolic links
DNeither
✗ Incorrect
Symbolic links point to file names and can link across different filesystems.
What does the command 'ls -l' show for a symbolic link?
ANothing special, same as a regular file
BOnly the link name
CThe size of the target file
DThe link name followed by '->' and the target file name
✗ Incorrect
'ls -l' shows symbolic links with an arrow pointing to their target.
Explain how hard links and symbolic links differ in Linux.
Think about what each link points to and what happens if the original file is removed.
You got /5 concepts.
Describe the commands to create hard and symbolic links and when you would use each.
Recall the syntax and practical use cases for each link type.
You got /5 concepts.
Practice
(1/5)
1. What is the main difference between a hard link and a symbolic link in Linux?
easy
A. A hard link can only link to directories; a symbolic link can only link to files.
B. A hard link is a shortcut to a directory; a symbolic link is a shortcut to a file.
C. A hard link points directly to the file's data, sharing the inode; a symbolic link points to the file name.
D. A hard link uses ln -s; a symbolic link uses ln.
Solution
Step 1: Understand hard link behavior
Hard links share the same inode number and point directly to the file data, making them indistinguishable from the original file.
Step 2: Understand symbolic link behavior
Symbolic links are special files that contain a path to another file or directory, acting like shortcuts pointing to file names.
Final Answer:
A hard link points directly to the file's data, sharing the inode; a symbolic link points to the file name. -> Option C
Quick Check:
Hard link = inode sharing, Symbolic link = filename pointer [OK]
Hint: Hard links share inode; symbolic links point to names [OK]
Common Mistakes:
Confusing which link shares inode
Thinking symbolic links share file data
Mixing up commands for creating links
2. Which command correctly creates a symbolic link named linkfile pointing to originalfile?
easy
A. ln -s originalfile linkfile
B. ln linkfile originalfile
C. ln -s linkfile originalfile
D. ln originalfile linkfile
Solution
Step 1: Recall symbolic link syntax
The syntax for creating a symbolic link is ln -s <target> <link_name>.
Step 2: Match command to syntax
ln -s originalfile linkfile uses ln -s originalfile linkfile, which correctly creates a symbolic link named linkfile pointing to originalfile.
Final Answer:
ln -s originalfile linkfile -> Option A
Quick Check:
ln -s target link_name [OK]
Hint: Use ln -s target link_name for symbolic links [OK]
What will be the output of cat file2 and cat file3?
medium
A. file2: Hello file3: Hello
B. file2: cat: file2: No such file or directory file3: cat: file3: No such file or directory
C. file2: cat: file2: No such file or directory file3: Hello
D. file2: Hello file3: cat: file3: No such file or directory
Solution
Step 1: Understand hard link behavior after deleting original
Hard link file2 points to the same inode as file1. Removing file1 does not delete the data because file2 still references it. So cat file2 outputs "Hello".
Step 2: Understand symbolic link behavior after deleting original
Symbolic link file3 points to the name file1. After deleting file1, file3 points to a non-existent file, so cat file3 gives an error.
Final Answer:
file2: Hello file3: cat: file3: No such file or directory -> Option D
Quick Check:
Hard link survives deletion; symbolic link breaks [OK]
Hint: Hard links keep data after original deleted; symbolic links break [OK]
Common Mistakes:
Assuming symbolic link still works after target deletion
Thinking hard link deletes data with original
Confusing link types' behavior on file removal
4. You run the command ln -s /path/to/file linkname but get an error: ln: failed to create symbolic link 'linkname': File exists. What is the best way to fix this?
medium
A. Delete the target file and rerun the command.
B. Use ln -sf /path/to/file linkname to force overwrite the existing link.
C. Use ln /path/to/file linkname without -s.
D. Rename the target file before creating the link.
Solution
Step 1: Understand the error cause
The error occurs because linkname already exists, and ln refuses to overwrite existing files or links by default.
Step 2: Use force option to overwrite
Using ln -sf forces the symbolic link creation by overwriting the existing linkname safely.
Final Answer:
Use ln -sf /path/to/file linkname to force overwrite the existing link. -> Option B
Quick Check:
ln -sf overwrites existing links safely [OK]
Hint: Use -sf to force overwrite existing symbolic links [OK]
Common Mistakes:
Deleting the target file instead of the link
Omitting -s and creating hard link by mistake
Renaming target unnecessarily
5. You want to create a backup system where multiple filenames point to the same file data without duplicating storage. Which command and link type should you use, and why?
hard
A. Use ln to create hard links because they share the same inode and save space.
B. Use ln -s to create symbolic links because they are easier to manage.
C. Copy the file multiple times to ensure backups are independent.
D. Use ln -s with absolute paths to avoid broken links.
Solution
Step 1: Identify storage-saving method
Hard links share the same inode and file data, so multiple filenames point to the same data without duplicating storage.
Step 2: Compare with symbolic links and copies
Symbolic links only point to filenames and do not save storage if the original is deleted. Copying duplicates data, using more space.
Final Answer:
Use ln to create hard links because they share the same inode and save space. -> Option A
Quick Check:
Hard links save space by sharing inode [OK]
Hint: Hard links share data, saving space for backups [OK]
Common Mistakes:
Choosing symbolic links for storage saving
Copying files instead of linking
Ignoring inode sharing concept
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.