Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีลบไฟล์หรือไดเรกทอรีใน Linux

หากคุณมีสิทธิ์ root บน Linux PC ของคุณ คุณมีอำนาจลบไฟล์หรือไดเรกทอรีใดๆ ที่คุณชอบ นี่อาจเป็นอันตราย อย่างไรก็ตาม ด้วยเครื่องมืออย่าง rm ที่อนุญาตให้ผู้ใช้ลบไฟล์ระบบสำคัญโดยไม่ได้ตั้งใจ คุณจึงต้องมีการป้องกันบางอย่าง หากคุณพยายามลบไฟล์หรือไดเรกทอรีใน Linux

มีหลายวิธีที่คุณสามารถลบไดเรกทอรีหรือไฟล์บน Linux ได้ ไม่ว่าจะใช้ file manager ของ Linux distribution หรือเทอร์มินัลเปิดอยู่ (ตราบใดที่คุณมีสิทธิ์ที่เหมาะสม) หากคุณต้องการทราบวิธีลบไฟล์หรือไดเรกทอรีใน Linux นี่คือสิ่งที่คุณต้องทำ

การใช้ File Manager เพื่อลบไฟล์หรือไดเรกทอรีใน Linux

หากคุณเป็นผู้เริ่มต้น Linux คุณอาจกังวลเกี่ยวกับการใช้เทอร์มินัลลบไฟล์หรือโฟลเดอร์ใน Linux เพราะไม่มีทางกลับเมื่อคุณสั่งคำสั่งอย่าง rm เริ่มลบไฟล์ แทนที่จะเสี่ยง คุณสามารถใช้ file manager ที่มาพร้อมกับ Linux distribution ของคุณเพื่อลบไฟล์หรือโฟลเดอร์แทน

แม้ Linux file managers จะแตกต่างในการออกแบบ พวกเขาควรทำงานคล้ายกันมาก บทนี้นำเสนอวิธีทำโดยใช้ file manager ของ Ubuntu แต่ขั้นตอนน่าจะคล้ายกันสำหรับ file manager ที่รวมอยู่ใน distributions อื่นๆ

  1. เริ่มต้นด้วยการเปิด file manager บน Linux distro ของคุณ นี่ไม่ควรหายาก ไอคอนผู้ใช้น่าจะเป็นรูปโฟลเดอร์เอกสาร บน Ubuntu แอปนี้ชื่อ Files
  1. ใน file manager ของ distro คุณ ให้ไปที่ไดเรกทอรีที่มีไฟล์หรือซับโฟลเดอร์ที่คุณต้องการลบ ก่อนอื่น ให้เลือกไฟล์หรือโฟลเดอร์ที่คุณต้องการลบ เมื่อเลือกแล้ว ให้คลิกขวาที่พวกมันและเลือก Move to Trash, Move to Bin, หรือ Delete ขึ้นอยู่กับ distribution และ locale ของคุณ คุณยังสามารถกดปุ่ม Delete บนคีย์บอร์ดเพื่อให้ได้ผลลัพธ์เดียวกัน
  1. Distributions ส่วนใหญ่ดำเนินระบบขยะที่อนุญาตให้คุณ "จัดเก็บ" ไฟล์ก่อนที่จะถูกลบ จะให้โอกาสคุณกู้คืนได้ โดยทั่วไปอยู่บนเดสก์ท็อป เป็นรายการใน file manager หรือเป็นแอปที่คุณเปิดได้ในเมนูซอฟต์แวร์ เพื่อทำให้การลบเสร็จสมบูรณ์ ให้เข้าโฟลเดอร์ขยะ แล้วเลือกตัวเลือก Empty หรือ Erase ตัวเลือกเหล่านี้อาจแตกต่างกัน ขึ้นอยู่กับ distribution
  1. ทางเลือก ให้เลือกไอเทม (หรือไอเทมหลายอย่าง) แล้วคลิกขวาและเลือก Delete from Trash เพื่อลบออกอย่างสมบูรณ์แทน

วิธีลบไฟล์หรือไดเรกทอรีใน Linux โดยใช้คำสั่ง rm

