Ubuntu 22.04 Compression

From CompleteNoobs
Revision as of 19:42, 11 May 2023 by Noob (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Please Select a Licence from the LICENCE_HEADERS page
And place at top of your page
If no Licence is Selected/Appended, Default will be CC0

Default Licence IF there is no Licence placed below this notice! When you edit this page, you agree to release your contribution under the CC0 Licence

LICENCE: More information about the cc0 licence can be found here:
https://creativecommons.org/share-your-work/public-domain/cc0

The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.

You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Licence:

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:

   the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
   moral rights retained by the original author(s) and/or performer(s);
   publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
   rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
   rights protecting the extraction, dissemination, use and reuse of data in a Work;
   database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
   other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.

4. Limitations and Disclaimers.

   No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
   Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
   Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
   Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.

Tar

Tar is not a compression tool, but rather a file archiving utility commonly used on Linux systems. The tar command is used to create an archive of one or more files and directories, which can then be compressed using a compression tool like gzip, bzip2, xz, or zstd to reduce its size for storage or transfer purposes. Tar can also be used to extract files from an archive, or to list the contents of an archive without extracting it.

There are several types of compression available on Linux, including:

  • gzip: This is a widely used compression tool that uses the Lempel-Ziv algorithm. It is commonly used to compress individual files and is often used in combination with the tar command to create compressed archives.
  • bzip2: This is another popular compression tool that uses the Burrows-Wheeler algorithm. It is often used for compressing larger files, as it typically achieves higher compression ratios than gzip.
  • xz: This is a newer compression tool that uses the LZMA algorithm. It is often used to compress large files, as it can achieve very high compression ratios.
  • lz4: This is a high-speed compression tool that is designed for use in real-time systems. It is often used for compressing data in network communications and storage systems.
  • zstd: This is a relatively new compression tool that uses the Zstandard compression algorithm. It is designed to offer high compression ratios and fast compression and decompression speeds.

In addition to these tools, there are also several other compression tools available on Linux, including compress, pack, and rar, among others.


Gzip tar compression

The tar command is a utility used on Linux systems to create and manage archives of files and directories. The -zcvf options are used to create a compressed archive of one or more files or directories using gzip compression.

Syntax
tar -zcvf archive_name.tar.gz file_or_directory

tar -zcvf /path/store/archive.tar.gz /home/$USER/Documents/testDIR

Options

The -z option is used to compress the archive using gzip. Without this option, the archive will not be compressed.

The -c option is used to create a new archive. Without this option, the command will attempt to extract files from an existing archive.

The -v option is used to display the progress of the archive creation. Without this option, the command will run silently.

The -f option is used to specify the filename of the archive.

Compressing a single file

To create a compressed archive of a single file, you can use the following command:

tar -zcvf file_name.tar.gz file_name

This will create a new compressed archive called file_name.tar.gz in the current directory, and include the contents of file_name in the archive.

Compressing a directory

To create a compressed archive of a directory and its contents, you can use the following command:

tar -zcvf directory_name.tar.gz directory_name

This will create a new compressed archive called directory_name.tar.gz in the current directory, and include the contents of directory_name and its subdirectories in the archive.

Compressing multiple files and directories

To create a compressed archive of multiple files and directories, you can list them all as arguments to the tar command:

tar -zcvf archive_name.tar.gz file_or_directory_1 file_or_directory_2 ...

This will create a new compressed archive called archive_name.tar.gz in the current directory, and include the contents of all specified files and directories in the archive.

Compressing and excluding files or directories

You can use the --exclude option to exclude specific files or directories from the archive. For example, to exclude a directory named exclude_dir from an archive, you can use the following command:

tar -zcvf archive_name.tar.gz --exclude=exclude_dir file_or_directory

This will create a new compressed archive called archive_name.tar.gz in the current directory, and include the contents of file_or_directory in the archive while excluding the exclude_dir directory.

To exclude multiple files or directories using the --exclude option with the tar command, you can separate them with a space character. For example, to exclude two directories named exclude_dir1 and exclude_dir2 from an archive, you can use the following command:

tar -zcvf archive_name.tar.gz --exclude=exclude_dir1 --exclude=exclude_dir2 file_or_directory

This will create a new compressed archive called archive_name.tar.gz in the current directory, and include the contents of file_or_directory in the archive while excluding the exclude_dir1 and exclude_dir2 directories.

Preserve file permissions

To preserve file permissions when creating a compressed archive with tar, you can use the -p option. The -p option stands for "preserve permissions", and it tells tar to include the file permissions (ownership, group, and mode) in the archive.

So, to create a compressed archive of a file or directory and preserve its permissions, you can use the following command:

tar -zcvpf archive_name.tar.gz file_or_directory

Note that the -p option should be used with caution, as it can potentially create security vulnerabilities if you are extracting the archive as a privileged user. It's generally recommended to use the -p option only when necessary and with a clear understanding of its implications.

Also note that if you are extracting the archive on a different system or with a different user account, the file permissions may not be preserved exactly as they were in the original system, depending on the destination file system and user account settings.

Gzip Tar Extraction

The basic syntax for extracting a tar archive compressed with gzip is as follows:

tar -zxvf archive_name.tar.gz

Options:

The -z option is used to decompress the archive using gzip.

The -x option is used to extract the contents of the archive.

The -v option is used to display the progress of the extraction.

The -f option is used to specify the filename of the archive.

View the contents of a gzip archive without extracting it using zcat

The zcat command is similar to the cat command, but it is used specifically for viewing the contents of gzip compressed files.

Here's an example command to view the contents of a gzip archive without extracting it:

zcat archive_name.tar.gz | less

This command will display the contents of the gzip archive in the less pager, allowing you to scroll through the contents of the archive without extracting it.

If you want to search for a specific file or pattern within the archive, you can pipe the output of zcat to the grep command. Here's an example command to search for a file named file.txt within a gzip archive:

zcat archive_name.tar.gz | grep file.txt

This command will display any lines within the gzip archive that contain the string "file.txt".

Note that the zcat command is only used for viewing the contents of gzip compressed files. If you are working with a tar archive that has been compressed with gzip, you will need to use the tar command in conjunction with zcat to view the contents of the archive. Here's an example command to view the contents of a tar archive compressed with gzip without extracting it:

zcat archive_name.tar.gz | tar tvf -

This command will display a listing of the files and directories within the tar archive, allowing you to see its contents without extracting it.


Extracting a single file

To extract a single file from a compressed tar archive, you can use the following command:

tar -zxvf archive_name.tar.gz path/to/file

This will extract the specified file from the compressed archive.

Extracting a directory

To extract a directory and its contents from a compressed tar archive, you can use the following command:

tar -zxvf archive_name.tar.gz path/to/directory

This will extract the specified directory and its contents from the compressed archive.

Extracting multiple files and directories

To extract multiple files and directories from a compressed tar archive, you can list them all as arguments to the tar command:

tar -zxvf archive_name.tar.gz file_or_directory_1 file_or_directory_2 ...

This will extract the specified files and directories from the compressed archive.

Extracting to a specific directory

To extract the contents of a compressed tar archive to a specific directory, you can use the -C option followed by the directory path. For example:

tar -zxvf archive_name.tar.gz -C /path/to/directory

This will extract the contents of the compressed archive to the specified directory.