Maison  >  Article  >  php教程  >  Comment implémenter le packaging tar des fichiers de chemin spécifiés sous Linux

Comment implémenter le packaging tar des fichiers de chemin spécifiés sous Linux

高洛峰
高洛峰original
2017-01-07 13:38:552231parcourir

Compression :

tar czvf /data/backup/test.tar.gz /data/a/b/directory

Décompression :

cd /data/test
tar xzvf /data/backup/test.tar.gz

Le problème est que le fichier décompressé est dans /data/test/data/a/b/directory

Je veux pour l'extraire dans le chemin du répertoire courant.


Écrire comme ceci peut résoudre le problème

tar czvf /data/backup/test.tar.gz /data/a/b/directory

Changé en

tar czvf /data/backup/test.tar.gz -C /data/a/b directory

-C consiste à changer temporairement de répertoire de travail, -P est le chemin absolu, utilisé uniquement ici Accédez simplement au paramètre -C


Par exemple,

pour empaqueter le dossier /home/YingMu/ et exclure le dossier /home/YingMu/jb51.net

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net

Pour exclure plusieurs dossiers, ajoutez plusieurs répertoires dans la commande --exclude nom du répertoire, par exemple :

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net --exclude /home/YingMu/QQ

Pour exclure des fichiers, changez le nom du répertoire ci-dessus. Il peut s'agir d'une règle d'exclusion similaire à *.gif.


Exemple 3 : Extraire le fichier /tmp/etc.tar.gz sous /usr/local/src

[root@linux ~]# cd /usr/local /src

[root@linux src]# tar -xzvf /tmp/etc.tar.gz

# Dans le cas par défaut, on peut (www.jb51.net) Décompresser les archives n'importe où ! Pour cet exemple,

# Je change d'abord le répertoire de travail en /usr/local/src et décompresse /tmp/etc.tar.gz,

# puis décompresse Le répertoire sera dans / usr/local/src/etc! De plus, si vous saisissez /usr/local/src/etc

#, vous constaterez que les attributs du fichier dans ce répertoire peuvent être différents de /etc/ !

Exemple 4 : Sous /tmp, je veux juste déverrouiller etc/passwd dans /tmp/etc.tar.gz

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd
# Je peux vérifier le fichier tar via tar -tzvf Nom du fichier, si vous n'en avez besoin qu'un seul fichier,

# peut être téléchargé via cette méthode ! Avis! Le répertoire racine / dans etc.tar.gz a été supprimé !


Exemple 5 : Sauvegardez tous les fichiers dans /etc/ et enregistrez leurs autorisations !

[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# Cet attribut -p est très important, surtout lorsque vous souhaitez conserver les attributs du fichier d'origine

commandes principales tar

-c créer un package
-x décompresser
-t lister le contenu du package
-r ajouter des fichiers au package spécifié
-u Mettre à jour les fichiers dans le package

Ces cinq commandes sont indépendantes. L'une d'elles est utilisée pour la compression et la décompression. Elle peut être utilisée conjointement avec d'autres commandes mais une seule d'entre elles peut être utilisée. Les paramètres suivants sont facultatifs lors de la compression ou de la décompression des archives selon les besoins.

Commande facultative

-j Utilisez bzip2 pour compresser ou décompresser lors de la création ou du décompression du package
-z Utilisez gzip pour compresser ou décompresser lors de la création ou du décompression du package
- Z Utilisez compress lors de la création ou du déballage d'un package pour compresser ou décompresser
-f suivi du nom de fichier du package spécifié
-v pour afficher le processus d'emballage/déballage
-C spécifiez le chemin après le déballage

La méthode ci-dessus pour implémenter l'empaquetage tar des fichiers de chemin spécifiés sous Linux est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence, et j'espère également que tout le monde soutiendra le site Web PHP chinois.

Pour plus d'articles sur la façon d'implémenter le packaging tar des fichiers de chemin spécifiés sous Linux, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn