จะทำการแตกไฟล์ผ่านการเชื่อมต่อ FTP ได้อย่างไร?


19

ฉันเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลของฉันผ่าน FTP และฉันได้รับรายชื่อไดเรกทอรีแล้ว ฉันมีไฟล์ zip เล็กน้อยในรายการ

เป็นไปได้ไหมที่จะทำการแตกไฟล์ (เช่น: test.zip)? ถ้าใช่คำสั่งคืออะไร?


หลังการติดตั้ง unzip คำสั่งคือ unzip test.zip

...through ubuntu terminal...เพื่อประโยชน์ของมันนั่นไม่ใช่ตัวเลือกการเชื่อมต่อนั่นเป็นแอปพลิเคชั่น คุณเชื่อมต่อผ่าน SSH, SFTP, FTP หรือวิธีอื่น ๆ หรือไม่?
Bobby

นี่คือการเชื่อมต่อ ftp
Hearaman

คำตอบ:


15

ไม่สามารถทำการแตกไฟล์ผ่านการเชื่อมต่อ FTP ได้ FTP ย่อมาจาก "File Transfer Protocol" ซึ่งได้รับการออกแบบมาเพื่อถ่ายโอนและจัดการไฟล์บางส่วนบนรีโมตปลายทาง แต่ไม่เรียกใช้คำสั่ง ในการแตกไฟล์เก็บถาวรคุณจะต้องเรียกใช้งานโปรแกรมเช่น tar, bzip2 หรือคล้ายกัน แต่ไม่สามารถทำได้ผ่านการเชื่อมต่อ FTP

คุณต้องการเซสชันอื่นที่ให้คุณเรียกใช้คำสั่งเช่น SSH หรือคุณแยกไฟล์เก็บถาวรบนเครื่องของคุณและถ่ายโอนเนื้อหาผ่าน FTP ซึ่งจะช้ากว่านี้มากหากคุณมีไฟล์ขนาดเล็กจำนวนมากเนื่องจากโอเวอร์เฮดของ FTP


มีซอฟต์แวร์ใด ๆ (linux) ที่เปิดเครื่องรูดไฟล์ของฉัน
Hearaman

@Hearaman unzipคำสั่ง
Kruug

16

คำตอบบริบทน้อยนิด แต่ก็ใช้ได้ผลแน่นอน หากคุณใช้ Apache + php ในไดเรกทอรี ftp ให้อัปโหลดไฟล์ zip ในโฟลเดอร์นั้นและสร้างextractor.php:

$zip = new ZipArchive;
if ($zip->open('my_zip.zip') === TRUE) {
    $zip->extractTo('/path/to/my/zip');
    $zip->close();
    echo 'ok';
}

จากนั้นกด url เช่น: http://example.com/extractor.phpbingo php จะทำการแยก zip สำหรับคุณ


สคริปต์ที่มีประโยชน์มากคุณสามารถใช้ getcwd () สำหรับโฟลเดอร์นี้ aka unix pwd ในสคริปต์
Stepo

3

คุณสามารถทำได้หากคุณเมานต์ทรัพยากร ftp โดยใช้curlftpfs:

curlftpfs ftp://ftp.server.org/ /path/to/mountpoint

แล้วก็

unzip /path/to/mount/test.zip

2
หากไม่ช่วยให้คุณไม่ต้องโอนถ่ายเพราะคอมพิวเตอร์จะทำกระบวนการคลายซิปและไม่ได้อยู่ในเซิร์ฟเวอร์ซึ่งควรเป็นวิธีที่เหมาะสมที่สุด
NetVicious

2

คุณสามารถใช้ unzip หลังจากรัน sudo apt-get install unzip


ฉันติดตั้งแพคเกจ unzip โดยใช้ sudo apt-get install unzip แต่มันให้คำสั่งที่ไม่ถูกต้องกับฉัน

คุณสามารถใช้มันได้เช่น "unzip filename.zip -d / destination"


2

เป็นเป้าหมายของคุณในการคลายซิปบนเซิร์ฟเวอร์ภายนอกหรือคุณต้องการดึงเนื้อหาที่เก็บถาวรไปยังคอมพิวเตอร์ของคุณเองหรือ

กรณีแรกไม่ได้รับการแก้ไขโดย FTP แต่โดย SSH หรือเทคนิคที่คล้ายคลึงกันตามที่อธิบายไว้ในคำตอบอื่น ๆ

หากคุณต้องการรับเนื้อหาที่คลายซิป "โดยตรง" ไปยังคอมพิวเตอร์ของคุณโดยไม่ต้องทำการถ่ายโอนไฟล์ก่อนแล้วจึงทำการคลายซิปคุณสามารถติดไซต์ FTP เป็นโฟลเดอร์และแตกไฟล์เป็นไฟล์ zip ปกติไปยังตำแหน่งบนเครื่องของคุณ คอมพิวเตอร์. นี้จะในทางปฏิบัติสตรีมเนื้อหาไฟล์โดยตรงไปยังโปรแกรมเปิดเครื่องรูดเพื่อให้คุณได้ในทางเทคนิคไม่ถ่ายโอนไฟล์ทั้งหมด แต่ใน (การจราจรคงจะประหยัด) รัฐซิปและเนื้อหาจะปรากฏโดยตรงบนเครื่องคอมพิวเตอร์ของคุณโดยไม่ต้องขั้นตอนกลางอย่างชัดเจน

ฉันไม่ทราบวิธีระบุรูปแบบไฟล์ zip ที่เกี่ยวข้องกับการคลายซิปส่วนหนึ่งของไฟล์ zip หากคุณต้องการถ่ายโอนไฟล์ทั้งหมดอย่างไรก็ตามหรือเฉพาะส่วนที่บีบอัดที่สอดคล้องกับไฟล์นั้น ฉันไม่เห็นเหตุผลทางเทคนิคที่แท้จริงว่าทำไมจึงเป็นไปไม่ได้ที่จะทำการเลือกถ่ายโอนแบบนี้ (โปรโตคอล FTP อนุญาตให้ถ่ายโอนไฟล์บางส่วนเท่านั้นเพื่อเปิดใช้งานต่อไป)


0

เท่าที่ฉันรู้เซิร์ฟเวอร์ FTP บางตัวได้รับการตั้งค่าให้คลายไฟล์โดยอัตโนมัติเมื่อดาวน์โหลด ตัวอย่างเช่นเซิร์ฟเวอร์แสดงรายการไฟล์ที่ชื่อtest.txt.gzด้วยไคลเอนต์ ftp ของคุณคุณสามารถพิมพ์get test.txtจากนั้นเซิร์ฟเวอร์จะส่งไฟล์ผ่าน unzip

นี่คือคำตอบที่สามารถอ่านได้ก่อนเริ่มการดาวน์โหลด: 150 Opening ASCII mode data connection for /usr/bin/gzip.


-1

คุณสามารถใช้คำสั่ง tar

tar -xfz test.zip

4
ในการจดจำตัวอักษร: eXtract Zee Files
Canadian Luke ติดตั้ง MONICA ใหม่

คำสั่งที่ไม่ถูกต้องมาในคอนโซลของฉัน
Hearaman

ด้วย-xzfแทนที่จะ-xfz?
HaydnWVN

(ต้องมีการอนุญาตรูท) ติดตั้ง tar โดย sudo apt-get install tar
Sreejith B Naick

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