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

รูปแบบไฟล์เก็บถาวร tar และ / หรือยูทิลิตี้บรรทัดคำสั่งสำหรับการทำงานกับไฟล์ tar

1
มีวิธีการ tar ไฟล์หลายไฟล์ในไดเรกทอรี (Linux / Unix) หรือไม่?
มีวิธีที่ค่อนข้างง่ายในการtarหลายไฟล์ (เฉพาะ) ในไดเรกทอรีหรือไม่? ตัวอย่างเช่นสมมติว่าต่อไปนี้เป็นไดเรกทอรี: -rw-r--r-- 1 allend bin 98 Jul 20 15:50 scriptlog.log -rw-r--r-- 1 allend bin 19533 Jul 29 21:47 serveralert.log -rwxr--r-- 1 allend bin 1625 Jul 29 21:47 orion -rw-r--r-- 1 allend bin 24064 Jul 29 21:49 orion_files.tar -rwxr--r-- 1 allend bin 156 Aug 4 21:22 htmltest -rw-r--r-- …
26 files  tar 

3
ทดสอบความสมบูรณ์ของไฟล์ tar ใน bash
ฉันมีสคริปต์ทุบตีที่สร้างไฟล์ '.tar' เมื่อสร้างไฟล์แล้วฉันต้องการทดสอบความสมบูรณ์ของไฟล์และส่งอีเมลไปยังผู้ใช้รูทหากความถูกต้องไม่ดี ฉันรู้ว่าฉันจะต้องใช้คำสั่งtar -tf /root/archive.tarเพื่อตรวจสอบความสมบูรณ์ของไฟล์ แต่ฉันจะใช้สิ่งนี้ใน bash if คำสั่งและตรวจสอบข้อผิดพลาดได้อย่างไร
25 bash  tar 

7
tar + rsync + untar ความเร็วจะได้รับประโยชน์มากกว่า rsync หรือไม่
ฉันมักจะพบว่าตัวเองกำลังส่งโฟลเดอร์ที่มี 10K - 100K ของไฟล์ไปยังเครื่องระยะไกล (ภายในเครือข่ายเดียวกันในมหาวิทยาลัย) ฉันแค่สงสัยว่ามีเหตุผลที่จะเชื่อ tar + rsync + untar หรือเพียงแค่ tar (from src to dest) + untar อาจเร็วกว่าในทางปฏิบัติมากกว่า rsync เมื่อถ่ายโอนไฟล์ที่เป็นครั้งแรก ฉันสนใจคำตอบที่กล่าวถึงข้างต้นในสองสถานการณ์: ใช้การบีบอัดและไม่ใช้ ปรับปรุง ฉันเพิ่งเรียกใช้การทดลองบางอย่างซึ่งย้ายไฟล์ขนาดเล็ก 10,000 ไฟล์ (ขนาดโดยรวม = 50 MB) และtar+rsync+untarเร็วกว่าการรันrsyncโดยตรงอย่างสม่ำเสมอ(ทั้งที่ไม่มีการบีบอัด)
25 rsync  tar 

4
สร้างไดเรกทอรีเป้าหมายเมื่อทำการแยก tarball
เป็นไปได้ไหมที่จะสร้างไดเรกทอรีเป้าหมายคล้ายกับmkdir -pที่ฉันสามารถกำหนดไดเรกทอรีเป้าหมายที่ไม่มีอยู่ภายในคำสั่ง tar ของฉันและ tar จะสร้างไดเรกทอรีให้ฉัน ฉันรู้ว่าฉันสามารถเปลี่ยนเส้นทางการส่งออกไปยังไดเรกทอรีที่ใช้tar -C /target/dirแต่ไม่ได้ผลหากไดเรกทอรีเป้าหมายไม่มีอยู่จริง
25 directory  tar 

3
tar cvf หรือ tar -cvf?
ฉันได้เรียนรู้การใช้ tar โดยไม่มี '-' สำหรับตัวเลือกเช่นtar cvfz dir.tar.gz Directory/แต่เมื่อเร็ว ๆ นี้ฉันมีtar -czvfไวยากรณ์แตกต่างกันเล็กน้อย(ฉันคิดว่า 'f' ต้องเป็นตัวเลือกสุดท้ายในกรณีนี้) ทั้งทำงานบน linux และ Mac OS มีไวยากรณ์ที่แนะนำหรือไม่ถ้าไม่มี '-' ซึ่งพกพาสะดวกกว่าในรสชาติ unix หรือไม่?

7
สิ่งที่ต้องใช้ในการสำรองไฟล์รักษา ACLs
เมื่อใช้ยูทิลิตี tar เพื่อเก็บไฟล์ในการสำรองข้อมูลหนึ่งจะสูญเสีย ACL ที่ขยายเพิ่ม มีบางส่วนที่ใช้กันทั่วไปและไม่ใช่โซลูชันแฮ็ค (เช่น: สร้างสคริปต์ที่จะคำนวณ ACLs ใหม่ตั้งแต่เริ่มต้น) เพื่อรักษา ACLs หรือไม่
24 acl  tar  backup  permissions 

3
tar กับเส้นทางญาติ
ฉันพยายามสร้างไฟล์เก็บถาวรด้วย tar โดยใช้เส้นทางสัมพัทธ์ ฉันใช้คำสั่งต่อไปนี้: tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order แต่ไฟล์ที่เก็บถาวรยังคงมีเส้นทางที่แน่นอน ฉันจะใช้ tar กับเส้นทางที่สัมพันธ์กันได้อย่างไร
24 tar 

4
วิธีที่เร็วที่สุดในการรวมไฟล์หลาย ๆ ไฟล์ไว้ในที่เดียว (tar czf ช้าเกินไป)
ขณะนี้ฉันกำลังทำงานtar czfเพื่อรวมไฟล์สำรองข้อมูล ไฟล์อยู่ในไดเรกทอรีเฉพาะ แต่จำนวนไฟล์เพิ่มขึ้น การใช้tzr czfเวลานานเกินไป (มากกว่า 20 นาทีและนับ) ฉันต้องรวมไฟล์ต่าง ๆ ให้เร็วขึ้นและปรับขนาดได้ ฉันได้พบgenisoimage, และreadom mkisofsแต่ฉันไม่รู้ว่าเร็วที่สุดและมีข้อ จำกัด อะไรบ้างสำหรับแต่ละข้อ
23 backup  tar  archive 

3
อะไร. ?? * หมายถึงคำสั่ง shell?
ต่อไปนี้คำสั่งจะtarทุกคน "จุด" ไฟล์และโฟลเดอร์: tar -zcvf dotfiles.tar.gz .??* ผมคุ้นเคยกับการแสดงออกปกติ.??*แต่ฉันไม่เข้าใจวิธีการตีความ ฉันดำเนินการls .??*และtree .??*ดูไฟล์ที่อยู่ในรายการ เหตุใดนิพจน์ทั่วไปนี้จึงรวมไฟล์ทั้งหมดภายในโฟลเดอร์ที่ขึ้นต้นด้วย.ตัวอย่าง
22 wildcards  tar 

6
ฉันจะทราบได้อย่างไรว่าการรัน tar จะทำให้ดิสก์เติมเต็ม
ถ้าฉันเรียกใช้tar -cvfในไดเรกทอรีขนาด 937MB เพื่อสร้างสำเนาของโครงสร้างโฟลเดอร์ที่ซ้อนกันที่สามารถดาวน์โหลดได้อย่างง่ายดายฉันจะเสี่ยงต่อการเติมดิสก์ตามdf -hผลลัพธ์ดังนี้ /dev/xvda1 7.9G 3.6G 4.3G 46% / tmpfs 298M 0 298M 0% /dev/shm คำถามที่เกี่ยวข้อง: หากดิสก์เติมเต็มทำไมลินุกซ์ (Amazon AMI) และ / หรือtarกำลังทำอะไรอยู่ใต้ฝากระโปรง? ฉันจะตรวจสอบข้อมูลนี้อย่างถูกต้องได้อย่างไรโดยไม่ต้องถามอีก
22 tar  disk-usage 

