Начална » как да » Как да компресирате и извличате файлове, използвайки tar Command в Linux

    Как да компресирате и извличате файлове, използвайки tar Command в Linux

    Командата tar в Linux често се използва за създаване на .tar.gz или .tgz архивни файлове, наричани още "tarballs". Тази команда има голям брой опции, но просто трябва да запомните няколко букви, за да създадете бързо архив с tar , Командата tar може да извлече и получените архиви.

    Командата GNU tar, включена в Linux дистрибуциите, има интегрирана компресия. Той може да създаде .tar архив и след това да го компресира с gzip или bzip2 компресия в една команда. Ето защо полученият файл е .tar.gz файл или .tar.bz2 файл.

    Компресирайте цяла директория или един файл

    Използвайте следната команда, за да компресирате цяла директория или един файл в Linux. Също така ще компресира всяка друга директория в указаната от вас директория - с други думи, тя работи рекурсивно.

    tar -czvf име-на-архив.tar.gz / път / към / директория-или-файл

    Ето какво всъщност означават тези ключове:

    • -° С: ° Сreate архив.
    • -z: Компресирайте архива с gZIP.
    • -v: Показване на напредъка в терминала при създаването на архива, известен още като „Vрежим “erbose”. V тези команди винаги е незадължително, но е полезно.
    • -f: Позволява да зададете еиме на архива.

    Да кажем, че имате директория с име „stuff“ в текущата директория и искате да я запишете във файл с име архив.tar.gz. Ще изпълните следната команда:

    tar -czvf архив.tar.gz неща

    Или да кажем, че в текущата система има директория в / usr / local / something и искате да я компресирате във файл с име архив.tar.gz. Ще изпълните следната команда:

    tar -czvf archive.tar.gz / usr / local / нещо

    Компресирайте няколко директории или файлове едновременно

    Докато tar се използва често за компресиране на една директория, можете да го използвате и за компресиране на множество директории, множество отделни файлове или и двете. Просто предоставете списък с файлове или директории вместо един. Например, нека кажем, че искате да компресирате директорията / home / ubuntu / Downloads, директорията / usr / local / stuff и /home/ubuntu/Documents/notes.txt. Трябва само да изпълните следната команда:

    tar -czvf архив.tar.gz / home / ubuntu / Изтегляне / usr / local / stuff /home/ubuntu/Documents/notes.txt

    Просто избройте толкова директории или файлове, колкото искате да архивирате.

    Изключване на директории и файлове

    В някои случаи може да искате да компресирате цяла директория, но не и да включва някои файлове и директории. Можете да го направите, като добавите --изключвам превключвате за всяка директория или файл, които искате да изключите.

    Например, нека кажем, че искате да компресирате / home / ubuntu, но не искате да компресирате / home / ubuntu / Downloads и /home/ubuntu/.cache директории. Ето как да го направите:

    tar -czvf архив.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

    Най- --изключвам ключът е много мощен. Той не взема имена на директории и файлове - всъщност приема модели. Има много повече неща, които можете да направите с него. Например, можете да архивирате цяла директория и да изключите всички .mp4 файлове със следната команда:

    tar -czvf архив.tar.gz / home / ubuntu --exclude = *. mp4

    Използвайте вместо това bzip2 Compression

    Докато gzip компресията е най-често използвана за създаване на .tar.gz или .tgz файлове, tar поддържа също и bzip2 компресия. Това ви позволява да създавате bzip2-компресирани файлове, често наричани .tar.bz2, .tar.bz или .tbz файлове. За да направите това, просто заменете -z за gzip в командите тук с -j за bzip2.

    Gzip е по-бърз, но обикновено компресира малко по-малко, така че получавате малко по-голям файл. Bzip2 е по-бавен, но компресира малко повече, така че получавате малко по-малък файл. Gzip също е по-често срещан, с някои отсъхнали Linux системи, включително поддръжка на gzip по подразбиране, но не и bzip2 поддръжка. Като цяло обаче gzip и bzip2 са практически едно и също и двете ще работят по същия начин.

    Например, вместо първия пример, който предоставихме за компресиране на директорията на нещата, трябва да изпълните следната команда:

    tar -cjvf архив.tar.bz2 неща

    Извличане на архив

    След като имате архив, можете да го извлечете с командата tar. Следната команда ще извлече съдържанието на archive.tar.gz в текущата директория.

    tar -xzvf архив.tar.gz

    Това е същото като командата за създаване на архив, която използвахме по-горе, с изключение на превключвателят заменя -° С ключ. Това указва, че искате да eхда създадете архив, вместо да го създадете.

    Може да искате да извлечете съдържанието на архива в определена директория. Можете да го направите, като добавите -° С преминете към края на командата. Например, следната команда ще извлече съдържанието на файла archive.tar.gz в директорията / tmp.

    tar -xzvf архив.tar.gz -C / tmp

    Ако файлът е компресиран от bzip2 файл, заменете „z“ в горните команди с „j“.


    Това е най-простото използване на командата tar. Командата включва голям брой допълнителни опции, така че не можем да ги изброим тук. За повече информация. пуснете информация катран командата на черупката, за да видите страницата с подробна информация на командата tar. Натисни р , за да излезете от информационната страница, когато сте готови. Можете също така да четете ръководството за кариера онлайн.

    Ако използвате графичен работен плот на Linux, можете също да използвате помощната програма за компресиране на файлове или файловия мениджър, включени в работния плот, за да създавате или извличате .tar файлове. В Windows можете да извличате и създавате .tar архиви с безплатната 7-Zip програма.