[Last Call] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4540
  • Last Modified:

"Tar" and "Zip" UNIX files

In my UNIX operating system, I have several files and
directories in my home directory.
How can I "tar" and "zip" the contents of all the files
and directories, subdirectories, files in them together
in a file named "home.tar.zip".

Example: My home directory is: "/home/myname/"
Here are the contents:
dir1  dir2  file1 file2

dir3 file3

file4 file5


How can I tar and zip all files/directories/subdirectories under "/home/myname/" and put it in a file(?) named "home.tar.zip" (From this I should be able to retrieve all the files and directories the same way they used to be before it was tar'ed and zip'ed)
1 Solution
In AIX you can tar the files using the tar command
and zip it using the compress command

for your problem

in /home/mydir give the command as

/home/mydir> tar -cvf nameoftarfile.tar .
when you give a dot (.) at the end then all the dir from the current dir and all the susbequent dirs will be tared

now to compress it just say

/home/mydir>compress nameoftarfile.tar
the file will be now be "nameoftarfile.tar.Z"

now you can move the compressed file to the  m/c you want and create a home/mydir
you can get all you files back as you had before

/home/mydir> zcat nameoftarfile.tar.Z | tar -xvf -


/home/mydir>uncompress nameoftarfile.tar.Z
and then
/home/mydir>tar -xvf nameoffile.tar

The difference between using zcat and uncompress etc.. is that when you zcat then you'll have the compressed file, bu twith uncompress you will be left with tar file and you need to compress it again to move
so choice is yours

But one more suggestion, before doing all this check if you having enough space in the filesystem or else the commands will fail

hope this helps

Hi  saila ,

     Here's what you can do tp make a tar ball, of your home dir:
     (I assume you login as yourself)

     1. cd ~
      2. tar cvf backup.tar .
      where . means that the current dir, you can replace . with the file, dirs you want to put in, eg:

      tar cvf backup.tar file1 file2 ... dir1 dir2

     To make a compress file of the tar ball, you have a lot of options:
      1. use the compress command:
          compress backup.tar
          this will create a compress file named: backup.tar.Z.
          and you use uncompress command to uncompress it

       2. use the zip command: (create a backup.tar.zip file)
           zip backup.tar.zip backup.tar
           use unzip to unzip the file

        3. if you have gzip install on your systems:
           gzip backup.tar
            this will create backup.tar.gz file
           and you use gunzip to unzip it.

      Note: 1, and 3, will autodelete the backup.tar file after the .Z or .gz file is created. 2 will leave the backup.tar alone.

      In some of the UNIX system, you might have to create you tar ball
out side your home dir:
      tar cvf /tmp/backup.tar .
      mv /tmp/backup.tar .

     I hope this can help.

One of the easiest ways I have found is to use gzip and GNU tar.  You can download both at www.sunfreeware.com.  One you have these installed, you can type this command:

tar -zcvf home.tgz

With GNU tar, the -z option is added to automatically gzip the files when it creates the tarball.  It just makes for less commands, as the other suggestions above are just as good.


NOTE: Even if you are not using solaris, www.sunfreeware.com has the sourcecode also.  You can also check sites related to your specific flavor.
skunduAuthor Commented:
Thanks a lot everybody...

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now