สิ่งที่ฉันรู้สึกว่าฉันควรจะรู้แน่นอน: ถ้าฉันls <something>จะrm <something>ลบไฟล์เดียวกับที่lsแสดงหรือไม่ มีสถานการณ์ใดบ้างที่rmสามารถลบไฟล์ที่lsไม่แสดง (นี่คือใน 18.04 bash)
แก้ไข: ขอบคุณทุกคนที่ตอบ ฉันคิดว่าคำตอบแบบเต็มคือการรวมกันของคำตอบทั้งหมดดังนั้นฉันจึงยอมรับคำตอบที่ได้รับการโหวตมากที่สุดว่า "คำตอบ"
สิ่งที่ไม่คาดคิดที่ฉันได้เรียนรู้ระหว่างทาง:
- lsไม่ตรงไปตรงมาอย่างที่คุณคิดในการจัดการกับข้อโต้แย้ง
- ในการติดตั้งอูบุนตูง่ายๆโดยใช้นามแฝง. bashrc ls
- อย่าตั้งชื่อไฟล์ของคุณที่ขึ้นต้นด้วยเส้นประเนื่องจากมันสามารถดูเหมือนอาร์กิวเมนต์คำสั่งและการตั้งชื่อหนึ่ง -r กำลังขอมัน!
find -deleteจะดีกว่าrm? คุณพูดว่า"นั่นคือเหตุผล"แต่มันก็ไม่ชัดเจนสำหรับฉันในสิ่งที่อ้างอิงถึง นอกจากนี้โปรดทราบว่าfindการร้องขอของคุณจะลบไฟล์ทั้งหมดซ้ำในไดเรกทอรีปัจจุบันซึ่งrmจะลบไฟล์ในไดเรกทอรีทันที ยัง-name *เป็นแบบไม่มี op ทั้งหมดในทุกฉันค่อนข้างงงงวยโดยคำแนะนำของคุณ ...
                find -deleteเนื่องจากคุณเห็นผลลัพธ์จากfindแล้วไม่ควรมีความกำกวมในสิ่งที่จะถูกลบออก (จริง ๆ แล้วฉันอยากจะได้ยินรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ในรูปแบบของคำตอบ)
                -delete" - แต่จะดีกว่าการใช้งานls <filespec>อย่างไรตามด้วยrm <filespec>(ซึ่ง OP รู้วิธีการทำอยู่แล้ว)?
                find ... -printก่อนเพื่อยืนยันว่าจะลบไฟล์ใดจากนั้นfind ... -deleteคุณจะยังคงลบไฟล์ที่สร้างระหว่างคำสั่งสองคำ หากคุณใช้ทั้งสองอย่าง-printและ-deleteคุณจะไม่ได้รับการยืนยันเพียงรายงานตามความเป็นจริงของสิ่งที่ถูกลบไป (และคุณอาจใช้เช่นกันrm -v)
                
rmไม่มี--dry-runธง ...