2
ยกเลิกการเชื่อมโยงฮาร์ดลิงก์
ในหน้าคู่มือการใช้งานtarคำสั่งตัวเลือกสำหรับการเชื่อมโยงฮาร์ดต่อไปนี้จะปรากฏ -h, --dereference follow symlinks; archive and dump the files they point to --hard-dereference follow hard links; archive and dump the files they refer to จะtarรู้ได้อย่างไรว่าไฟล์เป็นฮาร์ดลิงก์ มันติดตามได้อย่างไร? ถ้าฉันไม่เลือกตัวเลือกนี้ มันไม่ยากลำบากอย่างไร
22 tar  hard-link 

4
วิธีแก้ไขข้อผิดพลาด“ tar: มายากลที่ไม่ถูกต้อง” บน Linux Alpine
ฉันกำลังติดตั้ง sqlite บน Alpine Linux ฉันดาวน์โหลดsqlite-autoconf-3130000.tar.gzแต่tarไม่สามารถเปิดได้ ฉันลองคำตอบนี้แต่มันไม่ทำงาน tarให้ข้อความนี้: tar: invalid magic tar: short read ฉันเขียนคำสั่งเหล่านี้ wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz tar -zxvf sqlite-autoconf-3090100.tar.gz
22 tar  alpine-linux 

2
ทำไม tar ดูเหมือนจะข้ามเนื้อหาไฟล์เมื่อไฟล์ที่ส่งออกเป็น / dev / null?
ฉันมีไดเรกทอรีที่มีข้อมูลมากกว่า 400 GiB ฉันต้องการตรวจสอบว่าไฟล์ทั้งหมดสามารถอ่านได้โดยไม่มีข้อผิดพลาดดังนั้นวิธีที่ง่าย ๆ ที่ฉันคิดก็คือการนำtarไป/dev/nullใช้ แต่ฉันกลับเห็นพฤติกรรมต่อไปนี้แทน: $ time tar cf /dev/null . real 0m4.387s user 0m3.462s sys 0m0.185s $ time tar cf - . > /dev/null real 0m3.130s user 0m3.091s sys 0m0.035s $ time tar cf - . | cat > /dev/null ^C real 10m32.985s user 0m1.942s sys 0m33.764s …
21 tar  null 

3
บังคับให้เจ้าของและกลุ่มสำหรับเนื้อหาของไฟล์ tar หรือไม่
ฉันต้องการสร้างไฟล์ tar ที่มีเนื้อหาเป็นของเจ้าของ: คู่ของกลุ่มที่ไม่มีอยู่ในระบบที่ไฟล์นั้นถูกสร้างขึ้นมา นี่คือทิศทางที่ฉันได้ลอง: tar ca --owner='otherowner' --group='othergroup' mydata.tgz mydata และเมื่อใช้คำสั่งนี้ฉันได้รับข้อผิดพลาดต่อไปนี้: tar: otherowner: Invalid owner tar: Error is not recoverable: exiting now มีวิธีบังคับให้ tar ยอมรับเจ้าของหรือไม่: กลุ่มแม้ว่าจะไม่มีอยู่ในระบบที่ไฟล์ถูกสร้างขึ้น?
21 permissions  users  tar 

4
ฉันจะบีบอัดไฟล์ในสถานที่ได้อย่างไร
ฉันมีเครื่องที่มีการใช้งานฮาร์ดดิสก์ 90% ฉันต้องการบีบอัดไฟล์บันทึก 500+ ไฟล์ให้เป็นไฟล์ใหม่ที่เล็กกว่า อย่างไรก็ตามฮาร์ดดิสก์มีขนาดเล็กเกินไปที่จะเก็บไฟล์ต้นฉบับและไฟล์ที่บีบอัดไว้ ดังนั้นสิ่งที่ฉันต้องการคือการบีบอัดไฟล์บันทึกทั้งหมดเป็นไฟล์ใหม่ทีละไฟล์ลบต้นฉบับเมื่อถูกบีบอัด ฉันจะทำสิ่งนั้นใน Linux ได้อย่างไร

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