การลบไฟล์หรือโฟลเดอร์โดยใช้แอป file manager ของ distro ทำงานได้ดี แตมีข้อจำกัดบางอย่าง ตัวอย่างเช่น หากคุณไม่ใช่เจ้าของไฟล์ คุณจะต้องเปิด file manager ด้วยสิทธิ์ root ผ่านเทอร์มินัลเพื่อลบมัน คุณยังไม่สามารถใช้แอปแบบนี้บนการติดตั้ง Linux แบบ headless (เทอร์มินัลอย่างเดียว) ได้

นี่คือที่ที่คำสั่ง rm เข้ามาช่วย คำสั่ง Unix นี้มาจากปี 1971 และยังคงเป็นวิธีที่เร็วที่สุดในการลบไฟล์หรือไดเรกทอรีบน Linux อย่าแต่ขอควรระวัง — คำสั่ง rm มีอำนาจมาก โดยเฉพาะหากคุณรันมันกับ sudo หรือเป็น root user โดยตรง คุณจึงต้องระวังในการใช้มัน

  1. เพื่อลบไฟล์เดี่ยวด้วย rm ให้เปิดเทอร์มินัลใหม่ (หรือการเชื่อมต่อ SSH แบบ remote) และพิมพ์ rm file แทนที่ file ด้วยชื่อไฟล์ที่ถูกต้อง หากคุณไม่อยู่ในไดเรกทอรีเดียวกัน คุณจะต้องใช้ cd ไปก่อน หรือใช้ full file path (เช่น rm /path/to/file) แทน
  1. เพื่อลบหลายไฟล์ ให้พิมพ์ rm file1 file2 แทนที่ file1 และ file2 ด้วยชื่อไฟล์และพาธที่ถูกต้อง คุณสามารถเพิ่มไฟล์เพิ่มเติมเข้าไปในคำสั่งนี้เพื่อลบมากกว่าสองไฟล์
  1. หากคุณต้องการลบไดเรกทอรีว่างบน Linux ให้พิมพ์ rm -d directory แทนที่ directory ด้วยชื่อไดเรกทอรีและพาธที่ถูกต้อง หากไดเรกทอรีไม่ว่างและมีซับโฟลเดอร์หรือไฟล์ ให้พิมพ์ rm -r directory แทนที่ directory ด้วยชื่อและพาธที่ถูกต้อง
  1. คุณยังสามารถลบหลายไดเรกทอรีพร้อมกันได้โดยพิมพ์ rm -r directory1, directory2 ฯลฯ
  1. หากคุณต้องการลบไฟล์หรือไดเรกทอรีทั้งหมดที่ตรงกับชื่อบางส่วน คุณสามารถใช้ wildcards เช่น asterisk (*) ได้ เพื่อทำเช่นนี้ ให้พิมพ์ rm fil* หรือ rm -r dir* แทนที่ placeholder fil หรือ dir ด้วยชื่อไฟล์และพาธไดเรกทอรีของคุณเอง
  1. หากไฟล์หรือไดเรกทอรีได้รับการป้องกัน คุณอาจต้องบังคับการลบ เพื่อทำเช่นนี้ ให้พิมพ์ rm -rf path แทนที่ placeholder path ด้วยพาธไดเรกทอรีหรือไฟล์ที่ถูกต้อง คำสั่งนี้ มีความเสี่ยงสูงมาก ดังนั้นตรวจสอบให้แน่ใจว่าพาธที่คุณใช้ถูกต้องก่อนดำเนินการ
  1. หากคุณกังวลเกี่ยวกับการใช้คำสั่ง rm -rf คุณสามารถบังคับให้ rm ขอยืนยันก่อนลบไฟล์หรือไดเรกทอรีแต่ละรายการ ได้ โดยใช้ rm -i path, แทนที่ path ด้วยชื่อไฟล์หรือพาธไดเรกทอรีของคุณ สำหรับไดเรกทอรี ใช้ rm -ir path แทน สำหรับแต่ละรายการ ให้กดปุ่ม Y บนคีย์บอร์ด แล้วกด Enter เพื่อยืนยัน

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวเลือกและอาร์กิวเมนต์ rm ที่เป็นไปได้ ให้พิมพ์ man shred ในเทอร์มินัลเพื่อดูคู่มือเต็มรูปแบบ

การลบไฟล์ให้หมดซากโดยใช้คำสั่ง shred

แม้คำสั่งอย่าง rm และ unlink จะดีสำหรับการลบไฟล์ใน Linux พวกมันทิ้งร่องรอยไว้ คุณ (หรือใครบางคน) อาจใช้ร่องรอยเหล่านี้กู้คืนไฟล์จากฮาร์ดดิสก์หรือพกพาที่คุณลบไปก่อนหน้านี้ นี่อาจไม่เหมาะสม โดยเฉพาะหากคุณไม่ต้องการให้ไฟล์ถูกกู้คืน

เพื่อแก้ปัญหานี้ คุณสามารถเขียนทับไฟล์ก่อนโดยใช้คำสั่ง shred นี่จะทำให้แน่ใจว่าข้อมูลทั้งหมดภายในไฟล์ถูกเขียนทับซ้ำๆ ก่อนที่จะถูกลบ ทำให้ไม่มีร่องรอยของไฟล์เหลือ และป้องกันไม่ให้ถูกกู้คืน คุณอาจต้องการใช้คำสั่งนี้ลบเอกสารละเอียดอ่อน ตัวอย่างเช่น

  1. เพื่อทำเช่นนี้ ให้เปิดหน้าต่างเทอร์มินัลหรือเชื่อมต่อ remote ด้วย SSH และพิมพ์ shred file แทนที่ file ด้วยชื่อไฟล์และพาธของคุณเอง หากคุณไม่ต้องการให้พาธไปยังไฟล์ ให้ใช้ cd ไปยังไดเรกทอรีที่มีไฟล์หรือซับไดเรกทอรีที่คุณต้องการลบก่อน
  1. คำสั่ง shred มีพารามิเตอร์เพิ่มเติมที่คุณสามารถส่งผ่านเพื่อให้แน่ใจว่าไฟล์ถูกลบอย่างปลอดภัย ตัวอย่างเช่น shred -f จะบังคับลบไฟล์ที่ป้องกันการเขียน ในขณะที่ shred -u จะรับรองว่าไฟล์ถูกลบอย่างสมบูรณ์หลังจาก shred ทำให้มันไม่ปรากฏใน file manager หรือการใช้คำสั่ง ls
  1. หากคุณต้องการเขียนทับไฟล์มากกว่า 3 ครั้งมาตรฐาน ให้ใช้ shred -n 0 แทนที่ 0 ด้วยค่าตัวเลขทางเลือก หากคุณต้องการซ่อนเอฟเฟกต์ shred ให้ใช้ shred -z เพื่อบังคับให้รันสุดท้ายเขียนทับไฟล์ด้วยศูนย์
  1. คำสั่ง shred ปกติไม่แสดงผลลัพธ์ในเทอร์มินัล หากคุณต้องการดูรายละเอียดมากขึ้นเกี่ยวกับสิ่งที่มันทำขณะรัน ให้ใช้ shred -v แทน

เช่นเดียวกับ rm คุณสามารถเรียนรู้เพิ่มเติมได้โดยพิมพ์ man shred ในเทอร์มินัลก่อนใช้คำสั่ง

การปกป้องไฟล์ของคุณบนระบบ Linux

เมื่อคุณลบไดเรกทอรีหรือไฟล์ใน Linux คุณกำลังปล่อยพื้นที่บนฮาร์ดดิสก์สำหรับไฟล์ที่สำคัญจริงๆ ไม่ว่าจะเป็นเอกสารสำคัญหรือรูปถ่ายที่ไม่มีที่มาใหม่ ไม่ว่าคุณจะใช้ Linux Mint หรือ distribution หลักอื่นๆ ขั้นตอนด้านบนควรทำงานได้สำหรับเกือบทุก Linux distro ที่คุณเลือกใช้

หากคุณกังวลเรื่องการสูญเสียข้อมูล มีขั้นตอนบางอย่างที่คุณสามารถทำเพื่อปกป้องไฟล์ของคุณ แม้ระบบ Linux จะปลอดภัยกว่าปกติ แต Linux antivirus สามารถช่วยให้ไฟล์ของคุณปลอดภัยจากมัลแวร์ที่อาจแพร่กระจายข้ามเครือข่ายท้องถิ่น คุณอาจต้องการพิจารณา automated file backup โดยใช้ local หรือ cloud storage ด้วย