1. Create a tar archive
$ tar -cvf archive.tar file1.txt file2.txt
Create a tar archive named archive.tar containing file1.txt and file2.txt
Output:
file1.txt
file2.txt
2. Extract a tar archive
$ tar -xvf archive.tar
Extract all files from archive.tar
Output:
file1.txt
file2.txt
3. Create a gzipped tar archive
$ tar -czvf archive.tar.gz directory/
Create a compressed tar archive using gzip
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
4. Extract a gzipped tar archive
$ tar -xzvf archive.tar.gz
Extract a gzipped tar archive
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
5. List contents of a tar archive
$ tar -tvf archive.tar
List all files in archive.tar without extracting
Output:
-rw-r--r-- user/user 0 2023-10-05 12:34 file1.txt
-rw-r--r-- user/user 0 2023-10-05 12:34 file2.txt
6. Create a bzipped tar archive
$ tar -cjvf archive.tar.bz2 directory/
Create a compressed tar archive using bzip2
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
7. Extract a bzipped tar archive
$ tar -xjvf archive.tar.bz2
Extract a bzipped tar archive
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
8. Create a xzipped tar archive
$ tar -cJvf archive.tar.xz directory/
Create a compressed tar archive using xz
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
9. Extract a xzipped tar archive
$ tar -xJvf archive.tar.xz
Extract a xzipped tar archive
Output:
directory/
directory/file1.txt
directory/subdir/
directory/subdir/file2.txt
10. Extract to a specific directory
$ tar -xvf archive.tar -C /path/to/directory
Extract tar archive to a specific directory
Output:
file1.txt
file2.txt
11. Add files to existing archive
$ tar -rvf archive.tar newfile.txt
Append a file to an existing tar archive
Output:
newfile.txt
12. Extract a specific file
$ tar -xvf archive.tar file1.txt
Extract only file1.txt from the archive
Output:
file1.txt
13. Extract multiple specific files
$ tar -xvf archive.tar file1.txt file2.txt
Extract only specific files from the archive
Output:
file1.txt
file2.txt
14. Create archive with wildcard
$ tar -cvf text_files.tar *.txt
Create an archive of all text files in the current directory
Output:
file1.txt
file2.txt
notes.txt
15. Exclude files from archive
$ tar -cvf archive.tar --exclude='*.tmp' directory/
Create an archive excluding files with .tmp extension
Output:
directory/
directory/file1.txt
directory/file2.txt
16. Verify an archive
$ tar -tvfW archive.tar
List and verify files in the archive
Output:
Verify file1.txt
Verify file2.txt
17. Preserve permissions
$ tar -cpvf archive.tar directory/
Create an archive preserving file permissions
Output:
directory/
directory/file1.txt
directory/file2.txt
18. Create archive with absolute paths
$ tar -cvf archive.tar /absolute/path/to/file
Create an archive using absolute file paths
Output:
/absolute/path/to/file
19. Extract with overwrite
$ tar -xvf archive.tar --overwrite
Extract files from archive, overwriting existing files
Output:
file1.txt
file2.txt
20. Extract without overwrite
$ tar -xvf archive.tar --keep-old-files
Extract files but don't overwrite existing ones
Output:
file1.txt
file2.txt
21. Create compressed archive with maximum compression
$ tar -cvzf archive.tar.gz --gzip-option=-9 directory/
Create a gzipped tar archive with maximum compression level
Output:
directory/
directory/file1.txt
directory/file2.txt
22. Extract specific file to stdout
$ tar -xOf archive.tar file1.txt
Extract file1.txt and write it to standard output
Output:
Contents of file1.txt displayed here...
23. Update existing archive
$ tar -uvf archive.tar file3.txt
Add file3.txt to archive.tar only if it's newer than the version in the archive
Output:
file3.txt
24. Delete files from archive
$ tar --delete -f archive.tar file1.txt
Remove file1.txt from archive.tar
Output:
(No output on success)
25. Compare archive with file system
$ tar -df archive.tar
Compare files in archive with files in the filesystem
Output:
file1.txt: Mod time differs
file2.txt: Size differs