Skip to main content 41q.ru

Tar - Tape Archiver Программа Работы С Архивами

Используется чтобы создавать архивы из директорий, нескольких файлов вместе. Внутри себя может использовать gzip для сжатия.

Прикольно, что эта утилита пришла из времен, когда файлы писались на пленку, ту самую tape.

аргумент назначение
-c сжать
-z использовать для сжатия gzip
-v verbose, говорить что делает
-f file, как назвать архив

Есть ещё утилита gzip, но она умеет работать только с конкретными файлами, не с директориями.

Для примера, создал директорию ./toArch с тремя файликами: 1st.md 2nd.md 3rd.md. Заполнил файлы произвольным содержимым.

shell code snippet start

du -ha
4,0K	./toArch/3rd.md
4,0K	./toArch/1st.md
4,0K	./toArch/2nd.md
 12K	./toArch
 12K	.

shell code snippet end

Как создать архив

без сжатия

shell code snippet start

tar -cf toArch.tar toArch

shell code snippet end

code snippet start

% du -h *
 12K	toArch
8,0K	toArchWithoutZ

code snippet end

со сжатием gzip

shell code snippet start

tar -czf toArch.tar.gz toArch

shell code snippet end

code snippet start

% du -h *                      
 12K	toArch
8,0K	toArch.tar
4,0K	toArch.tar.gz

code snippet end

Пожали директорию в три раза 💪

Как распаковать архив

shell code snippet start

tar -xf toArch.tar.gz

shell code snippet end

C аргументом -C можно указать директорию, куда распаковать (без него распакается в текущую директорию)

shell code snippet start

mkdir xtracted

shell code snippet end

shell code snippet start

tar -xf toArch.tar.gz -C xtracted

shell code snippet end

shell code snippet start

% ls -RF
toArch/		toArch.tar	toArch.tar.gz	xtracted/

./toArch:
1st.md	2nd.md	3rd.md

./xtracted:
toArch/

./xtracted/toArch:
1st.md	2nd.md	3rd.md

shell code snippet end

аргумент назначение
-x eXtract, распаковать
-f file, вместе с -x, говорит как называется файл, который хотим распаковать (не обязательный параметр)
-C в какую директорию надо распаковать содержимое архива. Но сам tar эту директорию не создаёт.