# Archiver et compresser #### tar Créer une archive tar: **tar -cvf** ```bash $ tar -cvf archive.tar .profile .bashrc test-dossier/ ``` Afficher le contenu de l'archive sans l'extraire: **tar -tf** ```bash $ tar -tf archive.tar .profile .bashrc test-dossier/ test-dossier/test-copy-scp.txt ``` Ajouter un fichier à l'archive: **tar -rvf** ```bash $ tar -rvf archive.tar .bash_history $ tar -tf archive.tar .profile .bashrc test-dossier/ test-dossier/test-copy-scp.txt .bash_history ``` Extraire les fichiers de l'archive: **tar -xvf** ```bash $ tar -xvf archive.tar ``` #### tgz Extraire les fichiers de l'archive: **tar zxvf** ```bash $ tar zxvf archive.tgz ``` #### gzip Compresser avec gzip: ```bash $ gzip archive.tar $ ls archive.tar.gz ``` Decompresser avec gunzip: ```bash $ gunzip archive.tar.gz $ ls archive.tar ``` Voir le contenu de l'archive avec zcat: #### bzip2 Compresser avec bzip2: ```bash $ bzip2 archive.tar $ ls archive.tar.bz2 ``` Decompresser avec bunzip2: ```bash $ bunzip2 archive.tar.bz2 $ ls archive.tar ``` #### zip Compresser avec zip: ```bash $ zip -r scripts.zip scripts/ adding: scripts/ (stored 0%) adding: scripts/@eaDir/ (stored 0%) adding: scripts/@eaDir/ffmpeg@SynoResource (deflated 84%) adding: scripts/@eaDir/ffmpeg@SynoEAStream (deflated 35%) adding: scripts/ffmpeg (deflated 64%) adding: scripts/ffmpeg-convertMP4v3.sh (deflated 50%) adding: scripts/running3.sh (deflated 48%) adding: scripts/ffmpeg-convertMP4v4.sh (deflated 49%) adding: scripts/ffmpeg-convertMP4v5.sh (deflated 56%) ``` Exclure les fichiers ressources invisibles (“*MACOSX” “.*Filename” “.ds store”): ```bash $ zip -r -X scripts.zip scripts/ ``` Décompresser avec zip: ```bash $ unzip scripts.zip Archive: scripts.zip creating: scripts/ creating: scripts/@eaDir/ inflating: scripts/@eaDir/ffmpeg@SynoResource inflating: scripts/@eaDir/ffmpeg@SynoEAStream inflating: scripts/ffmpeg inflating: scripts/ffmpeg-convertMP4v3.sh inflating: scripts/running3.sh inflating: scripts/ffmpeg-convertMP4v4.sh inflating: scripts/ffmpeg-convertMP4v5.sh ``` Voir le contenu d'une archive: ```bash $ unzip -l vegas.zip Archive: vegas.zip Length Date Time Name --------- ---------- ----- ---- 0 10-30-2018 13:43 overlays/ 15520 10-30-2018 13:43 vegas.css 23957 10-30-2018 13:43 vegas.js 9459 10-30-2018 13:43 vegas.min.css 16251 10-30-2018 13:43 vegas.min.css.map 10383 10-30-2018 13:43 vegas.min.js 36089 10-30-2018 13:43 vegas.min.js.map 100 10-30-2018 13:43 overlays/01.png 100 10-30-2018 13:43 overlays/02.png 98 10-30-2018 13:43 overlays/03.png 100 10-30-2018 13:43 overlays/04.png 102 10-30-2018 13:43 overlays/05.png 100 10-30-2018 13:43 overlays/06.png 104 10-30-2018 13:43 overlays/07.png 106 10-30-2018 13:43 overlays/08.png 118 10-30-2018 13:43 overlays/09.png --------- ------- 112587 16 files ``` Extraire dans un dossier différent: ```bash $ unzip -l vegas.zip -d $HOME/Desktop ``` Dézipper une archive protégée: ```bash $ unzip -P password vegas.zip ``` #### dmg (macOS) Créer: ```bash $ hdiutil create -format UDZO -srcfolder hubiC/ hubic.dmg ......... created: /Users/bruno/hubic.dmg ``` Différents formats d'image: - UDZO – Compressed image (default) - UDRO – Read only image - UDBZ – Better compressed image - UDRW – Read/Write image - UDTO – DVD disk image Monter: ```bash $ hdiutil attach hubic.dmg Calcul de la somme de contrôle de Protective Master Boot Record (MBR : 0)… Protective Master Boot Record (MBR : : vérifiée CRC32 $DC586CEA Calcul de la somme de contrôle de GPT Header (Primary GPT Header : 1)… GPT Header (Primary GPT Header : 1) : vérifiée CRC32 $4EE88DC7 Calcul de la somme de contrôle de GPT Partition Data (Primary GPT Table : 2)… GPT Partition Data (Primary GPT Tabl : vérifiée CRC32 $42D33ACB Calcul de la somme de contrôle de (Apple_Free : 3)… (Apple_Free : 3) : vérifiée CRC32 $00000000 Calcul de la somme de contrôle de disk image (Apple_HFS : 4)… ......................................................................................................................... disk image (Apple_HFS : 4) : vérifiée CRC32 $D4406A43 Calcul de la somme de contrôle de (Apple_Free : 5)… (Apple_Free : 5) : vérifiée CRC32 $00000000 Calcul de la somme de contrôle de GPT Partition Data (Backup GPT Table : 6)… GPT Partition Data (Backup GPT Table : vérifiée CRC32 $42D33ACB Calcul de la somme de contrôle de GPT Header (Backup GPT Header : 7)… GPT Header (Backup GPT Header : 7) : vérifiée CRC32 $16D559B6 vérifiée CRC32 $BE421D06 /dev/disk3 GUID_partition_scheme /dev/disk3s1 Apple_HFS /Volumes/hubiC ``` Voir: ```bash $ ls -lah /Volumes/hubiC/ total 8 drwxr-xr-x 11 bruno staff 442B 12 aoû 12:05 . drwxr-xr-x@ 6 root wheel 204B 12 aoû 12:07 .. drwxr-xr-x 2 bruno staff 68B 6 aoû 17:39 Documents drwxr-xr-x 3 bruno staff 102B 6 aoû 17:39 HubiC -rw-r--r-- 1 bruno staff 669B 6 aoû 17:39 HubiC readme.txt drwxr-xr-x 2 bruno staff 68B 6 aoû 17:39 Images drwxr-xr-x 2 bruno staff 68B 6 aoû 17:39 Videos drwxr-xr-x 9 bruno staff 306B 6 aoû 17:39 scripts plex 0.9xx drwxr-xr-x 9 bruno staff 306B 6 aoû 17:39 scripts plex 1.0xx ``` Ejecter: ```bash $ hdiutil eject /Volumes/hubiC/ "disk3" unmounted. "disk3" ejected. ``` #### Archiver et compresser en même temps (gzip) Archiver et compresser en gzip: **tar -zcvf** ```bash $ tar -zcvf archive.tar.gz .bashrc .profile test-dossier/ .bashrc .profile test-dossier/ test-dossier/test-copy-scp.txt $ ls archive.tar.gz ``` Voir le contenu de l'archive gzip: **tar -ztf** ```bash $ tar -ztf archive.tar.bz2 ``` Décompresser: **tar -xzvf** ```bash $ tar -xzvf archive.tar.gz .bashrc .profile test-dossier/ test-dossier/test-copy-scp.txt $ ls -la drwxr-xr-x 3 root root 4096 Aug 6 07:45 . drwx—— 8 root root 4096 Aug 6 07:18 .. -rw-r–r– 1 root root 953 Aug 5 11:04 .bashrc -rw-r–r– 1 root root 497 Aug 5 10:15 .profile -rw-r–r– 1 root root 925 Aug 6 07:42 archive.tar.gz drwxr-xr-x 2 root root 4096 Aug 6 07:04 test-dossier # décompresser dans un dossier cible $ tar -xzvf archive.tar.gz -C /tmp/ ``` #### Archiver et compresser en même temps (bz2) Décompresser: **tar -xf (+ v pour mode verbose)** ```bash $ tar -xf nextcloud-11.0.2.tar.bz2 $ ls -la total 137156 d---------+ 1 root root 308 Apr 15 16:58 . d---------+ 1 root root 306 Apr 15 16:57 .. ----------+ 1 bruno users 3045723 Oct 20 07:07 gitlist-0.5.0.tar.gz drwxr-xr-x 1 nobody 65534 414 Feb 26 20:44 nextcloud ----------+ 1 bruno users 38598274 Apr 15 09:48 nextcloud-11.0.2.tar.bz2 ``` #### Extraire un seul fichier d'une archive tar.gz Extrait le fichier README de l'archive automysqlbackup-v3.0_rc6.tar.gz ```bash $ tar --extract --file=automysqlbackup-v3.0_rc6.tar.gz README ``` Extrait le fichier book.enchant.html du dossier php-chunked-xhtml de l'archive php*manual*fr.tar.gz ```bash $ tar --extract --file=php_manual_fr.tar.gz php-chunked-xhtml/book.enchant.html ``` Extraire plusieurs fichiers d'archive: ```bash $ tar xvf php_manual_fr.tar.gz php-chunked-xhtml/book.enchant.html php-chunked-xhtml/function.mysql-connect.html ``` #### Extraire un seul fichier d'une archive zip Connaitre la liste des fichiers de l'archive: ```bash $ unzip -l zenphoto-zenphoto-1.4.14.zip ``` Extraire des fichiers de l'archive: ```bash $ unzip zenphoto-zenphoto-1.4.14.zip zenphoto-zenphoto-1.4.14/zp-core/zp-extensions/zenpage/zenpage.css zenphoto-zenphoto-1.4.14/zp-core/zp-extensions/tinymce4/skins/lightgray/img/anchor.gif Archive: zenphoto-zenphoto-1.4.14.zip 4c21854e7a7950ec8d9644a959da019d9781d36c inflating: zenphoto-zenphoto-1.4.14/zp-core/zp-extensions/tinymce4/skins/lightgray/img/anchor.gif inflating: zenphoto-zenphoto-1.4.14/zp-core/zp-extensions/zenpage/zenpage.css ``` Dézipper tous les fichiers d'un dossier: ```bash $ unzip '.zip' ```