Želite izdvojiti jednu datoteku ili mapu iz TAR ili TAR.GZ arhive? Evo kako to možete učiniti na Linuxu, koristeći naredbu tar.

Tarball (TAR ili TAR.GZ) je skup datoteka povezanih zajedno kao jedna arhiva što olakšava pohranu i prijenos velikog broja datoteka lokalno ili preko interneta. Kad god su vam potrebne datoteke, možete jednostavno izdvojiti arhivu.

Razmotrite scenarij u kojem vam je potrebna samo jedna datoteka iz velike arhive. U tom slučaju, umjesto izdvajanja cijele arhive, možete izdvojiti samo datoteku koja vam je potrebna. Pogledajmo kako.

Pogledajte sadržaj Tarballa

Ako samo želite pogledati sadržaj TAR ili TAR.GZ datoteku, ne morate ga izdvajati. Umjesto toga, upotrijebite sljedeću naredbu da vidite što je unutra:

tar -tvf [arhiva.tar]
tar -ztvf [arhiva.tar.gz]

Ovo će ispisati popis svih datoteka i direktorija unutar arhive.

Izdvojite jednu datoteku iz Tarballa

Za izdvajanje jedne datoteke iz TAR-a ili TAR.GZ-a koristite sljedeći format naredbe:

tar -xvf [arhiva.tar] [put do datoteke]
tar -zxvf [arhiva.tar.gz] [put do datoteke]
instagram viewer

Imajte na umu da ćete morati unijeti puni put do datoteke koju želite izdvojiti. Možete pronaći puni put datoteke ili direktorija pomoću tar -tvf [arhiva.tar] naredba.

Za izdvajanje datoteke test1.txt od test.tar i test.tar.gz datoteke, naredbe bi bile:

tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

...gdje:

  1. -x koristi se za izdvajanje datoteka iz arhive
  2. -v koristi se da se vidi napredak dok se izvlače
  3. -f se koristi za specificiranje imena tarball-a
  4. -z koristi se za dekompresiju datoteka TAR.GZ

Ove naredbe će izdvojiti navedenu datoteku u trenutnom imeniku terminala.

Izdvojite jedan direktorij iz Tarballa

Slično, također možete izdvojiti jedan direktorij iz tarballa pomoću sljedeće sintakse:

tar xvf [arhiva.tar] [put do direktorija]
tar -zxvf [arhiva.tar.gz] [put do direktorija]

Na primjer, izdvojiti cijelu test1 poddirektorij iz test.tar arhiva, trebali biste navesti punu putanju direktorija, tj. test/test1:

tar -xvf test.tar test/test1

Ovo će izdvojiti cijeli poddirektorij test/test1 u trenutnom imeniku terminala.

Izdvojite jednu datoteku ili mapu u drugi direktorij

Također možete izdvojiti datoteku ili direktorij iz arhive u drugi direktorij. Za ovo koristite istu sintaksu kao gore, ali dodajte -C opcija nakon koje slijedi odredišni direktorij:

tar -xvf [arhiva.tar] -C [odredišni_direktorij] [datoteka-ili-direktorij]
tar -zxvf [arhiva.tar.gz] -C [odredišni_direktorij] [datoteka-ili-direktorij]

Recimo da želimo izdvojiti direktorij test2 od test.tar arhivirati na Preuzimanja imenik umjesto sadašnjeg radnog imenika. Naredba bi u ovom slučaju bila:

tar -xvf test.tar -C ~/Preuzimanja/ test/test2

Izbrišite jednu datoteku ili direktorij iz Tarball datoteke

Ako trebate izbrisati jednu datoteku ili direktorij iz TAR ili TAR.GZ datoteke, koristite --izbrisati opcija s tar naredbom:

tar -vf [arhiva.tar] --brisanje [datoteka-ili-direktorij]

Međutim, ne možete izbrisati datoteku ili direktorij izravno iz komprimirane arhive (TAR.GZ). Ono što trebate učiniti je prvo dekomprimirati datoteku TAR.GZ, izbrisati datoteku ili direktorij, a zatim je ponovno komprimirati.

Za dekompresiju datoteke TAR.GZ upotrijebite sljedeću naredbu:

gzip -d [arhiva.tar.gz]

Dekompresijom će se datoteka pretvoriti u TAR. Sada možete izbrisati datoteku iz TAR arhive koristeći:

tar -vf [arhiva.tar] --brisanje [datoteka-ili-direktorij]

Nakon toga ponovno komprimirajte TAR datoteku koristeći gzip:

gzip -f [arhiva.tar]

Uštedite vrijeme dok radite s arhivama na Linuxu

Izdvajanje samo potrebnih datoteka iz arhive ne samo da sprječava nered, već i štedi vrijeme koje bi se inače potrošilo na pretraživanje velikog broja datoteka.

Ponekad stvaranje i izdvajanje TAR datoteka dovodi do duplih datoteka u vašem sustavu. Stoga je dobra praksa povremeno identificirati i ukloniti te duplikate kako biste očistili svoj prostor.