Need the reference for the switch flags used in zip

32 Views Asked by At

Please let me know where I can find where switches (flags) such as -r in the context below can be found.

I treat these things like a foreign language -- get the nit picky things defined so you can fully read through something like code as if it's an interesting novel.

#for Linux, one installs zip and unzip using the cli commands
#sudo (super user do) apt (advanced packing tool) as in
#sudo apt install zip unzip
#then this command will run in YAML
- name: Zip publish files
  run: (cd myapp && zip -r ../deployfile.zip .) <-- right here

As an example, was able to find the dotnet publish flags at https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-publish, which provided for me what -c and -o meant.

Is there a similar resource for the above line where -r is used?

dotnet publish [<PROJECT>|<SOLUTION>] [-a|--arch <ARCHITECTURE>]
    [-c|--configuration <CONFIGURATION>] [--disable-build-servers]
    [-f|--framework <FRAMEWORK>] [--force] [--interactive]
    [--manifest <PATH_TO_MANIFEST_FILE>] [--no-build] [--no-dependencies]
    [--no-restore] [--nologo] [-o|--output <OUTPUT_DIRECTORY>]
    [--os <OS>] [-r|--runtime <RUNTIME_IDENTIFIER>]
    [--sc|--self-contained [true|false]] [--no-self-contained]
    [-s|--source <SOURCE>] [--use-current-runtime, --ucr [true|false]]
    [-v|--verbosity <LEVEL>] [--version-suffix <VERSION_SUFFIX>]

Thanks! I'm new to the subject and hate to pass by anything not understood.

1

There are 1 best solutions below

1
paulsm4 On BEST ANSWER

Different Linux distros might have different versions of the "zip" app, which might have (slightly!) different command line options.

Nevertheless: MOST apps support -h or --help.

For example (WSL, Ubuntu 22.04):

zip --help
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS 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
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

You can also type man zip to read the "man page". *nix "manual pages" - if you're not already familiar with them - give more detailed information, and provide cross-references. They can be an invaluable resource!