Usos de exemplo do comando Linux "tar"

En esencia, un ficheiro tar é un método para crear un arquivo que contén moitos outros ficheiros.

Imaxina que ten unha estrutura de cartafoles con ficheiros que quere copiar dunha computadora a outra. Podería escribir un script que executa a copia e coloca todos os ficheiros nos cartafoles correctos na máquina de destino.

Sería moito máis doado se puidesen crear un único arquivo con todos os ficheiros e cartafoles incorporados como parte do ficheiro que podes copiar ao destino e extraer.

Os usuarios que estean afeitos a usar software de Windows como WinZip xa estarán ao tanto deste tipo de funcionalidades, pero a diferenza entre un arquivo zip e un ficheiro tar é que o ficheiro tar non está comprimido.

É bastante común comprimir un ficheiro tar como se mostra na guía mostrando como extraer tar.gz.

Este artigo mostraralle como usar o comando tar.

Como crear un arquivo Tar

Imaxina o cartafol de imaxes do teu cartafol persoal con moitos cartafoles diferentes con moitas imaxes en cada cartafol.

Pode crear un ficheiro tar que contén todas as súas imaxes mentres mantén a estrutura do cartafol usando o seguinte comando:

tar -cvf fotos ~ / fotos

Os interruptores son os seguintes:

Como listar os ficheiros nun ficheiro de tar

Pode listar os contidos dun ficheiro tar usando o seguinte comando:

Tarfil-nome de tarf

Isto proporciona unha lista dos ficheiros e cartafoles dentro dun ficheiro tar.

Sempre debería facelo antes de extraer un ficheiro de tar dunha fonte estraña.

Como mínimo, un ficheiro tar pode extraer ficheiros a carpetas que non esperabas e corromperas partes do teu sistema para saber cales son os arquivos onde está un bo punto de partida.

No peor dos casos, as persoas malas crean algo chamado bomba de alcatrán que está deseñado para destruír o teu sistema.

O comando anterior simplemente dá unha lista dos ficheiros e cartafoles. Se queres unha vista máis detallada que amosa os tamaños dos ficheiros use o seguinte comando:

tar-tvf tarfilename

Os interruptores son os seguintes:

Como extraer dun ficheiro de tar

Agora que lista os ficheiros dun ficheiro tar pode querer extraer o ficheiro tar.

Para extraer o contido dun ficheiro de tar pode usar o seguinte comando:

Tar-xvf tarfile

Os interruptores son os seguintes:

Como engadir ficheiros a un ficheiro de tar

Se quere engadir ficheiros a un ficheiro de tar existente execute o seguinte comando:

tar -rvf tarfilename / path / to / files

Os interruptores son os seguintes:

Como adxuntar ficheiros só se son máis novos

O problema co comando anterior é que se engadiu ficheiros que xa existen no ficheiro tar, serían sobrescritos.

Se quere engadir só ficheiros se son máis novos que os ficheiros existentes use o seguinte comando:

tar -uvf tarfilename / path / to / files

Como evitar a tar de sobrescribir ficheiros mentres se extrae

Se está extraendo un ficheiro de tar pode non querer sobrescribir ficheiros se xa existen.

Este comando asegúrase de que os ficheiros existentes estean solos:

tar -xkvf tarfilename

Só extrae ficheiros que sexan máis novos que os ficheiros existentes

Se está a extraer un ficheiro tar pode ser feliz por sobrescribir os ficheiros, pero só se o ficheiro no ficheiro tar é máis novo que o ficheiro existente.

O seguinte comando mostra como facelo:

tar --keep-new-files-xvf tarfilename

Como eliminar ficheiros despois de agregarlos a un ficheiro de tar

Un arquivo tar non está comprimido polo que se tiña un arquivo de 400 gigabytes nun arquivo tar terá un arquivo de 400 gigabytes na súa localización orixinal e ficheiro tar cun arquivo de 400 gigabytes nel.

Pode querer eliminar o ficheiro orixinal cando se engada a un ficheiro tar.

O seguinte comando mostra como facelo:

tar --remove-files -cvf tarfilename / path / to / files

Comprimir un ficheiro de tar cando o creas

Para comprimir un ficheiro tar axiña que se crea, use o seguinte comando:

tar -cvfz tarfilename / path / to / files

Resumo

O comando tar ten decenas de interruptores e pódese atopar máis información usando o comando man tar ou executando tar --help .