Antes de descompactar, você pode usar o unzip com a opção -l primeiro, para verificar se todos os arquivos zipados estão em uma pasta comum no arquivo.
Eu regularmente sou enganado pelo arquivo zip (bibliotecas, programas, ...).
Às vezes, sou cauteloso e faço:
$ mkdir content && cd content
$ unzip ../library.zip
Archive: library.zip
creating: library/
inflating: library/foo.c
...
$ # Grumble...
$ mv library/* .
$ rmdir library
Às vezes fico com preguiça e simplesmente faço ...
$ cd
$ unzip ../library.zip
Archive: library.zip
creating: config/
inflating: config/...
creating: lib/
creating: bin/
creating: ...
...
$ # Grumble...
$ mkdir library
$ mv config library
$ mv lib library
$ mv bin library
$ # ...
Existe uma maneira universal de descompactar um arquivo zip sem cair em nenhum desses problemas?
Antes de descompactar, você pode usar o unzip com a opção -l primeiro, para verificar se todos os arquivos zipados estão em uma pasta comum no arquivo.