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



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

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





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

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

--exclude

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



  • -° С: ° С направете архив.
  • -z: Компресирайте архива с g с ip.
  • -v: Показване на напредъка в терминала, докато създавате архива, известен още като v erbose режим. V винаги е по избор в тези команди, но е полезно.
  • -f: Позволява ви да посочите е ilename на архива.

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

--exclude

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

-x



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

СВЪРЗАНИ: Как да управлявате файлове от терминала на Linux: 11 команди, които трябва да знаете

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

-cРеклама

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

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

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

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

-C

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

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Използвайте bzip2 компресия вместо това

Докато 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 -czvf archive.tar.gz stuff

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

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

tar -czvf archive.tar.gz /usr/local/something

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

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

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt
Реклама

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


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

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

Linux команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила за Крис Хофман Крис Хофман
Крис Хофман е главен редактор на How-To Geek. Той пише за технологиите повече от десетилетие и е бил колумнист на PCWorld в продължение на две години. Крис е писал за The New York Times, интервюиран е като технологичен експерт в телевизионни станции като NBC 6 в Маями и работата му е отразявана от новинарски издания като BBC. От 2011 г. насам Крис е написал над 2000 статии, които са прочетени близо един милиард пъти --- и това е само тук, в How-To Geek.
Прочетете пълната биография

Интересни Статии