Bagaimana cara tarball direktori tanpa membawa / path / ke / folder?

15

Contoh perintah:
$ tar -cvjf destination.tar.bz2 /path/to/folder/source

Saya ingin final destination.tar.bz2, ketika diekstraksi, untuk tidak menyertakan /path/to/folder/direktori file. Tampaknya tidak efisien untuk mengekstrak tarball dan kemudian mv isi /path/to/folder/sourceke direktori yang berbeda.

botol
sumber
terkait: stackoverflow.com/questions/18681595/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

19

tar -C /path/to/folder -cvjf /path/for/acrhive.tar.bz2 source

-C (huruf besar) berarti 'direktori perubahan', sehingga spesifikasi file Anda menjadi relatif terhadap jalur yang disediakan -C

es tipis
sumber
Ingatlah bahwa jalur yang Anda berikan untuk "sumber" relatif terhadap "-C". Seperti, itulah yang ditulis @ thinice, hanya saja jika Anda masih memberikan path absolut alih-alih relatif bahkan ketika menggunakan "-C", Anda tidak mendapatkan hasil yang diinginkan.
GuyPaddock
4

Ada banyak cara untuk mencapai itu, tetapi ini mungkin yang paling sederhana:

cd /path/to/folder
tar -cvjf /past/to/destination.tar.bz2 source
Chris S
sumber