เป็นวิธีสำนวนที่ต้องทำดังต่อไปนี้
- tar เพื่อ stdout
- อ่านเอาต์พุต tar นี้จาก stdout และแตกไปยังโฟลเดอร์อื่น
ทางออกของฉันคือ
tar --to-stdout .. | tar -C somefolder -xvf -
แต่อาจจะมีวิธีสำนวนมากขึ้นที่จะทำ
เป็นวิธีสำนวนที่ต้องทำดังต่อไปนี้
ทางออกของฉันคือ
tar --to-stdout .. | tar -C somefolder -xvf -
แต่อาจจะมีวิธีสำนวนมากขึ้นที่จะทำ
คำตอบ:
-f -
ตัวเลือกเดียวกันนี้ใช้สำหรับการฝึกฝนได้เช่นกัน
tar -cf - something | tar -C somefolder -xvf -
GNU tar ใช้ stdio โดยค่าเริ่มต้น:
tar -c something | tar -C somefolder -xv
rsync ก็เป็นที่นิยมเช่นกัน
rsync -av something/ somefolder/
เพียงเพิ่มกรณีการใช้งานอื่นที่นี่ ฉันมีโครงสร้างไดเรกทอรีขนาดใหญ่ในระบบเกือบจะไม่ว่างในดิสก์และต้องการที่จะจบลงด้วยไฟล์ tar.gz ของโครงสร้างไดเรกทอรีในเครื่องอื่นที่มีพื้นที่ว่างมากมาย
tar -czf - big-dir | ssh user@host 'cat > /path/to/big-dir.tar.gz'
สิ่งนี้จะช่วยประหยัดค่าใช้จ่ายในเครือข่ายและหมายความว่าคุณไม่จำเป็นต้องรออีกด้านในกรณีที่คุณต้องการใช้ rsync สำหรับการถ่ายโอนแทน