📖 Scenario: You have a folder with several text files. You want to compress these files into a single zip archive to save space and share easily. Later, you want to extract the files from the zip archive to access them again.
🎯 Goal: Learn how to use the zip command to compress files into a zip archive and the unzip command to extract files from the archive using Linux command line.
📋 What You'll Learn
Use the zip command to create a zip archive
Use the unzip command to extract files from the archive
Work with exact file names and archive names as specified
💡 Why This Matters
🌍 Real World
Compressing files saves disk space and makes it easier to share multiple files as one package.
💼 Career
Many IT and scripting jobs require managing file archives efficiently using command line tools.
Progress0 / 4 steps
1
Create sample text files
Create three text files named file1.txt, file2.txt, and file3.txt with any content using the echo command.
Linux CLI
Hint
Use echo "text" > filename to create a file with text content.
2
Set the zip archive name
Create a variable called archive_name and set it to my_files.zip.
Linux CLI
Hint
Assign the string my_files.zip to the variable archive_name without spaces around the equals sign.
3
Create a zip archive with the files
Use the zip command with the variable archive_name to compress file1.txt, file2.txt, and file3.txt into the zip archive.
Linux CLI
Hint
Use zip "$archive_name" file1.txt file2.txt file3.txt to create the archive.
4
Extract files from the zip archive
Use the unzip command with the variable archive_name to extract the files from the zip archive.
Linux CLI
Hint
Use unzip "$archive_name" to extract the files.
Practice
(1/5)
1. What does the zip command do in Linux?
easy
A. It extracts files from a compressed archive.
B. It compresses one or more files into a single archive file.
C. It lists the contents of a directory.
D. It deletes files permanently.
Solution
Step 1: Understand the purpose of zip
The zip command is used to compress files into one archive to save space or organize files.
Step 2: Differentiate from other commands
unzip extracts files, ls lists files, and rm deletes files, so these are not correct.
Final Answer:
It compresses one or more files into a single archive file. -> Option B
Quick Check:
zip = compress files [OK]
Hint: Zip means pack files together into one compressed file [OK]
Common Mistakes:
Confusing zip with unzip command
Thinking zip lists files
Assuming zip deletes files
2. Which of the following is the correct syntax to create a zip archive named archive.zip including all files in the folder docs recursively?
easy
A. zip -r archive.zip docs
B. zip -x archive.zip docs
C. unzip -r archive.zip docs
D. zip archive.zip docs
Solution
Step 1: Identify the option for recursive zip
The -r option tells zip to include folders and their contents recursively.
Step 2: Check command correctness
zip -r archive.zip docs correctly creates the archive including all files inside docs. Other options are incorrect or for unzip.
Final Answer:
zip -r archive.zip docs -> Option A
Quick Check:
Use -r to zip folders recursively [OK]
Hint: Use -r option with zip to include folders recursively [OK]
Common Mistakes:
Using unzip instead of zip to create archive
Forgetting -r to include folders
Using -x which excludes files
3. What will be the output of the command unzip -l archive.zip?
medium
A. It lists the contents of archive.zip without extracting.
B. It deletes archive.zip after listing contents.
C. It extracts all files from archive.zip to current directory.
D. It compresses files into archive.zip.
Solution
Step 1: Understand the -l option in unzip
The -l option lists the files inside the zip archive without extracting them.
Step 2: Differentiate from other actions
Extracting files uses unzip without -l, deleting is not done by unzip, and compressing is done by zip, not unzip.
Final Answer:
It lists the contents of archive.zip without extracting. -> Option A
Quick Check:
unzip -l lists archive contents [OK]
Hint: Use unzip -l to peek inside zip without extracting [OK]
Common Mistakes:
Thinking unzip -l extracts files
Confusing zip and unzip commands
Assuming unzip deletes files
4. You run unzip archive.zip but get an error saying "cannot find or open archive.zip". What is the most likely cause?
medium
A. The zip archive is corrupted and cannot be opened.
B. You used the wrong command; unzip cannot extract files.
C. The archive.zip file does not exist in the current directory.
D. You need to use the -r option with unzip to extract.
Solution
Step 1: Analyze the error message
"cannot find or open archive.zip" means the file is missing or path is wrong.
Step 2: Check command and options
unzip is correct to extract files; no -r option is needed. Corruption would give a different error.
Final Answer:
The archive.zip file does not exist in the current directory. -> Option C
Quick Check:
File missing causes cannot find error [OK]
Hint: Check file exists in current folder before unzip [OK]
Common Mistakes:
Assuming unzip command is wrong
Using -r option with unzip incorrectly
Ignoring file location or name typos
5. You want to create a zip archive named backup.zip that includes all files and folders inside project, but exclude all .log files. Which command will do this correctly?
hard
A. zip backup.zip project/*.log
B. unzip -r backup.zip project -x '*.log'
C. zip -r backup.zip project --exclude '*.log'
D. zip -r backup.zip project -x '*.log'
Solution
Step 1: Use recursive zip with exclusion
The -r option includes folders recursively, and -x '*.log' excludes all .log files.
Step 2: Validate command correctness
zip -r backup.zip project -x '*.log' uses correct syntax. zip backup.zip project/*.log only zips .log files, C uses invalid --exclude, and D uses unzip which cannot create archives.
Final Answer:
zip -r backup.zip project -x '*.log' -> Option D
Quick Check:
Use -r to recurse and -x to exclude files [OK]
Hint: Use -x '*.ext' to exclude files when zipping recursively [OK]
Common Mistakes:
Using unzip instead of zip to create archive
Wrong exclude syntax like --exclude
Not using -r to include folders
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.