আপনি যদি Gnu সংস্করণ ব্যবহার করছেন তবে আপনার পছন্দের টার্গেট ডিরেক্টরি দিতে আপনি বিকল্পটি -C
(বা --directory
আপনি দীর্ঘ বিকল্প পছন্দ করেন) ব্যবহার করতে পারেন tar
। ডিরেক্টরি উপস্থিত থাকতে হবে:
mkdir foo
tar -xzf bar.tar.gz -C foo
আপনি যদি tar
কোনও নির্দিষ্ট ডিরেক্টরিতে এক্সট্র্যাক্ট করতে সক্ষম না ব্যবহার cd
করেন তবে কল করার আগে আপনি কেবল আপনার টার্গেট ডিরেক্টরিতে প্রবেশ করতে পারেন tar
; তারপরে অবশ্যই আপনার সংরক্ষণাগারটিতে অবশ্যই একটি সম্পূর্ণ পথ দিতে হবে। আশেপাশের স্ক্রিপ্টকে প্রভাবিত করতে এড়াতে আপনি স্কোপিং সাবশেলে এটি করতে পারেন:
mkdir foo
(cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well
অথবা, সংরক্ষণাগার ফাইলের জন্য যদি কোনও নিখুঁত পথ বা আপেক্ষিক পথ উপযুক্ত না হয় তবে আপনি এটিকে স্কোপিং সাবশেলের বাইরে সংরক্ষণাগারটির নামকরণ করতেও ব্যবহার করতে পারেন:
TARGET_PATH=a/very/complex/path/which/might/even/be/absolute
mkdir -p "$TARGET_PATH"
(cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz