คำถามติดแท็ก tar

รูปแบบไฟล์เก็บถาวร (และโปรแกรมที่อ่าน) ที่ใช้กันทั่วไปใน Unix และ Linux

3
เติมคำนำหน้าเป็น tar
ขณะนี้ฉันใช้สคริปต์เชลล์อย่างไม่มีประสิทธิภาพ: cp -a $MYPATH /tmp/$VERSION cd /tmp tar cjf archive.tar.bz2 $VERSION ฉันต้องการให้ทุกอย่างอยู่ในไดเรกทอรีที่เรียกว่า $ VERSION - มีวิธีการทำเช่นนี้โดยไม่ต้องคัดลอกทุกอย่างเหมือนในสคริปต์ด้านบนหรือไม่
12 bash  tar 

1
สามรูปแบบ? ทำไม?
ฉันต้องการที่จะดาวน์โหลดมาทับทิมเมื่อเร็ว ๆ นี้จากที่นี่และมันบอกว่า "มีอยู่ในสามรูปแบบ" ซึ่งเป็น.tar.bz2, และ.tar.gz .zipมีเหตุผลใดที่เราต้องการทั้งสามรูปแบบ? อย่างน้อยบน Linux และ OSX ฉันสามารถทำสามอย่างใดอย่างหนึ่งได้อย่างง่ายดาย สำหรับ Windows ฉันคิดว่ามีซิปในตัวเท่านั้น มีอะไรอยู่เบื้องหลังความพึงพอใจเหล่านี้หรือนี่เป็นเพียงการต่อสู้ทางศาสนา?


6
วิธีการแยกหลายส่วน rar ด้วยส่วนที่ขาดหายไป?
ฉันมี.rarไฟล์เก็บถาวรแบบหลายส่วนที่มี.tar.gzไฟล์เดียวอยู่ข้างใน (ไม่ต้องถามว่าเป็นเพราะเหตุใด) ฉันหายไปบางส่วน แต่มีส่วนแรก ฉันต้องการสกัดให้ได้มาก.tar.gzที่สุด ฉันจะทำสิ่งนั้นได้อย่างไร หากฉันเรียกใช้unrar x -kb file.part1.rarมันจะแยกจุดเริ่มต้น.tar.gzจากpart1และหยุดที่นั่นด้วยข้อผิดพลาด ฉันมีความสุขที่จะลองใช้เครื่องมือใด ๆ (ไม่จำเป็นต้อง unrar)

3
tar: --exclude =“. git”: ไม่สามารถสถิติ: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
นี่ทำให้ฉันบ้า ฉันต้องการtarไดเรกทอรี แต่ไม่รวมไฟล์บางไฟล์ นี่คือคำสั่งของฉัน: tar -zcvf $NAME-$VERSION.tar.gz $NAME-$VERSION --exclude='.git' --exclude='.gitignore' ในขณะที่คำสั่งดังกล่าวใช้งานได้กับ RedHat EL5 แต่ก็ไม่สามารถทำงานบน Mac OS 10.8.2 ฉันได้พยายามเปลี่ยน'ด้วย", และ\' \"ฉันพยายามลบเครื่องหมายเท่ากับ ไม่มีอะไรทำงาน ผมทำอะไรผิดหรือเปล่า?
11 macos  tar 

1
ใส่วันที่ลงในไฟล์สำรอง. tar.gz
ฉันต้องการเรียกใช้tarคำสั่งง่ายๆเพื่อสำรองข้อมูลไดเรกทอรีเว็บไซต์ของฉัน มันจะทำงานผ่าน cron แต่ฉันต้องการที่จะสามารถใส่เวลาที่ทำสำรองเป็นชื่อไฟล์ ฉันไม่รังเกียจที่จะจัดรูปแบบอะไร แต่สิ่งที่อ่านไม่ออกจะเป็นสิ่งที่ดี ฉันแค่มองหาคำสั่งทั่วไป วิธีการใส่วันที่ในชื่อไฟล์ - ฉันสามารถทำสิ่งที่เหลือของน้ำมันดิน
11 backup  tar  date  filenames 

