How can I automatically remove files after they've been archived?

21,234

Solution 1

If you're using GNU tar, you can use the --remove-files option:

--remove-files

remove files after adding them to the archive

That's not portable though.

If your tar doesn't have that, you'll need to do it manually, in two steps.
I'd suggest you don't put the tar file in the directory you're packing up, but put it in the parent directory. That way you can simply rm * (possibly recursively) after tar is done.

Solution 2

[max@localhost zzz]$ touch 1 2 3 4
[max@localhost zzz]$ ll
total 0
-rw-rw-r-- 1 max max 0 Oct 18 16:13 1
-rw-rw-r-- 1 max max 0 Oct 18 16:13 2
-rw-rw-r-- 1 max max 0 Oct 18 16:13 3
-rw-rw-r-- 1 max max 0 Oct 18 16:13 4

To create a archive use this command

-c ---------> For Create a archeive

[max@localhost zzz]$ tar -cvf max.tar 1 2 3 4
1
2
3
4
[max@localhost zzz]$ ls -l max.tar 
-rw-rw-r-- 1 max max 10240 Oct 18 16:14 max.tar

To list a content of archive use this command

-t ---------> List all files in archive

 
[max@localhost zzz]$ tar -tvf max.tar
-rw-rw-r-- max/max           0 2012-10-18 16:13 1
-rw-rw-r-- max/max           0 2012-10-18 16:13 2
-rw-rw-r-- max/max           0 2012-10-18 16:13 3
-rw-rw-r-- max/max           0 2012-10-18 16:13 4

To extract use this command

-x ---------> To extract from archive

-v ---------> For verbose mode

[max@localhost zzz]$ tar -xvf max.tar -C direc1
1
2
3
4

Here -C extract the content to directory direc1

To extract a single file from archieve use this command

[max@localhost zzz]$ tar -xvf max.tar 1 -C direc1
1

Give the file name you want to archive in my case file name is `1`

[max@localhost zzz]$ tar -cvf max.tar 1 2 3 4 --remove-files

This will remove original files after achieving

Share:
21,234

Related videos on Youtube

user1503606
Author by

user1503606

Updated on September 18, 2022

Comments

  • user1503606
    user1503606 over 1 year

    How do i archive and remove excess files example.

    cd ~/Desktop && tar -cvf sitepack.tar ./
    

    this will give me

    ls
    Riva_Starr_Feat._Noze_I_Was_Drunk_Official_Video_HD_.mp3
    Riva_Starr_feat._Sud_Sound_System_Orizzonti_Official_Vide.mp3
    Riva_starr_I_was_drunk_Syskey_remix_.mp3
    sitepack.tar
    

    when what i am looking for is

    ls
    sitepack.tar
    

    so it archive everything into the zip rather than leave them in place?

  • Mark K Cowan
    Mark K Cowan over 10 years
    There's always tar cvf <out-file> <in-files> | xargs rm -f as well to remove files immediately after adding them if your tar doesn't support the above GNU extension.
  • RonJohn
    RonJohn about 6 years
    Why the dash in "tar -cvf"? That's never worked for me in gnu tar.
  • Justapigeon
    Justapigeon over 4 years
    Full mwe: tar tf /file.tar --remove-files