มีสองวิธีในการลบไดเร็กทอรีใน Linux คุณสามารถจัดการกับมันแบบกราฟิกจากสภาพแวดล้อมเดสก์ท็อปของคุณหรือทำโดยตรงจากบรรทัดคำสั่ง ไม่ว่าจะด้วยวิธีใดก็ใช้ได้ผล และทั้งคู่ก็มีประสิทธิภาพเช่นกัน
วิธีการแบบกราฟิกเพื่อลบไดเรกทอรีใน Linux
ทุกสภาพแวดล้อมเดสก์ท็อป (และตัวจัดการไฟล์) แตกต่างกันเล็กน้อย บทความนี้จะอธิบายขั้นตอนต่างๆ ในการใช้ Budgie ร่วมกับ Nemo ในฐานะผู้จัดการ แต่กระบวนการจะเหมือนกันในทุกเดสก์ท็อป
เปิดตัวจัดการไฟล์ของคุณและเรียกดูตำแหน่งของไดเร็กทอรีที่คุณต้องการลบ เมื่อคุณพบแล้ว ให้คลิกขวาที่ไดเร็กทอรีนั้นเพื่อเปิดเมนูของการดำเนินการที่มี คุณอาจเห็นทั้ง “ลบ” และ “ย้ายไปที่ถังขยะ” หรือเพียงแค่ “ย้ายไปที่ถังขยะ” ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ การย้ายไดเรกทอรีไปยังถังขยะนั้นปลอดภัยกว่าเสมอ เนื่องจากคุณสามารถกู้คืนได้หากคุณทำผิดพลาด คลิก “ย้ายไปที่ถังขยะ” ในเมนูของคุณ
บางครั้งโปรแกรมจัดการไฟล์จะถามคุณว่าคุณต้องการลบโฟลเดอร์นี้จริงๆ หรือไม่ ยืนยันว่าคุณทำ ไดเรกทอรีจะย้ายจากตำแหน่งปัจจุบันและจะปรากฏในโฟลเดอร์ถังขยะแทน เหลือเพียงขั้นตอนเดียวเท่านั้นที่จะทำลายมันให้สิ้นซาก!
หากคุณแน่ใจว่าไม่ต้องการไดเร็กทอรีที่คุณเพิ่งลบออกไป ให้เปิดถังขยะ คุณจะเห็นโฟลเดอร์ที่นั่น และคุณยังสามารถเรียกดูเนื้อหาในนั้นได้อีกด้วย
ถ้าไม่มีอะไรที่คุณต้องการ คุณสามารถคลิกขวาที่โฟลเดอร์เพื่อลบมันอย่างถาวร หรือคลิกในพื้นที่สีขาวของไดเร็กทอรีเพื่อเปิดเมนูที่มีตัวเลือกในการล้างถังขยะ ใน Nemo จะมีปุ่ม "Empty Trash" ที่สะดวกสบาย (ตามภาพ) ใกล้กับมุมบนขวาของหน้าต่าง ทำในสิ่งที่คุณต้องการ จำไว้ว่าไม่มีทางเลิกทำสิ่งนี้ได้ ไดเรกทอรีไม่กลับมา
การใช้ Command Line เพื่อลบไดเรกทอรีใน Linux
มีวิธีลบไดเร็กทอรีออกจากบรรทัดคำสั่งได้โดยตรงยิ่งขึ้น rm
คำสั่งใช้ลบได้ทั้งไฟล์และไดเร็กทอรี
วิธีนี้มีประโยชน์เป็นวิธีที่จะช่วยให้คุณควบคุมระบบการลบไฟล์ได้มากขึ้น หรือเป็นวิธีการลบบางอย่างเมื่อตัวจัดการไฟล์ของคุณไม่สามารถเข้าถึงได้
เพื่ออธิบายอย่างเต็มที่ว่าคำสั่งนี้ทำอะไรได้บ้าง เราจำเป็นต้องเปิดเทอร์มินัลและนำทางไปยังที่ที่ปลอดภัยเพื่อทดสอบคำสั่งต่างๆ ไดเร็กทอรี Documents ภายในโฟลเดอร์เริ่มต้นของคุณควรทำงานได้ดี
cd ~/Documents
~
เป็นสัญลักษณ์ที่แสดงถึงโฮมไดเร็กตอรี่ของคุณ
เริ่มต้นด้วยการสร้างโฟลเดอร์โดยใช้ mkdir Test
. คุณสามารถลองลบโฟลเดอร์ที่มีอายุสั้นนี้โดยใช้ rm Test
.
มันไม่ได้ผลใช่ไหม
แม้ว่า rm
คู่มืออธิบายฟังก์ชันของคำสั่งว่า "ลบไฟล์หรือไดเรกทอรี" มีข้อแม้เล็กน้อย:คำสั่งโดยตัวมันเองจะไม่ ลบไดเร็กทอรี
หากต้องการลบไดเรกทอรี คุณจะต้องเรียกใช้คำสั่งในโหมดเรียกซ้ำโดยใช้ -r
ธง. ไดเร็กทอรีมักเป็นที่เก็บไฟล์เล็กๆ อื่นๆ ทำให้แฟล็กนี้จำเป็น ก่อนที่คุณจะรู้สึกพึงพอใจกับการค้นพบเล็กๆ น้อยๆ นี้ สิ่งสำคัญที่ควรทราบคือ Linux distros บางตัวจะแจ้งให้คุณทราบก่อนที่ไดเร็กทอรีจะถูกลบ
เนื่องจากเราแน่ใจว่าต้องการกำจัดไดเร็กทอรีการทดสอบ เราจึงจำเป็นต้องใช้ -f
แฟล็ก ซึ่งบังคับให้การลบดำเนินการโดยไม่แจ้งให้คุณทราบ คำสั่งสุดท้ายควรมีลักษณะดังนี้:
rm -rf Test
ลองอีกครั้ง แต่คราวนี้ ใส่ไฟล์สองสามไฟล์ในการทดสอบ คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายด้วยตัวจัดการไฟล์ของคุณ แต่เนื่องจากคุณอยู่ในเทอร์มินัลแล้ว ทำไมไม่ลองใช้คำสั่งอื่นๆ ที่อาจมีประโยชน์ในภายหลังบ้างล่ะ
mkdir Test cd Test touch file1.txt file2.txt file3.txt file4.txt cd .. rm -rf Test
ดูเหมือนมีอะไรให้ทำมากมาย แต่สิ่งที่คุณทำนั้นอธิบายได้ง่าย ขั้นแรก คุณสร้างไดเร็กทอรีชื่อ "Test" จากนั้นคุณสั่งให้เชลล์ของคุณย้ายไปที่ไดเร็กทอรีนั้นและสร้างสี่ไฟล์ ..
หลัง cd
สั่งให้เชลล์ของคุณย้ายสำรองหนึ่งไดเร็กทอรีไปยังพาเรนต์ของ Test (เช่น กลับไปที่โฟลเดอร์เอกสารของคุณ)
คำสั่งสุดท้ายที่คุณพิมพ์เป็นการบังคับให้ลบการทดสอบซ้ำและไฟล์ทั้งหมดที่อยู่ในนั้น นี่คือสาเหตุที่ -r
แฟล็กเป็นสิ่งจำเป็นเมื่อลบไดเร็กทอรี
มีอะไรมากกว่าที่ตาเห็น
โดยส่วนใหญ่แล้ว -r
และ -f
ตั้งค่าสถานะใน rm
เป็นทั้งหมดที่คุณจะใช้เมื่อพิมพ์คำสั่งในเทอร์มินัลของคุณ ต่อไปนี้เป็นแฟล็กที่มีประโยชน์อื่นๆ:
-i
– พร้อมท์ให้คุณลบไฟล์แต่ละไฟล์ มีประโยชน์เมื่อทำการลบโฟลเดอร์ที่มีไฟล์แบบเรียกซ้ำซึ่งคุณอาจจำหรือจำไม่ได้ว่ามีความสำคัญ เมื่อต้องการยืนยันการลบ ให้พิมพ์ y
เมื่อได้รับแจ้ง พิมพ์ n
ถ้าคุณต้องการเก็บไฟล์นั้นไว้ การเก็บไฟล์ไว้ในระหว่างการลบแบบเรียกซ้ำอาจหยุดกระบวนการลบ ตัวอย่าง:
rm -ri /home/user/Database.
-d
– ลบไดเร็กทอรีก็ต่อเมื่อว่างเปล่าเท่านั้น นี่เป็นธงสำคัญเมื่อคุณต้องการล้างโฟลเดอร์ที่คุณไม่เคยใส่ใจที่จะเติม มันมีประโยชน์อย่างยิ่งเมื่อคุณต้องการเขียนสคริปต์ที่จะลบโฟลเดอร์ว่างทั้งหมดในพื้นที่เฉพาะของไดรฟ์ของคุณ หากคุณเพิ่งออกคำสั่งในเทอร์มินัล คุณจะไม่พบประโยชน์มากนักสำหรับแฟล็กนี้ ตัวอย่าง:
rm -d /home/user/Database/UID01
-v
– เรียกใช้ rm
ในโหมดละเอียด การตั้งค่าสถานะนี้ช่วยคุณแก้ไขปัญหาโดยดูที่ rm
บอกคุณแต่ละขั้นตอนในขณะที่พยายามทำตามคำแนะนำของคุณ หากมีบางอย่างไม่ถูกต้อง นี่คือสิ่งที่คุณใช้ในการดำเนินการตามขั้นตอน ตัวอย่าง:
rm -rv /home/user/Database
--version
– บอกคุณว่า rm
. เวอร์ชันใด คุณกำลังวิ่ง คุณอาจไม่จำเป็นต้องใช้การตั้งค่าสถานะนี้ แต่ในกรณีที่คุณสงสัยว่าคุณใช้เวอร์ชันล่าสุดหรือไม่
อีกคำสั่งหนึ่งเท่านั้น
บทความเกี่ยวกับการลบไฟล์ใน Linux ไม่สมบูรณ์โดยไม่ต้องพูดถึง rmdir
. โดยพื้นฐานแล้วมันคือโคลนของ rm -d
ด้วยแฟล็กที่มีประโยชน์เฉพาะตัวของมันเอง ตั้งแต่ rmdir
สามารถลบไดเร็กทอรีว่างเท่านั้น ผู้ใช้ส่วนใหญ่ไม่สนใจมันมากนัก อย่างไรก็ตาม มันมีประโยชน์มากในสคริปต์เมื่อคุณต้องการพลิกดูไดเรกทอรีจำนวนมากอย่างรวดเร็วและลบทุกอย่างที่ว่างเปล่าโดยเร็วที่สุด
ธงเดียวที่น่าสังเกตจริงๆใน rmdir
คือ -p
ซึ่งจะลบไดเร็กทอรีหลักทั้งหมดของไดเร็กทอรีว่างหากไดเร็กทอรีว่างด้วย สคริปต์สามารถใช้สิ่งนี้เพื่อไปที่ด้านบนสุดของทุกลำดับชั้นของไฟล์และกำจัดพาเรนต์ที่ว่างเปล่าทั้งหมดของโฟลเดอร์ว่างเพื่อทำความสะอาด rm -d
แฟล็กถูกจำกัดในกรณีนี้ เนื่องจากจะลบเฉพาะไดเร็กทอรีหากว่างเปล่าในขณะนี้แต่จะไม่สแกนไดเร็กทอรีหลักหลังจากลบไดเร็กทอรีย่อย
คำถามที่พบบ่อย
1. ฉันควรทำอย่างไรหากฉัน “ถูกปฏิเสธการอนุญาต”
หากคุณกำลังประสบปัญหาเกี่ยวกับการอนุญาตเมื่อลบบางสิ่ง ก่อนอื่นให้ตรวจสอบอีกครั้งว่าคุณไม่ได้พยายามลบบางสิ่งที่สำคัญต่อระบบหรือแอปพลิเคชันของคุณที่คุณใช้ เมื่อคุณแน่ใจว่าคุณเพิ่งลบไฟล์หรือไดเรกทอรีที่ไม่จำเป็นออกไป ให้ไปที่เทอร์มินัลแล้วพิมพ์ sudo
ก่อน rm
. ของคุณ สั่งการ. สิ่งนี้ควรเลี่ยงการจำกัดการอนุญาต
ไม่รู้สึกเหมือนใช้บรรทัดคำสั่ง? ตัวจัดการไฟล์ส่วนใหญ่ที่ติดตั้งด้วย Linux distros ควรสามารถช่วยคุณได้ที่นี่ คลิกขวาที่พื้นที่ว่างในมุมมองไฟล์ และคุณจะเห็นตัวเลือกว่า "เปิดเป็นรูท" หรือ "เปิดในฐานะผู้ดูแลระบบ" คลิกแล้วป้อนรหัสผ่านเมื่อได้รับแจ้ง หน้าต่างใหม่ควรเปิดขึ้นพร้อมสิทธิ์ยกระดับ ช่วยให้คุณทำทุกอย่างที่ต้องการได้ตามใจชอบ
2. คือ rm
ปลอดภัยหรือไม่
ใช่และไม่. rm
คำสั่งเป็นเพียงคำสั่งลบ จะไม่ถามว่าไฟล์และไดเร็กทอรีที่คุณกำลังลบมีความละเอียดอ่อนหรือไม่ ตราบใดที่คุณแน่ใจว่าไม่ได้ลบสิ่งที่ไม่ควรลบ rm
ปลอดภัย
โดยทั่วไป คุณจะไม่ก่อให้เกิดปัญหากับระบบปฏิบัติการหากคุณอยู่ภายในขอบเขตของไดเร็กทอรี "/home" เมื่อคุณก้าวไปไกลกว่านั้น คุณจะไม่ได้อยู่ในทะเลที่สงบอีกต่อไป และควรดูว่าคุณล่องเรือไปที่ใด
3. ฉันสามารถใช้ rm หรือ rmdir ในระบบปฏิบัติการอื่นได้หรือไม่
ขึ้นอยู่กับระบบปฏิบัติการที่เรากำลังพูดถึงทั้งหมด rm
คำสั่งสำหรับ macOS นั้นคล้ายกับของ Linux อย่างมาก ซึ่งไม่น่าแปลกใจเลยที่ทั้งสองจะสวมชุดเก่าที่ครั้งหนึ่งเคยเป็น UNIX
สำหรับ Windows สิ่งต่างๆ จะแตกต่างออกไปเล็กน้อย ไม่มีคำสั่งเดียวสำหรับการลบไฟล์และไดเร็กทอรี แต่ชุดของการดำเนินการจะแบ่งออกเป็นสองกลุ่มที่แตกต่างกัน บรรทัดคำสั่งของ Windows รู้จัก rd
เพื่อลบไดเร็กทอรีและ del
เพื่อลบไฟล์เดียว แฟล็กสำหรับ rd
ตามที่พบในหน้าคู่มือแสดงความคล้ายคลึงกันบางอย่างกับ rm -rf
. ของ Linux .
บทสรุป
ด้วยข้อมูลทั้งหมดที่มีให้ที่นี่ คุณหวังว่าจะได้อ่านข้อความนี้ด้วยระดับความมั่นใจในการใช้เทอร์มินัลและตัวจัดการไฟล์ของคุณเพื่อขจัดความยุ่งเหยิงของคุณ อย่าลืมเหยียบอย่างระมัดระวังและทำตามขั้นตอนแต่ละขั้นด้วยความเคารพต่อพลังที่คุณมี ไม่จำเป็นต้องรีบร้อน เทอร์มินัลและตัวจัดการไฟล์ของคุณจะไม่ไปไหน!
อ่านเพื่อเรียนรู้วิธีติดตั้ง Linux บน Windows ด้วย WSL และรีเซ็ตรหัสผ่านรูทใน Linux