примитивные типы, в том числе:
логический тип
целые типы
вещественные типы
ссылочные типы
опциональные типы
обнуляемые типы
Композитные типы, в том числе:
массивы
записи
кортежи
абстрактные типы (АТД, англ. ADT)
алгебраические типы
вариантные типы
подтипы
унаследованные типы
объектные типы, то есть объекты, значением которых являются типы — например, переменные типов
частичные типы
рекурсивные типы
функциональные типы, например бинарные функции
универсально квантифицированные типы, такие как параметрические типы
экзистенциально квантифицированные, такие как модули
зависимые типы — типы, зависящие от термов (значений)
уточняющие типы — типы, идентифицирующие подмножества других типов
Предопределённые типы (являющиеся фактически структурными, но предоставляемые на правах примитивных) для удобства промышленных разработок, такие как «дата», «время», «валюта» и др.
cd ~
mkdir folder1
cd folder1
touch file1
touch file2
touch file3
touch file4
tar cvf archive.tar *
mkdir ../folder2
cd ../folder2
touch new_file
cp ../folder1/archive.tar .
tar rvf archive.tar new_file
tar vf archive.tar --delete file3
tar vf archive.tar --list > list1
tar vf ../folder1/archive.tar --list > list2
diff list1 list2
#Разъединение выполнить не получится, потому что все файлы пустые, но если засовывать не пустые, то
split -b 10M archive.tar "part" # вместо 10M нужный размер
cat part* > joined_archive.tar
tar vf archive.tar --list
tar vf joined_archive.tar --list
tar czvf final_archive.tar archive.tar ../folder1/archive.tar joined_archive.tar