Archivage et compression : `tar`, `gzip`, `bzip2`
Utilisez des commandes pour créer des archives, compresser des fichiers et en extraire le contenu.
Archivage et compression : `tar`, `gzip`, `bzip2` est une leçon Linux Command Line Mastery gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Command Line Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Command Line Mastery comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Why Archive & Compress?
Ever needed to bundle many files into one, or reduce a file's size? That's where archiving and compression come in!
Archiving combines multiple files or directories into a single file, often called a "tarball." This makes them easier to manage and transfer.
Compression reduces the size of a file, saving disk space and speeding up transfers.
`tar`: The Archiver
The tar command (Tape ARchiver) is the standard Linux utility for creating and extracting archive files. It doesn't compress by default, but it's often used with compression tools.
Key options for tar include:
c: Create a new archive.x: Extract files from an archive.v: Verbose output (show files being processed).f: Specify the archive filename.
Creating a `.tar` File
To create an archive, you typically use the -c (create), -v (verbose), and -f (filename) options. Let's make a simple archive of a directory.
mkdir my_project
echo "line 1" > my_project/file1.txt
echo "line 2" > my_project/file2.txt
tar -cvf project.tar my_project
ls -l project.tarUnpacking a `.tar` File
To extract files from a .tar archive, use the -x (extract), -v (verbose), and -f (filename) options. We'll extract the archive we just created.
Notice how the original directory structure is restored after extraction.
rm -rf my_project # Clean up existing directory
mkdir my_project # Create it again
echo "line 1" > my_project/file1.txt
echo "line 2" > my_project/file2.txt
tar -cvf project.tar my_project # Create the archive
rm -rf my_project # Delete original directory
tar -xvf project.tar # Extract it
ls -l my_project`gzip` for Quick Compression
gzip (GNU zip) is a popular tool for compressing single files. It's fast and effective, often reducing file sizes significantly. Files compressed with gzip typically have a .gz extension.
gzip replaces the original file with its compressed version. To decompress, use gunzip or gzip -d.
`gzip` in Action
Let's see gzip in action. We'll create a text file, compress it, and then decompress it. Observe the file sizes and extensions.
echo "This is a test file for gzip compression." > testfile.txt
ls -l testfile.txt
gzip testfile.txt
ls -l testfile.txt.gz
gunzip testfile.txt.gz
ls -l testfile.txt`.tar.gz`: Archiving & Gzipping
The most common way to archive and compress files in Linux is to combine tar with gzip. This creates a "tarball" that is also compressed, usually with the .tar.gz or .tgz extension.
tar has built-in support for compression. You just add the -z option for gzip to your tar command.
Working with `.tar.gz` Files
To create a .tar.gz file, use tar -czvf. The z option tells tar to use gzip compression. To extract, use tar -xzvf.
mkdir web_assets
echo "index.html content" > web_assets/index.html
echo "style.css content" > web_assets/style.css
tar -czvf website.tar.gz web_assets
ls -l website.tar.gz
rm -rf web_assets # Clean up
tar -xzvf website.tar.gz
ls -l web_assets`bzip2` for Max Compression
bzip2 is another compression utility, similar to gzip, but it typically achieves a higher compression ratio. This means smaller file sizes, but it's often slower during compression and decompression.
Files compressed with bzip2 usually have a .bz2 extension. To decompress, use bunzip2 or bzip2 -d.
`.tar.bz2`: Archiving & Bzipping
When maximum compression is desired, you can combine tar with bzip2. This creates a .tar.bz2 or .tbz2 file. The tar option for bzip2 is -j.
To create, use tar -cjvf. To extract, use tar -xjvf.
mkdir large_logs
for i in $(seq 1 5); do echo "Log entry $i: Something important happened." >> large_logs/app.log; done
tar -cjvf logs.tar.bz2 large_logs
ls -l logs.tar.bz2
rm -rf large_logs # Clean up
tar -xjvf logs.tar.bz2
ls -l large_logsArchiving & Compression Quiz
Which command would you use to create an archive named backup.tar.gz containing the directory mydata, showing verbose output during the process?
Archiving & Compression Recap
Great job! You've learned the essentials of archiving and compression in Linux:
tar: For bundling files into a single archive (.tar).gzip: For fast, efficient compression (.gz).bzip2: For stronger compression, though slower (.bz2).- Combining
tarwith-zforgzip(.tar.gz) or-jforbzip2(.tar.bz2) for common compressed archives.
These tools are fundamental for managing files efficiently and securely!
Questions Fréquemment Posées
La leçon « Archivage et compression : `tar`, `gzip`, `bzip2` » est-elle gratuite ?
Oui — le texte complet de « Archivage et compression : `tar`, `gzip`, `bzip2` » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Command Line Mastery, passe à CoddyKit PRO. Le cours Linux Command Line Mastery comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Archivage et compression : `tar`, `gzip`, `bzip2` » ?
Utilisez des commandes pour créer des archives, compresser des fichiers et en extraire le contenu. Tu pratiques Linux Command Line Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Linux Command Line Mastery ?
Aucune expérience préalable n'est requise. Linux Command Line Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Archivage et compression : `tar`, `gzip`, `bzip2` » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Linux Command Line Mastery ?
Oui. Chaque leçon Linux Command Line Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Archivage et compression : `tar`, `gzip`, `bzip2`
- Gestion des paquets (Debian/Ubuntu) : `apt`, `dpkg`
- Gestion des paquets (CentOS/Fedora) : `yum`, `dnf`, `rpm`
- Compiler depuis les sources : configure, make et make install