在使用tar時,有時需要在解壓縮時去掉頂層目錄,下面介紹兩個一些可行的做法.
通常在做壓縮和解壓時,是這么操作的:
$ tree a/ a/ ├── a.txt └── b ├── b.txt └── c ├── c.txt └── d └── d.txt
壓縮:
tar -czf a.tar.gz a/
解壓:
tar -xf a.tar.gz -C tmp/
此時,tmp目錄下的文件結構:
$ tree tmp/ tmp/ └── a ├── a.txt └── b ├── b.txt └── c ├── c.txt └── d └── d.txt
有時不想看到頂層目錄a
方法一:壓縮時處理
壓縮:
tar -czf a.tar.gz -C a/ .
解壓:
tar -xf a.tar.gz -C tmp/
tmp下的目錄結構:
$ tree tmp/ tmp/ ├── a.txt └── b ├── b.txt └── c ├── c.txt └── d └── d.txt
方法二:解壓時處理
壓縮:
tar -czf a.tar.gz a/
解壓:
tar -xf a.tar.gz --strip-components=1 -C tmp/
此時tmp下的目錄結構:
$ tree tmp/ tmp/ ├── a.txt └── b ├── b.txt └── c ├── c.txt └── d └── d.txt
完。