คู่มือสั้นๆ นี้อธิบายวิธีแก้ไขข้อผิดพลาด “/bin/rm:Argument list too long” ซึ่งบางครั้งปรากฏขึ้นขณะพยายามลบไฟล์หรือโฟลเดอร์ใน Linux
root@dwarf /var/spool/clientmqueue # rm spam-*
/bin/rm:รายการอาร์กิวเมนต์ยาวเกินไป
คุณเคยเห็นข้อผิดพลาดข้างต้นใน Linux หรือไม่? มันเกิดขึ้นเมื่อคุณมีไฟล์มากเกินไปในไดเร็กทอรี และคุณไม่สามารถลบไฟล์เหล่านั้นได้ด้วย rm -rf *
ฉันพบปัญหานี้หลายครั้งและหลังจากค้นคว้าข้อมูลทางออนไลน์มาบ้างแล้ว ก็พบว่ามีวิธีแก้ปัญหาที่ดีเพื่อแก้ไขปัญหานี้
หา -name 'spam-*' | xargs rm
ในตัวอย่างด้านบน คำสั่งจะบังคับให้ลบไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันที่ขึ้นต้นด้วย สแปม . คุณสามารถแทนที่ สแปม-* กับสิ่งที่คุณชอบ คุณยังสามารถแทนที่ด้วย * . เพียงอันเดียว (เครื่องหมายดอกจัน) หากคุณต้องการลบ ทั้งหมด ของไฟล์ในโฟลเดอร์
หา -name '*' | xargs rm
เรามีคำแนะนำโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้การค้นหา Linux ซึ่งคุณอาจพบว่ามีประโยชน์และ Xargs เป็นคำสั่ง Linux ที่ฉันไม่คุ้นเคย มันทำให้ส่งข้อโต้แย้งจำนวนหนึ่งไปยังคำสั่งอื่นได้ง่ายขึ้น และฉันดีใจที่ได้เพิ่มลงในรายการของฉัน