380 lines
8.5 KiB
Markdown
380 lines
8.5 KiB
Markdown
# 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:
|
||
|
||
```
|
||
zip <archive.zip> <file1> <file2>
|
||
zip <archive.zip> <file*>
|
||
```
|
||
|
||
```bash
|
||
$ zip p10k.zip p1Ok.zsh
|
||
adding: p1Ok.zsh (deflated 63%)
|
||
```
|
||
|
||
Options:
|
||
|
||
- -q : pas des sortie écran
|
||
- -Z bzip2 : méthode de compression bzip2 (deflate par défaut)
|
||
- -9 ... -0 : niveau de compression (maxi -> mini)
|
||
- -e : avec mot-de-passe
|
||
|
||
|
||
|
||
Compresser un dossier 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'
|
||
```
|
||
|