Score:0

วิธีสตรีมไฟล์เก็บถาวร tar โดยใช้ plink

ธง in

ฉันต้องการสตรีมไฟล์เก็บถาวร .tar จากเครื่อง Windows โดยใช้ PowerShell ไปยังเครื่อง Linux และแยกไฟล์เก็บถาวรออกจากสตรีม PowerShell พุชเนื้อหาที่เก็บถาวรไปยัง stdout และ plink.exe สตรีมเนื้อหาไปยัง stdin ของบรรทัดรับคำสั่ง

ฉันมากับคำสั่งต่อไปนี้

รับเนื้อหา file.tar | & plink.exe -C -agent "remote_host" "tar xf -"

อย่างไรก็ตาม คำสั่ง tar รู้จักเนื้อหาของไฟล์เพียงบางส่วนเท่านั้น สิ่งที่ฉันขาดหายไปหรือมีวิธีแก้ไขปัญหาที่ดีกว่านี้หรือไม่

ข้อความผิดพลาด:

tar: ข้ามไปที่ส่วนหัวถัดไป
tar: ออกด้วยสถานะล้มเหลวเนื่องจากข้อผิดพลาดก่อนหน้านี้

in flag
โปรดโพสต์วิธีแก้ปัญหาของคุณเป็นคำตอบแทนที่จะแก้ไขเป็นคำถามของคุณ
Score:0
ธง in

เห็นได้ชัดว่านี่เป็นปัญหาในการเข้ารหัส ตามค่าเริ่มต้น Get-Content จะส่งคืนเนื้อหาของไฟล์เป็นสตริงที่เข้ารหัส แต่ tar คาดว่าจะเป็นไบนารีสตรีม วิธีแก้ไขคือเข้ารหัสข้อมูลไบนารีเป็นรูปแบบข้อความ เช่น Base64 แล้วถอดรหัส ฉันมาถึง one-liner ต่อไปนี้โดยช้ามาก

[System.Convert]::ToBase64String((รับเนื้อหา -AsByteStream file.tar)) | plink.exe -C -agent "remote_host" "base64 -di | tar xvf -"

ฉันคิดว่าฉันจะอัปโหลดไฟล์และแยกไฟล์เหล่านั้นต่างหาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา