7-zip is an open source cross platform compression and archiving utility available for Windows, Linux, and there are also Android implementations. It can be set to use different compression algorithms creating e.g. zip or 7z files. It will recursively zip whole subdirectory trees and thus create single file archives.
7-zip is included in the repositories of most Linux distributions. A windows version and more information can be found here: