สร้างและแก้ไขไฟล์ Zip ใน Linux โดยใช้ Terminal

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

ง่ายต่อการใช้Zip (เพื่อสร้าง) และUnzip (เพื่อขยาย) ไฟล์เก็บถาวรในLinux อันที่จริง โปรแกรมจัดการไฟล์เก็บถาวร GUI ส่วนใหญ่ (เช่นArk , File RollerและXarchiver ) จะทำหน้าที่เป็นส่วนหน้าของโปรแกรมเก็บถาวรบรรทัดคำสั่งใดๆ ที่คุณมีบนคอมพิวเตอร์ของคุณ และZipก็ไม่มีข้อยกเว้น แน่นอน เรายังสามารถใช้ZipจากTerminalได้ นี่คือวิธีการ

ขั้นตอนแรก อย่างที่คุณอาจเดาได้คือเปิดTerminal

01Open_Terminal

จากนั้นพิมพ์ “ sudo apt-get install zip unzip ” (โดยไม่ต้องใส่เครื่องหมายอัญประกาศ) เพื่อให้แน่ใจว่าเราได้ติดตั้ง zip และ unzip แล้ว

02Install_Zip_and_Unzip

หมายเหตุ: หากทั้งสองโปรแกรมได้รับการติดตั้งแล้ว คุณจะได้รับข้อความแจ้งว่าในกรณีนี้ ดังที่แสดงไว้ด้านบน(Note: if those two programs are already installed, you’ll receive a message stating this to be the case, as shown above.)

เมื่อติดตั้งแล้ว เราสามารถใช้ zip เพื่อสร้างไฟล์เก็บถาวร (หรือแก้ไขไฟล์ที่มีอยู่) และเปิดเครื่องรูดเพื่อขยายไปยังไฟล์ต้นฉบับ เพื่อประโยชน์ของบทความนี้ เราจะสร้างโฟลเดอร์ใหม่บนเดสก์ท็อป(Desktop)ที่เรียกว่าStuff ในTerminalเราสามารถทำได้ด้วยคำสั่งเดียว – mkdir /home/username/Desktop/Stuff (แน่นอน คุณจะต้องแทนที่ “ชื่อผู้ใช้” ด้วยชื่อผู้ใช้ของคุณเองดังที่แสดงด้านล่าง และถ้าคุณมีโฟลเดอร์Stuff อยู่แล้ว บนเดสก์ท็อป(Desktop)คุณจะต้องเปลี่ยนชื่อ)

03Make_Stuff_Directory

ตอนนี้เรามี โฟลเดอร์ Stuffแล้ว เราจะใช้คำสั่ง 'cd' เพื่อสร้าง โฟลเดอร์ Stuff ให้กับ ไดเร็กทอรีการทำงานปัจจุบันของเรา

cd /home/username/Desktop/Stuff

ตอนนี้ ให้พิมพ์touch doc1.txt doc2.txt doc3.txt && mkdir FilesลงในTerminal ของคุณ ซึ่งจะสร้างโฟลเดอร์ชื่อFilesรวมถึงเอกสารสามฉบับ ได้แก่ doc1.txt, doc2.txt และ doc3.txt ภายในโฟลเดอร์Stuff .

04Make_Docs

อีกหนึ่งคำสั่ง เพื่อ 'cd' ลงในโฟลเดอร์ Files(Files)ที่สร้างขึ้นใหม่(cd Files ) เพราะเราต้องการเอกสารอื่นในนั้น

cd ไฟล์(cd Files)

สุดท้าย พิมพ์touch doc4.txt doc5.txt doc6.txtเพื่อสร้างเอกสารใหม่สามฉบับ

05Make_More_Docs

ตอนนี้พิมพ์cd ../..เพื่อเปลี่ยนDesktopกลับไปเป็นไดเร็กทอรีการทำงาน

06CD_Back_To_Desktop

ขั้นตอนสุดท้ายก่อนสร้างไฟล์ zip คือการสร้างเอกสาร "พิเศษ" สองชุดบนเดสก์ท็อป(Desktop)ที่มีชื่อเดียวกับไฟล์ที่เราเพิ่งสร้างขึ้น ดังนั้นให้พิมพ์touch doc2.txt doc3.txtเพื่อสร้าง

07สร้าง_ซ้ำ_เอกสาร

สุดท้าย เปิดไฟล์ข้อความ "พิเศษ" ทั้งสองไฟล์และเพิ่มข้อความเข้าไป ไม่จำเป็นต้องมีความหมายใดๆ (หรือยาว) เพียงเพื่อให้เราเห็นว่าเอกสารเหล่านี้แตกต่างจากที่สร้างไว้แล้วใน โฟลเดอร์ Stuffและไฟล์

เมื่อเสร็จแล้ว เราสามารถเริ่มสร้างไฟล์ zip ของเราได้ วิธีที่ง่ายที่สุดในการใช้ zip คือการบอกชื่อไฟล์ zip ที่คุณต้องการสร้าง จากนั้นตั้งชื่อไฟล์แต่ละไฟล์ที่ควรใส่ลงในไฟล์นั้นอย่างชัดเจน ดังนั้น สมมติว่าไดเร็กทอรีการทำงานของเราคือDesktopเราจะพิมพ์zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txtเพื่อสร้างไฟล์เก็บถาวรชื่อ test.zip (เราไม่จำเป็นต้องใช้ไฟล์ “.zip ” ในคำสั่งตามที่จะถูกเพิ่มโดยอัตโนมัติ) ซึ่งจะมี doc1.txt, doc2.txt และ doc3.txt ตามที่พบในโฟลเดอร์Stuff

08Create_First_Archive

คุณจะเห็นผลลัพธ์เล็กน้อย ซึ่งแจ้งให้เราทราบว่ามีการเพิ่มเอกสารสามฉบับ (doc1.txt, doc2.txt และ doc3.txt) ลงในไฟล์เก็บถาวรแล้ว

09First_Archive_Output

เราสามารถทดสอบได้โดยดับเบิลคลิกที่ไฟล์เก็บถาวร ซึ่งควรจะอยู่บนเดสก์ท็อป(Desktop)ของ เรา การทำเช่นนั้นควรเปิดขึ้นในโปรแกรมเก็บถาวรมาตรฐาน ( Ark in KDE , File RollerในGNOMEและXarchiverในXfce )

10Open_In_Archive_Program

แล้วโฟลเดอร์ Files ล่ะ? สมมติว่าเราต้องการ เพิ่มเอกสารภายใน ลงในไฟล์เก็บถาวรของเราด้วย เราสามารถใช้คำสั่งเดียวกันกับด้านบน แต่เพิ่มStuff/Files/*ที่ส่วนท้ายของคำสั่ง

11Add_To_Archive

เครื่องหมายดอกจันหมายถึงการรวมทุกอย่างไว้ในโฟลเดอร์ ดังนั้นหากมีโฟลเดอร์อื่นในโฟลเดอร์Filesก็จะถูกเพิ่มด้วยเช่นกัน อย่างไรก็ตาม หากโฟลเดอร์นั้นมีรายการอยู่ภายใน จะไม่รวมรายการเหล่านั้น ในการทำเช่นนั้น เราจะต้องเติม-r (ซึ่งย่อมาจาก recursive หรือ recursively)

12Add_Recursively

ควรสังเกตว่าคำสั่งสองคำสั่งข้างต้นไม่ได้ออกแบบมาเพื่อ "เพิ่ม" ไฟล์ในไฟล์ zip พวกเขาได้รับการออกแบบมาเพื่อสร้าง อย่างไรก็ตาม เนื่องจากไฟล์เก็บถาวรมีอยู่แล้ว คำสั่งเพียงเพิ่มไฟล์ใหม่ลงในไฟล์เก็บถาวรที่มีอยู่  เคย(Had)ต้องการสร้างไฟล์เก็บถาวรนี้ทั้งหมดในคราวเดียว (แทนที่จะเป็นสามขั้นตอนที่เราดำเนินการเพื่อค่อยๆ เพิ่มไฟล์ลงในไฟล์เพื่อการศึกษา) เราสามารถพิมพ์zip -r test Stuff/*และจะสร้างไฟล์เก็บถาวรเดียวกัน

13สร้าง_แบบเรียกซ้ำ

คุณจะสังเกตเห็นจากคำสั่งและผลลัพธ์ที่ได้รวมไฟล์สามไฟล์ใน โฟลเดอร์ Stuffรวมถึงเอกสารสามรายการใน โฟลเดอร์ Filesดังนั้นทุกอย่างจึงสำเร็จด้วยคำสั่งที่เรียบง่ายและสวยงาม

แล้วเอกสาร "พิเศษ" สองฉบับที่เราสร้างบนเดสก์ท็อป(Desktop)ล่ะ  วิธี(Well)การทำงานของ zip คือถ้าคุณพยายามเพิ่มไฟล์ไปยังไฟล์เก็บถาวรที่มีอยู่แล้วในไฟล์เก็บถาวร ไฟล์ใหม่จะเขียนทับไฟล์เก่า ดังนั้น เนื่องจากเอกสารที่เราสร้างบนเดสก์ท็อป(Desktop) ของเรา (doc2.txt และ doc3.txt) มีเนื้อหาอยู่ (เราเพิ่ม "hello world!" ลงใน doc2.txt และ "yay" ใน doc3.txt) เราน่าจะทำได้ เพิ่มเอกสารเหล่านั้นแล้วสามารถทดสอบได้  ขั้นแรก(First)เราจะลากเอกสาร “พิเศษ” สองฉบับไปไว้ในโฟลเดอร์Stuff

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

เมื่อเสร็จแล้ว ให้เพิ่มลงในไฟล์เก็บถาวรโดยพิมพ์zip test Stuff/doc2.txt Stuff/doc3.txt

14Adding_Files_To_Archive

คุณจะสังเกตเห็นว่าคำสั่งดังกล่าวจะแสดงไฟล์ที่กำลังอัปเดตแทนการเพิ่ม หากตอนนี้เราตรวจสอบที่เก็บถาวร เราจะสังเกตเห็นว่าไฟล์ต่างๆ ดูเหมือนจะเหมือนกัน แต่เมื่อเปิด doc2.txt และ doc3.txt คุณจะเห็นว่ามีเนื้อหาอยู่ในนั้น แทนที่จะว่างเปล่าเหมือนไฟล์ต้นฉบับของเรา คือ.

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

15Add_All_Files

การดำเนินการนี้จะเพิ่มไฟล์และโฟลเดอร์ทั้งหมด แม้ว่าจะไม่รวมรายการใดๆ ในโฟลเดอร์เหล่านั้น ในการเพิ่มเราจะเพิ่ม -r อีกครั้งเพื่อให้zip -r backup *จะเป็นคำสั่ง

16Add_Files_Recursively

ตอนนี้เราเกือบจะอยู่ที่นั่นแล้ว ในการเพิ่มโฟลเดอร์ ไฟล์ และไฟล์ที่ซ่อนอยู่ซ้ำๆ คำสั่งนั้นง่ายมาก: zip -r backup

17Add_Files_Recursively_And_Hidden

ตอนนี้การคลายซิปนั้นค่อนข้างง่าย ก่อนที่เราจะดำเนินการใดๆ ให้ดำเนินการลบเอกสารบนเดสก์ท็อป(Desktop) (doc2.txt และ doc3.txt) รวมถึงโฟลเดอร์Stuff เมื่อมันหายไป การพิมพ์unzip test.zipจะขยายเนื้อหาของไฟล์เก็บถาวรแบบซิปของเราไปยังไดเร็กทอรีปัจจุบันของคุณ

18Unzip_Archive

หมายเหตุ: หากเราไม่ได้ลบเอกสาร เราจะพยายามเปิดเครื่องรูดเนื้อหาของไฟล์ zip ของเราลงในไฟล์ที่มีอยู่ ดังนั้นจะถูกถามว่าเราต้องการแทนที่เอกสารทุกฉบับหรือไม่

และนั่นแหล่ะ! การ ซิปและ การขยาย ไฟล์(Unzipping)เป็นงานที่ค่อนข้างธรรมดา และถึงแม้จะมี ตัวเลือก GUIให้เลือกใช้ แต่การฝึกฝน คุณจะพบว่าการทำงานแบบเดียวกันจากเทอร์มินัล(Terminal)ก็ไม่ใช่เรื่องยากเช่นกัน



About the author

ฉันเป็นผู้ตรวจทานมืออาชีพและเพิ่มประสิทธิภาพการทำงาน ฉันชอบใช้เวลาออนไลน์เล่นวิดีโอเกม สำรวจสิ่งใหม่ ๆ และช่วยเหลือผู้คนเกี่ยวกับความต้องการด้านเทคโนโลยีของพวกเขา ฉันมีประสบการณ์กับ Xbox มาบ้างแล้วและได้ช่วยเหลือลูกค้าในการรักษาระบบของพวกเขาให้ปลอดภัยมาตั้งแต่ปี 2552



Related posts