ฉันจะลบไฟล์ใน terminal ได้อย่างคล่องแคล่ว?


33

ตัวอย่างเช่นฉันทำ

cd Music
dir

และรับ

123456789.mp3
qweerkrtrkgljdjfkdjfdkf.mp3
a.mp3
b.mp3
blabla.mp3

ฉันจะลบพูดไฟล์qweerkrtrkgljdjfkdjfdkf.mp3และblabla.mp3ด้วยความพยายามน้อยที่สุดได้อย่างไร

UPD : แนวคิดหลักคือชื่อไฟล์อาจยาวดังนั้นจริง ๆ แล้วฉันไม่ต้องการพิมพ์

คำตอบ:


57

ลองสิ่งนี้:

rm -f 2.mp3 blabla.mp3

rmลบไฟล์และ-fบังคับให้มัน (เพื่อที่จะไม่หยุดถามคุณว่าคุณต้องการลบไฟล์) หากนี่ไม่ใช่ในโฮมไดเร็กตอรี่ของsudoคุณ นี่เป็นอีกวิธีหนึ่งที่อาจต้องใช้การพิมพ์น้อยลง (อ่านยากขึ้นเล็กน้อย)

rm -f {2,blabla}.mp3

2.mp3 blabla.mp3นี้จะขยายไปยัง หากคุณต้องการใช้ชื่อไฟล์ที่ใหญ่ขึ้นคุณสามารถใช้อักขระตัวแทน ( *) ซึ่งจะส่งคืนรายการทั้งหมดที่เริ่มต้น / สิ้นสุดด้วยชื่อไฟล์ที่คุณเลือก ตัวอย่างเช่น:

rm -f bla*

blaจะลบไฟล์ทั้งหมดที่เริ่มต้นด้วย หากคุณใช้สิ่งนี้:

rm -f *.mp3

.mp3มันจะลบไฟล์ทั้งหมดที่ลงท้ายด้วย หากคุณใช้สิ่งนี้:

rm -f bla*.mp3

มันจะลบไฟล์ทั้งหมดที่เริ่มต้นด้วยและลงท้ายด้วยbla .mp3ความเป็นไปได้เกือบจะไม่มีที่สิ้นสุดกับ*ตัวละคร: P


1
ฉันรู้ว่าใครบางคนเพิ่งจะได้รับ HTC Keyboard โง่!

2
หากคุณเป็นเจ้าของไฟล์ในโฟลเดอร์บ้านของคุณเองคุณไม่จำเป็นต้องใช้ sudo

จุดดี. ฉันอัพเดทโพสต์แล้ว
มิจิน

3
บางทีคุณอาจทราบความสามารถในการใช้อักขระแท็บเพื่อเติมชื่อไฟล์ให้สมบูรณ์
Darael

ถ้าฉันต้องการที่จะรวมไดเรกทอรีย่อย? ฉันพยายามเพิ่ม -r แต่มันไม่ได้ผล ฉันมีหลายคนที่น่ารำคาญ.. ไฟล์ดัชนี mac ฉันต้องการลบจากเว็บไซต์
Frantumn

4

อย่างที่ทุกคนพูดว่าrm -f <file>เป็นวิธีที่จะไปอย่างไรตามที่เมาหินพูดว่าคุณสามารถพิมพ์ตัวอักษรสองสามตัวแรกแล้วกด<TAB>และมันจะเติมชื่อไฟล์ให้โดยอัตโนมัติ


0

ลองสิ่งนี้: rm qweer*.mp3 bla*.mp3

ข้อควรระวัง: หากมีชื่อไฟล์ที่เริ่มต้นด้วยตัวอักษรเหล่านี้คำสั่งนี้จะลบมัน


0

ตามที่ @Hckr พูดถึงแล้วไม่มีความคล้ายคลึงกันระหว่างชื่อ คุณสามารถใช้สัญลักษณ์แทนเช่นจะลบไฟล์ทั้งหมดที่มีชื่อลงท้ายด้วยrm *.mp3 .mp3หากไม่มีความคล้ายคลึงกันดังกล่าวคุณต้องระบุทุกไฟล์แยกต่างหาก

