J'ai trouvé ce lien sur la façon d' ouvrir tgz en une seule étape .
gzip -dc target.tar.gz | tar xf -
Que signifie le «-»?
J'ai trouvé ce lien sur la façon d' ouvrir tgz en une seule étape .
gzip -dc target.tar.gz | tar xf -
Que signifie le «-»?
Réponses:
C'est une convention courante à utiliser -dans un argument de nom de fichier pour signifier stdinou stdout; tarsuit la même convention. Depuis la page de manuel:
-f, --file [HOSTNAME:]F
use archive file or device F (default "-", meaning stdin/stdout)
-signifie. Stdin / stdout est de loin le sens le plus courant, mais il en existe d'autres. Par exemple, pour certaines versions, envcela signifie "commencer avec un environnement vide".
Une autre convention consiste à utiliser «-» pour indiquer la fin des drapeaux et le début des noms de fichiers. Ce comportement est intégré à getopt (3) sur RedHat 4, au moins. Je ne trouve pas de page de manuel Red Hat qui utilise «-» pour indiquer la fin des arguments, ils semblent tous utiliser «-» pour le faire. La page de manuel awk a '-' dans ce contexte, donc peut-être que seules les anciennes commandes "héritage" Unix ou Solaris utilisent '-' comme argument - séparateur de noms de fichiers.
--signale la fin des options, donc tout ce qui vient après est un opérande. -n'est pas une option, donc elle et tout ce qui vient après est un opérande. Il s'agit d' un comportement standard . Pour beaucoup de commandes, telles que tar, l'opérande des -moyens d' entrée ou la sortie standard . Sur de nombreux obus, set - -aest équivalent à set -- -a, et sur certains anciens obus Bourne set - -aétait la seule forme acceptée, mais c'est une exception avec le setintégré.
--séparer les options des arguments.
tar xfz target.tar.gzet pour bziptar xfj target.tar.bz2