5
แตกไฟล์และโฟลเดอร์ด้วยสิทธิ์ที่ระบุ
ฉันแพ็คโฟลเดอร์ที่มีโฟลเดอร์ย่อยและไฟล์จำนวนมากใน Windows ด้วย 7zip, อัปโหลดไปยัง VPS แล้วเรียกใช้คำสั่ง: tar -xvzf file.tar.gz จากนั้นไฟล์และโฟลเดอร์ที่แตกไฟล์ทั้งหมดจะได้รับอนุญาตจาก 777 ฉันจะได้รับมันได้อย่างไรเพื่อที่โฟลเดอร์จะได้รับอนุญาตจาก 755 และไฟล์ 644

2
tar -xvf ลบไฟล์ที่มีอยู่ออกจากไดเรกทอรีหรือไม่?
ฉันมีเก็บ tar tar -xvfและฉันต้องการที่จะใช้ ในไฟล์เก็บถาวร tar นี้ฉันมีแผนผังไดเรกทอรีที่บรรจุไฟล์ไว้สองสามไฟล์ ในระบบโซลาริส 10 ของฉันไดเรกทอรีต้นไม้นี้มีอยู่แล้วและมีหลายไฟล์อยู่ในนั้น ถ้าฉันแกะไฟล์เก็บถาวรเป็นทรีไดเรกทอรีทั้งหมดจะถูกเขียนทับหรือเป็นเพียงไฟล์ที่มีอยู่ในไฟล์เก็บถาวรที่เขียนทับ? ไฟล์ที่ไม่มีตัวแทนในไฟล์เก็บถาวรจะถูกลบหรือไม่
10 tar  solaris-10 

1
ทำไม tar | tar เร็วกว่า cp มาก
สำหรับการคัดลอกไดเรกทอรีซ้ำใช้tarการแพ็คอัพไดเร็กทอรีแล้วไพพ์เอาต์พุตไปยังอีกอันtarเพื่อคลายแพ็คดูเหมือนว่าจะเร็วกว่าการใช้cp -r(หรือcp -a) ทำไมนี้ และทำไมไม่cpทำเร็วขึ้นด้วยวิธีเดียวกันภายใต้ประทุน? แก้ไข: ฉันสังเกตเห็นความแตกต่างนี้เมื่อพยายามคัดลอกโครงสร้างไดเรกทอรีขนาดใหญ่ที่มีไฟล์และโฟลเดอร์นับหมื่นไฟล์ซ้อนกันอย่างล้ำลึก แต่มีขนาดประมาณ 50MB เท่านั้น ไม่แน่ใจว่าเกี่ยวข้องหรือไม่
10 tar  cp 

2
ไฟล์. tgz - tar: รูปแบบการเก็บถาวรที่ไม่รู้จัก
ฉันพยายามติดตั้งMongoDB 10genบน Mac ในพื้นที่ของฉันที่ใช้ Mountain Lion (10.8.3): ฉันดึงมันด้วยcurlที่: curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.tgz > mongodb.tgz แต่ฉันไม่สามารถแยกโครงสร้างได้: ความพยายามที่ 1: $ tar -zxvf mongodb.tgz tar: Unrecognized archive format tar: Error exit delayed from previous errors. พยายาม 2: $ gunzip mongodb.tgz gzip: mongodb.tgz: not in gzip format ความพยายามที่ 3: $ unzip mongodb.tgz Archive: mongodb.tgz End-of-central-directory signature …

1
แยกสมาชิกไม่กี่คนจากไฟล์เก็บถาวร tar และไปป์ผ่านเครือข่าย
แก้ไข: ฉันต้องการพิเศษmember01และmember02และไดเรกทอรีblah/ tarball_1.tar.gzมีไดเรกทอรีที่test/มี 20 ไฟล์ ฉันต้องการแยกเฉพาะสมาชิกtest/member01และtest/member02และไดเรกทอรีblah/และคัดลอกไปยัง "remote_host" อื่นโดยใช้ ssh / scp สิ่งนี้สามารถทำได้ในฐานะหนึ่งซับ? ฉันถือว่าใช้tarแล้วpaxหรือcpioแต่ฉันคิดว่าตัวเองยังไม่ถนัดเรื่องอรรถประโยชน์เหล่านี้
9 tar  pipe  cpio 

