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
В первую очередь это усидчивость. Не каждый сможет сидеть длительное время за компьютером и выполнять монотонную и нудную работу.
Во-вторых, программист должен быть внимательным. Порой даже пропущенная ";" может нарушить работу кода
Желательно также знать несколько языков программирования и не останавливаться на достигнутом.