เลิกทำ rm ของ Linux หรือไม่ [ซ้ำ]


31

ซ้ำได้:
UNDO คำสั่งถังขยะ LINUX

สวัสดี

มีวิธีง่ายๆในการยกเลิกrmคำสั่งหรือไม่?

คำถามคือทฤษฎีล้วนๆ ฉันไม่เคยลบบันทึกของเกณฑ์มาตรฐานที่ใช้เวลาอาหารกลางวันทั้งหมดเพื่อให้ทำงานได้



1
... หรืออย่างน้อยที่เกี่ยวข้องอย่างใกล้ชิดแม้ว่าคำถามที่ตัวเองเป็นสูตรที่จะเป็นเล็ก ๆ น้อย ๆ ทั่วไปมากขึ้น
Jonik

คำตอบ:


33

บน Ubuntu หรือคล้ายกัน:

$ sudo apt-get install trash-cli
$ alias rm=trash

จากนั้นวางนามแฝงนั้นใน. bashrc หรือสคริปต์การเข้าสู่ระบบที่เหมาะสมสำหรับเชลล์ที่คุณเลือก

trash-cliแพคเกจเป็นอินเตอร์เฟซบรรทัดคำสั่งไปยังถังขยะเดียวกันกับที่ GNOME และ KDE และใช้งานอื่น ๆ ดังนั้นสิ่งที่คุณลบผ่านtrashคำสั่งสามารถเรียกคืนได้โดย GNOME / KDE และในทางกลับกัน

คำสั่งอื่น ๆ ในtrash-cliแพคเกจtrash-list, และtrash-emptyrestore-trash


11
+1 สำหรับ trash-cli, -1 สำหรับ aliasing rm

1
มีอะไรผิดปกติกับ aliasing เป็นrm? ฉันชอบมีปุ่มเลิกทำสำหรับการลบโดยไม่ตั้งใจแม้ในบรรทัดคำสั่ง นอกจากนี้ยังtrash-cliช่วยอำนวยความสะดวกอย่างชัดเจนโดยการยอมรับ (และเพิกเฉย) rmตัวเลือกGNU มากมาย นอกจากนี้ OP ยังหาวิธีเลิกทำ rm วิธีนี้ไม่สามารถตอบคำถามได้อย่างถูกต้องหากไม่มีนามแฝง
Ryan C. Thompson

15
@Ryan: เพราะคุณเคยชินกับ rm ที่จะแปลความหมายบางอย่างที่แตกต่างจากคำสั่ง rm จริงๆแล้วคุณทำผิดพลาดเมื่อไม่ได้ใช้นามแฝง ทำความคุ้นเคยกับการใช้คำสั่งถังขยะแทนและไม่สามารถเกิดขึ้น

5
@Roger: หรือ ... คุณสามารถนามแฝงrmแล้วสะกดจิตตัวเองให้ลืมว่าคุณทำ ด้วยวิธีนี้คุณยังคงสามารถใช้งานต่อไปได้rmแม้ว่ามันจะเป็นครั้งสุดท้าย .... แต่ถ้าคุณพลาดท่าและไปที่ "โอ้โห !! คุณไม่ได้เมาอย่างสมบูรณ์ (คือไม่ต้องพึ่งพาการทำงานของมัน "รับคืน")
mpen

@RyanThompson: นี่เป็นคำแนะนำที่ดี แต่วิธีการกำหนดค่าให้ทำงานกับมันได้sudo rmอย่างไร
takeshin

15

คำตอบดั้งเดิมคือ:

คุณกู้คืนไฟล์จากข้อมูลสำรองล่าสุด คุณมีการสำรองข้อมูลล่าสุดใช่ไหม

เพราะในระบบไฟล์ยูนิกซ์หลายระบบวิธีนี้ไม่สามารถทำได้หรือยากมาก

ดังที่คนอื่น ๆ ได้ระบุไว้ว่านี่ไม่ใช่จุดจบและเป็นปัญหาทั้งหมดอีกต่อไป แต่การไม่ทำผิดประเภทนี้ยังคงเป็นแนวทางที่ต้องการ


5
ฉันตั้งใจจะวางสคริปต์ทั้งหมดของฉันลงในที่เก็บ bzr รายชั่วโมง
Adam Matan

3
คำตอบที่ทันสมัยคือ: กู้คืนไฟล์จากสแน็ปช็อตระบบไฟล์ล่าสุด :-)
knweiss

นั่นเป็นคำถามที่ยอดเยี่ยม ... ฉันมักจะไม่ทำการสำรองข้อมูลของ ~ / ดาวน์โหลด ... และลบเนื้อหาของฉันโดยส่งต่อrm -fr *(1)*... ทุกไฟล์หายไป ดังนั้นการสำรองข้อมูลจึงไม่ใช่วิธีแก้ปัญหาเสมอไป Trash-cli ฟังดูเท่
m3nda

ไม่ต้องสำรองข้อมูลเป็นเสมอการแก้ปัญหา เพียงเพราะคุณเลือกที่จะไม่สำรองข้อมูลบางอย่างไม่ทำการสำรองข้อมูลไม่ใช่โซลูชันทำให้คุณงี่เง่าเพราะไม่สำรองข้อมูล
djsmiley2k - CoW

4

เพื่อป้องกันความผิดพลาดในอนาคตของ hypopthetical คุณอาจต้องการนามแฝง rm ถึง rm -i ...


6
โดยทั่วไปฉันคิดว่าสิ่งนี้จะไม่ป้องกันข้อผิดพลาดใด ๆ ('y' พิมพ์ค่อนข้างอัตโนมัติ) แต่ใช้เวลามากและสนับสนุนให้ใช้ He-Whose-Name- Must-Not-Be-Mentioned rm -rf
Adam Matan

มันทำให้คุณได้เพิ่มอีกหนึ่งครั้งก่อนที่จะทำเรื่องยุ่ง ๆ ฉันมักจะlsมีพารามิเตอร์เดียวกันก่อนหน้านี้เพื่อให้ฉันสามารถดูว่าจะไปอะไร
Bradshaw รวย

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