ในความเป็นจริงคุณสามารถบันทึกการพิมพ์โดยใช้แท็บเสร็จ ในตัวอย่างของคุณถ้าคุณพิมพ์และกดปุ่มทำตารางมันจะเสร็จสิ้นไปrm q งานนี้ได้เพราะแฟ้มเท่านั้นที่เริ่มต้นด้วยrm qweerkrtrkgljdjfkdjfdkf.mp3 qหากคุณพิมพ์rm bสิ่งนี้จะไม่เพียงพอสำหรับการดำเนินการให้เสร็จสมบูรณ์เพราะคุณมีสองไฟล์ที่ขึ้นต้นด้วย b


0

ง่ายrm 2.mp3 blabla.mp3.

ข้อควรระวัง: สิ่งนี้จะทำให้เกิดการลบแบบถาวร!


สำหรับไฟล์:

1234.MP3 1345.MP3 1234.MP4

rm -f 1*3*.MP3 จะลบ 2 รายการแรกไม่ยืนยันอย่างถาวร!

* เป็นอะไรที่ว่างเปล่านั่นคือสาเหตุที่มันยังลบอันที่สอง


1
อาจจะ-f after rm

หากมีหนึ่งไฟล์ที่ขึ้นต้นด้วย q ให้พิมพ์ q * หากมีมากกว่านั้นไฟล์นั้นจะลบ q-begginers ทั้งหมด

คุณรู้ว่าคุณสามารถแก้ไขคำตอบของคุณเองเพื่อรวมข้อมูลพิเศษนี้

1
แทนที่จะแสดงความคิดเห็นคุณควรใช้editปุ่มเพื่อเพิ่มสิ่งที่ยอดเยี่ยมเหล่านี้ในคำตอบของคุณ
Marco Ceppi

ทำ! ครั้งต่อไปฉันจะใช้แล็ปท็อป

0

สิ่งที่ฉันจะทำคือใส่ไฟล์ที่คุณไม่ต้องการลบในโฟลเดอร์ก่อนเรียกใช้คำสั่งเหล่านี้หากมีไฟล์น้อยกว่าที่คุณต้องการกำจัด แต่ท้ายที่สุดการรวมกันของ Wildcards ("*" และ "?") และการกำหนดคำสั่งจะทำให้งานสำเร็จได้อย่างง่ายดาย ขึ้นอยู่กับไฟล์ที่คุณมีที่คุณต้องการเก็บหรือกำจัด

เคยลองลากไฟล์เพื่อลบลงในหน้าต่างแอพเทอร์มินัลหรือไม่ มันอาจโคลนไดเรกทอรีเช่นเดียวกับรูปแบบเส้นทางชื่อไฟล์สำหรับคุณ อย่างไรก็ตามหากคุณเพียงแค่ลบไฟล์ 2 หรือ 3 ไฟล์ฉันหวังว่ามันเป็นเพียงเพื่อการเรียนรู้มิฉะนั้นฉันจะพิมพ์พา ธ และชื่อไฟล์ด้วยตนเองโดยใช้ "TAB" บนแป้นพิมพ์ของฉันมันควรกรอกชื่อไฟล์อัตโนมัติใน ไดเรกทอรีปัจจุบันที่เริ่มต้นด้วยสิ่งที่คุณพิมพ์แล้ว


0

แท็บเสร็จเป็นวิธีการที่ เปิดใช้งานbashใน Ubuntu ตามค่าเริ่มต้น มันทำงานได้เช่นนี้:

$ rm bl<tab>

จะถูกเปลี่ยนเป็นโดยอัตโนมัติ

$ rm blabla.mp3

หากชื่อไฟล์ไม่ชัดเจนคุณต้องกดtabอีกครั้งเพื่อดูรายการชื่อไฟล์ที่เป็นไปได้:

$ rm b<tab><tab>
blabla.mp3  b.mp3

นอกจากนี้ยังทำงานสำหรับจำนวนของคำสั่งอื่น ๆ เช่นapt-get, serviceและอื่น ๆ

หากคุณสนใจที่จะทำให้แท็บเสร็จสมบูรณ์ยิ่งขึ้นลองดูzshด้วยการกำหนดค่าGrmlมันน่าเหลือเชื่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.