3
เหตุใดไฟล์ทั้งหมดจึงไม่ถูกบีบอัดและวิธีปรับปรุงโซลูชัน
ฉันมีโฟลเดอร์ที่มีไฟล์ประมาณ 20K ไฟล์จะถูกตั้งชื่อตามรูปแบบเช่นxy_{\d1,5}_{\d4}\.abc xy_12345_1234.abcฉันต้องการบีบอัด 10K แรกของพวกเขาโดยใช้คำสั่งนี้: ls | sort -n -k1.4,1.9 | head -n10000 | xargs tar -czf xy_0_10000.tar.gz อย่างไรก็ตามไฟล์ผลลัพธ์มีไฟล์ประมาณ 2K เท่านั้น ls | sort -n -k1.4,1.9 | head -n10000 | wc -l อย่างไรก็ตามส่งคืน 10,000 ตามที่คาดไว้ ดูเหมือนว่าฉันจะเข้าใจผิดบางสิ่งพื้นฐานที่นี่ ... ฉันใช้ zsh 5.0.2 บน Linux Mint 17.1, GNU tar 1.27.1 แก้ไข: ฟอร์กแนะนำโดย …
8 linux  shell  zsh  tar  pipe 

2
การเก็บถาวร tar จะไม่แยกออก -“ เส้นทางประกอบด้วย '.. '”
2014-12-12 04-00-01.tarชื่อของไฟล์ ฉันรันคำสั่ง: tar xvf 2014-12-12\ 04-00-01.tar ผลลัพธ์เป็นหลายบรรทัดของแบบฟอร์ม: x ../server/: Path contains '..' แล้วแบบฟอร์มบางส่วน: tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory ดูเหมือนว่าฉันจะไม่ระมัดระวังเมื่อเขียนสคริปต์สำรอง ฉันจะแตกไฟล์ได้อย่างไร

2
ใส่ไฟล์ tar'd ในไดเรกทอรีย่อย
ฉันมีการตั้งค่าไดเรกทอรีดังนี้: folder_x file.y file.z ฉันต้องการสร้างไฟล์ tar เพื่อที่เมื่อมันถูกแยกโครงสร้างจะมีลักษณะดังนี้: dir_q/folder_x dir_q/file.y dir_q/file.z ฉันจะทำให้เรื่องนี้ทำงานโดยใช้ได้tarอย่างไร สำหรับการอ้างอิงคำสั่งปัจจุบันที่ฉันใช้คือ: tar -czf archive.tar.gz file.y file.z folder_x
8 archiving  tar 

3
rsync แฮ็กเพื่อตีกลับไฟล์ระหว่างสองเซิร์ฟเวอร์ที่ไม่ได้เชื่อมต่อ
นี่คือการเชื่อมต่อ: [Server1] <---> [my desktop] <---> [Server2] Server1 และ server2 ไม่ได้รับอนุญาตให้พูดคุยกับแต่ละคนโดยตรง (ไม่ต้องถาม) เดสก์ท็อปของฉันอย่างไรก็ตามสามารถเข้าถึงเซิร์ฟเวอร์ทั้งสองผ่าน ssh ฉันต้องการคัดลอกไฟล์จาก server1 ไปยัง server2 ฉันมักจะใช้แฮ็ค ssh + tar อย่างเช่น: ssh -q root@Server1 'tar -vzc /path/to/files ' | ssh -q root@Server2 'tar -vzx -C /' และใช้งานได้ดี แต่ฉันต้องการที่จะก้าวไปอีกขั้นและทำให้ rsync ทำงานระหว่างสองเซิร์ฟเวอร์ VIA บนเดสก์ท็อปของฉัน ตอนนี้ฉันรู้แล้วว่าฉันสามารถเริ่มต้นช่องสัญญาณส่งต่อพอร์ต ssh ในเทอร์มินัลหนึ่งแล้ว rsync เหนือช่องสัญญาณนั้นในหน้าต่างอื่น แต่ฉันไม่ต้องการยุ่งกับเทอร์มินัลที่สองหรือสร้างและทำลายช่องทางส่งต่อพอร์ตแยก …
8 linux  boot  rsync  tar 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.