Je suis connecté à Sun Solaris OS. Je veux créer et extraire un fichier tar compressé. J'ai essayé cette commande UNIX normale:
tar -cvzf file.tar.gz directory1
Il ne parvient pas à s'exécuter dans Sun OS avec l'erreur suivante
bash-3.2$ tar -cvzf file.tar.tz directory1
tar: z: unknown function modifier
Usage: tar {c|r|t|u|x}[BDeEFhilmnopPqTvw@[0-7]][bfk][X...] [blocksize] [tarfile] [size] [exclude-file...] {file | -I include-file | -C directory file}...
z
drapeau à GNU tar, nous avons perdu notre meilleur exemple pour enseigner aux gens comment penser logiquement et construire un pipeline ...Réponses:
Pour éviter la création d'un fichier intermédiaire temporaire, vous pouvez utiliser cette commande
la source
f -
nécessaire ou Solaristar
sort-il par défaut sur stdout?f
est omis,tar
utilisera le périphérique indiqué par laTAPE
variable d'environnement, s'il est défini; sinon, il utilisera les valeurs par défaut définies dans/etc/default/tar
." Donc, non, il ne semble pas que vous puissiez supposer en toute sécurité que cef -
n'est pas nécessaire.On dirait que Solaris
tar
ne sait pas comment compresser. Alors faites-le simplement manuellement:C'est tout ce que fait le
-z
changement de tar GNU, de toute façon. La commande ci-dessus va produirefile.tar.gz
.la source
file.tar
archive intermédiaire non compressée ), mais c'est inutilement lent et gaspilleur d'espace disque. Je ne peux penser à aucune situation où cela serait préférable à la réponse de Roméo Ninov .Vérifiez si vous avez
SUNWgtar
installé. Ceci est la version GNU detar
et fournit/usr/sfw/bin/gtar
ce qui permettra l'utilisation des options GNU pour tarer.la source
Veuillez essayer ci-dessous la commande
(pour compresser le fichier sur Solaris)
(dézipper)
la source