Как да използваме Командата Tar в Linux?

TapeArchive или tar, е често срещана програма в Linux / Unix средите, която се използва за архивиране на файлове и директории в един файл.

Обикновено се използва с инструменти като gzip или bzip за прилагане на допълнителна компресия. Резултатът е файл с разширение tar.gz или tar.bz2.

В тази статия ще разгледаме различни примери за tar команди, включително как да създаваме архивни файлове с помощта на (tar, tar.gz и tar.bz2) компресия, как да извличаме архивни файлове, преглед на съдържание на файла, проверка на файл, добавяне на файлове или директории към съществуващия архивен файл и други.

1. Създаване на .tar архив в Linux

В примера по-долу, командата tar ще създаде архив images.tar от два файла image1.jpg и image2.jpg.

$ tar cvf images.tar image1.jpg image2.jpg

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

    • c – създай нов архив

    • v – покажи списък на архивираните файлове

    • f – изрично посочваме, че се работи с файл

По подобен начин можем да създадем и архив на директория, заедно с нейните поддиректории и файлове:

$ tar cvf tar_command.tar /home/user/tar_command/

2. Създаване на .tar.gz архив в Linux

За да създадем компресиран gzip файл, добавяме символа z. Например, командата по-долу ще създаде компресиран файл с името images.tar.gz:

$ tar cvfz images.tar.gz  /home/user/tar_command/

Като алтернатива, можете да използвате .tgz файл, който е подобен на tar.gz.

$ tar cvfz images.tgz /home/user/tar_command/

3. Създаване на .tar.bz2 архив в Linux

Функцията bz2 също компресира и създава архивен файл подобно на gzip, но нейната компресия е по-силна и съответно крайният резултат е по-малък файл.

За да създадем силно компресиран tar файл, трябва да използваме опцията j. В примера по-долу ще създадем файл images.tar.bz2, за директория /home/user/tar_command/images:

$ tar cvjf images.tar.bz2 /home/user/tar_command/images/

4. Виждане на съдържанието на .tar, .tar.gz, tar.bz2 архив в Linux

След като сте създали архива, лесно можете да видите неговото съдържание, като използвате следната команда:

$ tar tvf images.tar

Същата команда се използва и при .tar.gz и .tar.bz2 архив.

5. Разархивиране на .tar, .tar.gz, tar.bz2 архив в Linux

За да разархивираме или извлечем съдържанието на .tar файл, е необходимо да използваме опцията x.

Например командата по-долу, ще разархивира файла images.tar в настоящата работна директория:

$ tar xvf images.tar

Същата команда може да се използва за .tar.gz и .tar.bz2 архив.

В случай, че желаете да разархивирате файла в друга директория, е необходимо да добавите опцията -C и след нея да опишете пътя до директорията:

$ tar xvf images.tar -C /home/user/tar_command2/

6. Разархивиране на един файл от .tar, .tar.gz, tar.bz2 архив

За да разархивираме файл image1.jpg от .tar, .tar.gz и tar.bz2 архив, трябва да използваме следната команда:

$ tar xvf images.tar image1.jpg

Същата команда се използва и при .tar.gz и .tar.bz2 архив.

Много е важно при разархивиране да се опише пълния път до файла, който се извлича. В противен случай ще получите грешка, че файлът не е открит.

7. Разархивиране на няколко файла от .tar, .tar.gz, tar.bz2 архив

За да разархивираме няколко файла от .tar, .tar.gz и tar.bz2 архив, е необходимо да използваме следната команда:

$ tar xvf images.tar "image2.jpg" "image3.jpg"

Същата команда се използва и при .tar.gz и .tar.bz2 архив.

8. Разархивиране на група файлове с Wildcard

В случай, че искате да разархивирате група от файлове, с общ показател, например всички изображения завършващи на .jpg, може да използвате следната команда:

$ tar xvf images.tar --wildcards ‘*.jpg’

За tar.gz файл, можете да използвате:

$ tar zxvf images.tar.gz --wildcards ‘*.jpg’

За tar.bz2 файл, можете да използвате:

$ tar jxvf images.tar.bz2 --wildcards ‘*.jpg’

9. Добавяне на файл или директория към .tar архив

За да добавим файл или директория към съществуващ .tar архив, е необходимо да използваме опцията r:

$ tar rvf images.tar image3.jpg

Ако искате да добавите директория, командата е същата:

$ tar rvf images.tar images.tar new_image/

Имайте предвид, че към tar.gz и tar.bz2 файл не може да се добавят файлове или директории.

10. Изключване на файл или директория от .tar архив

В настоящия пример ще видите как да изключите файла image5.jpg, при създаването на .tar.gz архив.

$ tar --exclude='image5.jpg' -zcvf images.tar.gz /home/user/tar_command/images/

В случай, че искаме да изключим директория new_image/, трябва да използваме следната команда:

$ tar --exclude='/home/user/tar_command/images/new_image' -zcvf images.tar.gz /home/user/tar_command/images/

11. Изтриване на файл или директория от .tar архив

За да изтрием файла image1.jpg от архива images.tar, ще използваме следната команда:

$ tar --delete --file images.tar /home/user/tar_command/images/image1.jpg

Ако желаете да премахнете и директория new_image/, трябва да използвате следната команда:

$ tar --delete --file images.tar '/home/user/tar_command/images/new_image'

Това са основните примери, които смятаме че ще Ви бъдат от полза при използването на командата tar. За повече информация, моля използвайте документацията на man tar.

  • Как да използваме Командата Tar в Linux?
  • 0 Потребителите са намерили това полезно
Беше ли този отговор полезен?

Свързани статии

33 основни Linux команди, които бързо можете да научите

Linux е операционна система с отворен код, базирана на Linux kernel. Тя е от семейството на Unix,...

Как да използвате командите zip и unzip в Linux?

Когато изтегляте файлове от интернет, много често те са под формата на архив. Целта на този архив...

Как да използвате командите chmod и chown в Linux?

В тази статия ще разгледаме как могат да се променят правата на потребителите и собствеността...

Как да използвате Linux командите Find и Locate за търсене и навигация във файловата система

При работата с Linux операционната система, често се налага да извършваме операции за търсене и...

Широката употреба на командата grep в Linux

Grep e много популярна Linux команда. Тя има широка употреба при работа с файлове и директории,...