Gnu sürümünü kullanmanız durumunda istediğiniz hedef dizini vermek için seçeneği -C
(veya --directory
uzun seçenekleri tercih ediyorsanız) kullanabilirsiniz tar
. Dizin mevcut olmalıdır:
mkdir foo
tar -xzf bar.tar.gz -C foo
tar
Belirli bir dizine ayıklama yeteneğini kullanmıyorsanız cd
, aramadan önce hedef dizininize kolayca girebilirsiniz tar
; elbette arşivinize tam bir yol vermeniz gerekecektir. Çevredeki betiği etkilemekten kaçınmak için bunu bir kapsam alt kabında yapabilirsiniz:
mkdir foo
(cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well
Veya ne mutlak bir yol ne de arşiv dosyasına göreli bir yol uygunsa, bunu arşivin kapsamını alt kabuğun dışında adlandırmak için de kullanabilirsiniz:
TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz