Décompresse. Travaille. Répète.
Un fichier .zip est une archive compressée — un seul fichier qui contient un ou plusieurs fichiers/dossiers regroupés et compressés. À Holberton, les requirements des projets sont souvent fournis en .zip à décompresser dans ton terminal.
Un fichier ZIP c'est comme un coffre de butin dans un RPG. Tout est rangé à l'intérieur, compressé pour prendre moins de place. unzip, c'est l'action d'ouvrir le coffre et de poser chaque item dans ton inventaire (ton dossier de travail). zip, c'est remballer pour envoyer à quelqu'un.
# Vérifier si unzip est déjà installé
which unzip
# → /usr/bin/unzip (installé ✅)
# → rien (pas installé ❌)
# Installer sur Ubuntu / Debian (sandbox Holberton)
sudo apt-get install zip unzip
# Vérifier la version
unzip -v
zip --version
unzip est généralement déjà installé. Si tu reçois command not found, lance le apt-get install ci-dessus.# Télécharger avec wget
wget https://exemple.com/project.zip
# Ou avec curl
curl -O https://exemple.com/project.zip
# Vérifier qu'il est bien là
ls -lh *.zip
# Lister le contenu du zip (aperçu)
unzip -l project.zip
# Exemple de sortie :
Length Date Time Name
--------- ---------- ----- ----
512 2024-01-15 10:30 project/main.c
128 2024-01-15 10:30 project/main.h
64 2024-01-15 10:30 project/Makefile
# Décompresser dans le dossier courant
unzip project.zip
# Décompresser dans un dossier spécifique (recommandé ✅)
unzip project.zip -d mon_projet/
# Décompresser sans demander de confirmation (écraser)
unzip -o project.zip
# Voir ce qui a été extrait
ls -la
# Aller dans le dossier du projet
cd mon_projet/
# Lister le contenu
ls
# Et c'est parti ! Compiler, coder, travailler...
gcc -Wall -Werror -Wextra -pedantic main.c -o prog
# Décompresser un zip dans le dossier courant
unzip fichier.zip
# Décompresser dans un dossier précis (le crée si besoin)
unzip fichier.zip -d /chemin/vers/dossier/
unzip fichier.zip -d ~/holberton/projet_1/
# Lister le contenu sans extraire
unzip -l fichier.zip
# Mode silencieux (pas d'affichage des fichiers extraits)
unzip -q fichier.zip
# Écraser sans confirmation si fichiers existent déjà
unzip -o fichier.zip
# Ne PAS écraser les fichiers existants
unzip -n fichier.zip
# Extraire un seul fichier du zip
unzip fichier.zip main.c
# Extraire avec mot de passe
unzip -P motdepasse fichier.zip
# Tester l'intégrité du zip (sans extraire)
unzip -t fichier.zip
# Créer un zip avec un fichier
zip archive.zip fichier.c
# Créer un zip avec plusieurs fichiers
zip archive.zip main.c main.h Makefile
# Compresser un dossier entier (-r = récursif)
zip -r archive.zip mon_dossier/
# Compresser le dossier courant
zip -r archive.zip .
# Compresser avec niveau de compression max (0=aucune, 9=max)
zip -9 -r archive.zip mon_dossier/
# Ajouter un fichier à un zip existant
zip archive.zip nouveau_fichier.c
# Supprimer un fichier d'un zip
zip -d archive.zip fichier_a_supprimer.c
# Voir le contenu d'un zip
zip -sf archive.zip
À Holberton et sur Linux en général, tu rencontreras souvent des .tar.gz, .tgz ou .tar.xz. Ce n'est pas du zip mais la logique est la même.
# ── EXTRAIRE ──────────────────────────────────────
# Extraire un .tar.gz dans le dossier courant
tar -xzf archive.tar.gz
# Extraire dans un dossier précis
tar -xzf archive.tar.gz -C mon_dossier/
# Extraire un .tar.xz (compression xz)
tar -xJf archive.tar.xz
# Extraire un .tar (sans compression)
tar -xf archive.tar
# Voir le contenu sans extraire
tar -tzf archive.tar.gz
# ── CRÉER ─────────────────────────────────────────
# Créer un .tar.gz d'un dossier
tar -czf archive.tar.gz mon_dossier/
| Flag tar | Signification |
|---|---|
| -x | eXtraire |
| -c | Créer une archive |
| -z | compression gzip (.gz) |
| -J | compression xz (.xz) |
| -f | nom du Fichier (toujours en dernier) |
| -t | lister (lisTer le contenu) |
| -v | mode Verbeux (affiche les fichiers) |
| -C | destination (Change de dossier) |
tar -xzf : eXtraire Zip Fichier. Pour créer : Créer Zip Fichier = tar -czf.| Extension | Commande pour extraire | Créer |
|---|---|---|
| .zip | unzip fichier.zip |
zip -r archive.zip dossier/ |
| .tar.gz / .tgz | tar -xzf fichier.tar.gz |
tar -czf archive.tar.gz dossier/ |
| .tar.xz | tar -xJf fichier.tar.xz |
tar -cJf archive.tar.xz dossier/ |
| .tar.bz2 | tar -xjf fichier.tar.bz2 |
tar -cjf archive.tar.bz2 dossier/ |
| .tar | tar -xf fichier.tar |
tar -cf archive.tar dossier/ |
| .gz | gunzip fichier.gz |
gzip fichier |
| .7z | 7z x fichier.7z |
7z a archive.7z dossier/ |
file fichier.zip te dit exactement le type réel d'un fichier, même si l'extension est fausse.command not found: unzip
sudo apt-get install unzip
# Toujours utiliser -d pour choisir la destination
unzip project.zip -d ~/holberton/mon_projet/
# -n = Ne pas écraser les fichiers existants
unzip -n project.zip
# -o = Écraser sans demander (si tu veux tout remplacer)
unzip -o project.zip
# Lister d'abord sans extraire
unzip -l project.zip
# Puis extraire et voir en temps réel
unzip -v project.zip
End-of-central-directory signature not found
Le fichier est corrompu ou ce n'est pas un vrai zip. Vérifie avec file fichier.zip — c'est peut-être un .tar.gz renommé en .zip.
file fichier.zip # révèle le vrai type
# Donner les droits d'exécution aux scripts
chmod +x script.sh
# Ou tous les fichiers du dossier
chmod -R 755 mon_projet/
╔══════════════════════════════════════════════════════════════════╗
║ RECEVOIR UN ZIP DE REQUIREMENTS — WORKFLOW COMPLET ║
╚══════════════════════════════════════════════════════════════════╝
# 1. Regarder ce qu'il y a dans le zip (sans extraire)
unzip -l requirements.zip
# 2. Extraire proprement dans un dossier dédié
unzip requirements.zip -d mon_projet/
# 3. Aller dans le dossier
cd mon_projet/
# 4. Vérifier le contenu
ls -la
# 5. Et travailler !
╔══════════════════════════════════════════════════════════════════╗
║ COMMANDES ESSENTIELLES EN UN COUP D'ŒIL ║
╚══════════════════════════════════════════════════════════════════╝
unzip fichier.zip # extraire ici
unzip fichier.zip -d dossier/ # extraire là-bas ✅
unzip -l fichier.zip # voir le contenu
unzip -o fichier.zip # écraser sans demander
zip -r archive.zip dossier/ # compresser un dossier
tar -xzf archive.tar.gz # extraire un .tar.gz
tar -xzf archive.tar.gz -C dossier/ # extraire là-bas ✅
file fichier.zip # vrai type du fichier