Unzip files in particular directory or folder under Linux or UNIX

Posted on in Categories , , , , , , , , , , , last updated May 29, 2007

Q. I’m new to Linux command line. I’ve a command called unzip and a file called package.zip. I can extract file using command:
unzip package.zip

All files are extracted into current directory (it is making a directory called package). I want all files and subdirectory extracted into /opt directory. How do I extract files in /opt?

A. unzip command will list, test, or extract files from a ZIP archive, commonly found on MS-DOS systems. The default behavior (with no options) is to extract into the current
directory (and subdirectories below it) all files from the specified ZIP archive.

By default, all files and subdirectories are recreated in the current directory; the -d option allows extraction in an arbitrary directory (always assuming one has permission to write to the directory). This option need not appear at the end of the command line; it is also accepted before the zipfile specification (with the normal options), immediately after the zipfile specification, or between the file(s) and the -x option. The option and directory may be concatenated without any white space between them, but note that this may cause normal shell behavior to be suppressed.

unzip {.zip-file-name}-d {/path/to/extract}

For example extract package.zip into /opt, enter:
# unzip package.zip -d /opt
# cd /opt
# ls

If you want to rename package directory use mv command:
# mv package newname

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

15 comment

  1. Questions;

    1. How do you add a date to the unzipped folder name, or indeed its contents?
    2. How do you delete the oldest zip files found inside a folder?
    3. How do you move zip files to a backup folder once extraction has been complete?
    4. How do you verify that the contents of the zip file have not been corrupted?
    5. How do you run MySQL commands from a bash script, such as to load a csv file from the contents of a zip file into MySQL table?


  2. how to gzip all the files undre one dictory?
    For example:
    i have a dir /home/suren/dir
    in this i have files
    from /home/suren/ i want to execute a command to gzip all files under dir.

Leave a Comment