Dirk: system("zip"); Frage

Hallo,

kann man mit der Funktion zip (system("zip");) auch eine zip-datei extrahieren?
Bisher kann ich nur zip-dateien erstellen.

In dem Hilfe-datei habe ich folgendes gefunden (jedoch ist mein Englisch nicht so gut.):

-f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -y   store symbolic links as the link instead of the referenced file
  -R   PKZIP recursion (see manual)
  -h   show this help               -n   don't compress these suffixes

Welchen Parameter muss ich verwenden?

Gruß
Dirk

  1. Hallo,

    kann man mit der Funktion zip (system("zip");) auch eine zip-datei extrahieren?
    Bisher kann ich nur zip-dateien erstellen.

    versuch mal unzip!

    Gruß
    Reiner

    1. Hi,

      versuch mal unzip!

      Perfekt :)

      Noch ne Frage: Kann man mittels der zip-Funktion das Archiv mit einem Passwort schützen?

      Gruß
      Dirk

      1. Noch ne Frage: Kann man mittels der zip-Funktion das Archiv mit einem Passwort schützen?

        ja, mit dem Schalter "-e".

        Gruß
        Reiner

        1. Hallo,

          ja, mit dem Schalter "-e".

          laut Handbuch gibt es -e garn nicht, bist du sicher, dass es so gehen soll:

          system("zip -e 00000 datei.zip datei.txt");

          Gruß
          Dirk

          1. Hi!

            ja, mit dem Schalter "-e".
            laut Handbuch gibt es -e garn nicht, bist du sicher, dass es so gehen soll:
            system("zip -e 00000 datei.zip datei.txt");

            Warum schaust du dann nicht ins Handbuch, wenn es dir doch zur Verfügung steht..?
            Da sollte doch drinnen stehen, welcher Parameter für das Paßwort zuständig ist...

            Wir können hier nichts mehr tun als zu raten, weil du uns nicht verraten hast, mit was für einem Zip-Programm du überhaupt arbeitest...

            Also bei WinZip wäre es der Parameter -s, womit du ein Paßwort angeben kannst.
            Bei meinem "GNU Zip" gibt es keine Möglichkeit, ein Paßwort anzugeben. Dafür nutze ich dann aber auch sowieso lieber andere Tools (und eine Pipe).

            Neben mir hab ich eine Unixkiste stehen auf der Info-Zip installiert ist.
            Ein schnelles "man zip" sagt mir:

            -e     Encrypt the contents of the  zip  archive  using  a
                   password  which  is  entered  on  the  terminal  in
                   response to a prompt (this will not be  echoed;  if
                   standard  error is not a tty, zip will exit with an
                   error).  The password prompt is  repeated  to  save
                   the user from typing errors.

            Aber dabei wird nur eine schwache Verschlüsselung eingesetzt.
            Es wäre in jedem Fall sinnvoller, den Krams an AES oder GPG zu pipen.

            Schöner Gruß,
            rob

            1. Bei meinem "GNU Zip" gibt es keine Möglichkeit, ein Paßwort anzugeben. Dafür nutze ich dann aber auch sowieso lieber andere Tools (und eine Pipe).

              Nicht?
              Was sagt bei Dir "man zip" ?

              Gruß
              Reiner

              1. Hi!

                Bei meinem "GNU Zip" gibt es keine Möglichkeit, ein Paßwort anzugeben.
                Nicht?

                Nein.

                Was sagt bei Dir "man zip" ?

                "man zip" ruft bei mir die Manpage von Info-Zip auf.

                Und man gzip sagt nichts über Verschlüsselung.

                In der FAQ von GNU Zip steht:

                Does gzip support encryption?
                No. Simple encryption algorithms such as that of PKZIP can be broken.
                And adding strong encryption such as that of PGP to gzip would not make much sense because that would
                duplicate the functionality of those encryption programs.
                PGP already incorporates the gzip compression code, so use PGP if you need compression plus strong encryption.

                If you are satisfied with weak encryption, you can use zip.

                Wenn ich meine GZIP-Archive verschlüsseln möchte, dann pipe ich das normalerweise an GPG.

                Schöner Gruß,
                rob

                1. Wenn ich meine GZIP-Archive verschlüsseln möchte, dann pipe ich das normalerweise an GPG.

                  Mein Fehler, gzip.
                  Ja, normal nimmt man entweder gzip oder bzip2, je nachdem, ob man viel Platz oder eine schnelle Maschine hat.

                  Aber die Frage war doch nach zip.
                  Und (gibt es übrigens auch für Linux) hat eben den Schalter, deswegen "man zip", nicht "man gzip".

                  Gruß
                  Reiner