The history of the tar command and examples

DeShawn is studying the tar command: she hopes to master its usage on her Pop!_OS GNU/Linux server: popservera. Please answer the following questions for DeShawn:

  1. What is the history of the tar command? Who invented it, where was it invented and why?
  2. On DeShawn's server, her home directory is /home/deshawn. She wants to compress her entire home directory and ssh it over to her other server: popserverb. Her username on both machines is deshawn_brady: deshawn_brady@popservera and deshawn_brady@popserverb. She wants the backup file to be named 20240422_popa_homedir_backup.tar.gz and she wants to place it in /home/deshawn/backups on popserverb. Please show all commands that she will need to complete this task.

History of the tar Command

The tar (Tape ARchive) command was originally developed in the early 1980s by AT&T for Unix Version 7. The tool was designed for tape storage and was meant to simplify the storing of files on tape drives, which were the main method for data backup and archival at the time. The command allows multiple files and directories to be bundled into a single file (an archive), which could then be written to tape, a process that was more efficient and less error-prone than handling files individually.

Commands for DeShawn's Task

To accomplish DeShawn's goal of compressing her home directory on popservera, transferring it to popserverb, and placing it in the specified directory, the following steps and commands are needed:

1. Compress the Home Directory

First, DeShawn should compress her home directory into a tarball using gzip compression. This can be done with the following command, which she should run on popservera:

tar -czvf /home/deshawn/20240422_popa_homedir_backup.tar.gz -C /home/deshawn .

History of the tar Command

The tar (Tape ARchive) command was originally developed in the early 1980s by AT&T for Unix Version 7. The tool was designed for tape storage and was meant to simplify the storing of files on tape drives, which were the main method for data backup and archival at the time. The command allows multiple files and directories to be bundled into a single file (an archive), which could then be written to tape, a process that was more efficient and less error-prone than handling files individually.

Commands for DeShawn's Task

To accomplish DeShawn's goal of compressing her home directory on popservera, transferring it to popserverb, and placing it in the specified directory, the following steps and commands are needed:

1. Compress the Home Directory

First, DeShawn should compress her home directory into a tarball using gzip compression. This can be done with the following command, which she should run on popservera:

bash
tar -czvf /home/deshawn/20240422_popa_homedir_backup.tar.gz -C /home/deshawn .

Here's what each part of the command does:

  • tar: The tar command itself.
  • -c: Create a new archive.
  • -z: Use gzip compression.
  • -v: Verbose mode (optional, but useful for tracking progress).
  • -f: Filename of the archive.
  • /home/deshawn/20240422_popa_homedir_backup.tar.gz: Full path where the compressed tarball will be saved.
  • -C /home/deshawn: Change to this directory before performing the operation.
  • .: Add all files and directories from the current directory (after -C, the current directory is /home/deshawn).

2. Transfer the Compressed File to Another Server

After creating the compressed tarball, DeShawn needs to transfer it to popserverb. She can do this with the scp (secure copy) command:

scp /home/deshawn/20240422_popa_homedir_backup.tar.gz deshawn_brady@popserverb:/home/deshawn_brady/backups/

Here's the breakdown:

  • scp: The secure copy command.
  • /home/deshawn/20240422_popa_homedir_backup.tar.gz: The source file to copy.
  • deshawn_brady@popserverb: Username and hostname of the destination server.
  • /home/deshawn_brady/backups/: The destination directory where the file should be placed on popserverb.

These commands will compress DeShawn's home directory into a tar.gz file and securely transfer it to her desired location on another server. Make sure that the /home/deshawn_brady/backups/ directory exists on popserverb before running the scp command, or the command will fail due to the absence of the target directory.

You should also read: