เราสามารถเลิกทำการดำเนินการในเทอร์มินัลตัวอย่างเช่นการลบไฟล์ผ่านrm
?
โซลูชั่นที่ได้รับ:
- aliasing
- ยกเลิกการลบสาธารณูปโภค
- อรรถประโยชน์การสำรองข้อมูล
- LibTrash
- การกำหนดเวอร์ชัน (FUSE)
เราสามารถเลิกทำการดำเนินการในเทอร์มินัลตัวอย่างเช่นการลบไฟล์ผ่านrm
?
โซลูชั่นที่ได้รับ:
- aliasing
- ยกเลิกการลบสาธารณูปโภค
- อรรถประโยชน์การสำรองข้อมูล
- LibTrash
- การกำหนดเวอร์ชัน (FUSE)
คำตอบ:
ไม่มี "เลิกทำ" ทั่วไปสำหรับทุกการทำงานในเทอร์มินัล หากคุณต้องการกู้คืนไฟล์หลังจากใช้งานrm
คุณจะต้องดูซอฟต์แวร์กู้คืน
ตัวเลือกในการป้องกันคุณจากความผิดพลาดในอนาคตคือการสร้างalias
es สำหรับคำสั่งทางเลือกเพื่อลบไฟล์ เพิ่มให้พวกเขาของคุณและได้รับเป็นนิสัยของการใช้พวกเขาแทน~/.bashrc
rm
alias rmi = 'rm -i'
หากคุณใช้rmi
คุณจะได้รับแจ้งให้ยืนยันการลบในอนาคต พยายามหลีกเลี่ยงการพัฒนานิสัยในการกดy
ทันทีหลังจากที่คุณออกrmi
คำสั่งเนื่องจากจะทำให้วัตถุประสงค์ล้มเหลว
คุณสามารถย้ายไฟล์ที่ถูกลบโดยtrsh
คำสั่งในเทอร์มินัลไปยังถังรีไซเคิลของคุณ (บน KDE และ Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
หากคุณใช้trsh
คุณจะมีขีด จำกัด "ยกเลิกการลบ" ความสามารถ ระวังให้ดี
trsh dir1/file1 dir2/file1
อาจยังทำให้ข้อมูลสูญหายไม่สามารถกู้คืนได้
rm
ไปrm -i
คือการที่คุณจะได้รับใช้สุทธิความปลอดภัยที่จะช่วยให้คุณ แล้วคุณไปลงเครื่องอื่นซึ่งไม่ได้มีนามแฝงว่า ...
rmi
rm -i
มันเป็นความผิดพลาดจริง ๆ ที่จะเข้ามาในโปรแกรมที่มีอยู่โดยการใช้นามแฝง
คุณสามารถใช้ถังขยะถ้าคุณใช้ KDE เมื่อคุณเรียกใช้ gui นี่คือโปรแกรมอรรถประโยชน์บรรทัดคำสั่งสำหรับการลบ / กู้คืนโดยใช้เครื่องมืออำนวยความสะดวกถังขยะ KDE
alias rm=trash
เช่นนั้นสกรูบรรทัดคำสั่งทั่วไปของคุณมาพร้อมกับปุ่มเลิกทำ
alias rm=trash
อาจเป็นอันตรายหากมีโอกาสคุณจะใช้ระบบของคนอื่นในวันหนึ่งและลืม (หรือ ssh) ปลอดภัยมากเพียงแค่รับใช้เขียนแทนtrash
rm
คุณสามารถสร้างrm
นามแฝงสำหรับtrash
คำสั่ง (คุณจะต้องติดตั้งtrash
ก่อน) เพิ่มลงใน~/.bashrc
:
alias rm='trash'
สิ่งนี้ดีกว่าalias rm='mv --target-directory=$HOME/.Trash'
เนื่องจาก ~ / .Trash ไม่ใช่โฟลเดอร์ถังขยะสำหรับ gnome IMHO จะดีกว่าถ้าจะให้trash
คิดว่าโฟลเดอร์ถังขยะอยู่ที่ใด
btw ฉันจะได้โพสต์สิ่งนี้ในความคิดเห็น แต่ฉันมีตัวแทนไม่เพียงพอ
โซลูชันทางเทคนิคเพิ่มเติมอีกสองรายการยังไม่มีชื่อ:
มีคำถามที่ใหญ่กว่านี้ที่ควรแก้ไข คำสั่งของเชลล์ไม่ใช่ช่างพูด (พวกเขาไม่ได้ตรวจสอบสิ่งที่คุณต้องการ) และพวกเขาคาดหวังให้คุณรู้ว่าคุณกำลังทำอะไรอยู่ นี้เป็นพื้นฐานของวิธีการที่พวกเขาจะได้รับการออกแบบ มันเป็นคุณสมบัติไม่ใช่ข้อผิดพลาด
บางคนรู้สึกเหมือนผู้ชายเมื่อพวกเขาใช้คำสั่งเช่นนี้ซึ่งฉันคิดว่ามันค่อนข้างโง่ แต่ก็เป็นสิ่งสำคัญที่จะต้องเข้าใจถึงอันตราย คุณสามารถทำดาเมจได้มากในสถานีแม้ว่าคุณจะไม่รูทก็ตาม ฉันคิดว่าคุณน่าจะสนใจจริง ๆrm
แต่เมื่อคุณพูดว่า "เราสามารถยกเลิกการปฏิบัติการที่ทำในเทอร์มินัล" ได้หรือไม่ฉันคิดว่านี่น่าจะคุ้มค่าที่จะพูด คำตอบทั่วไปคือไม่คุณทำไม่ได้
ตัวเลือกที่ 1: ดูยกเลิกการลบลินุกซ์ไฟล์จากระบบไฟล์ ext2 หน้านี้ชี้ไปที่โปรแกรมที่เขียนโดย Sebastian Hetze ของ บริษัท LunetIX ซึ่งยกเลิกการลบไฟล์จากระบบไฟล์ ext2 ตัวอย่างการใช้งาน:
# undelete -d /dev/hdc3 -a 10
คำเตือน:
ตัวเลือกที่ 2: ฉันมี rsnapshot (rsync) กำลังทำงานอยู่บนเครื่องของฉันซึ่งทำสแน็ปช็อตรายชั่วโมงของโฟลเดอร์ที่ฉันเลือก มันเพิ่มขึ้นทุก ๆ ชั่วโมง 2 ชั่วโมงหรืออะไรก็ตามที่คุณบอกให้ CRON ทำ หลังจากครบทั้งวันมันจะรีไซเคิลภาพรวมเหล่านี้เป็นภาพรวมรายวันหนึ่งรายการและหลังจาก 7 วันในหนึ่งสัปดาห์ ทำให้ฉันสามารถย้อนเวลากลับไปได้ประมาณหนึ่งเดือนหรือมากกว่านั้นทุกชั่วโมง! มันค่อนข้างดีกับพื้นที่ดิสก์เพราะมันสร้างลิงค์สัญลักษณ์ไปยังไฟล์ที่ไม่เคยเปลี่ยน ...
กู้คืนโดยใช้ grep บน/dev/partition
( Linux หรือ Unix กู้คืนไฟล์ที่ถูกลบ - ยกเลิกการลบไฟล์ )
grep -b 'search-text' /dev/partition > file.txt
ลองดูสิ
มียูทิลิตี้ยกเลิกการลบสำหรับ ext2 แต่ระบบไฟล์ Linux อื่น ๆ ส่วนใหญ่ติดอยู่ใน Stone Age และไม่มีคุณสมบัติการใช้งานขั้นสูง เรื่องเศร้าจากการพิจารณาไดรฟ์ขนาดใหญ่ที่มีพื้นที่เพียงพอที่จะไม่ลบไฟล์อีกครั้งเป็นเรื่องธรรมดา
ดังนั้นคุณติดอยู่กับสามตัวเลือก:
ทำการสำรองข้อมูลอย่างสม่ำเสมอเช่นด้วยคำสั่งเช่น:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
ใช้เครื่องมือควบคุมเวอร์ชันเช่นgit
สำหรับการทำงานทั้งหมดของคุณ ในขณะนี้จะไม่ป้องกันกับบ้าrm -r
ที่ฆ่าพื้นที่เก็บข้อมูลก็จะป้องกันปัญหาปกติที่คุณจะใช้ไม่ได้ดิบgit rm
rm
โปรดใช้ความระมัดระวังเป็นพิเศษและไม่ไว้วางใจมากเกินไปในrm -i
, trash-cli
และเพื่อน ๆ เป็นข้อมูลส่วนใหญ่ที่คุณจะสูญเสียในเปลือกที่คุณจะไม่สูญเสียจากอุบัติเหตุrm
แต่ท่อผิด, ไฟล์ที่ส่งออกที่พิมพ์ผิด, ผิดmv
และสิ่งคือสิ่งที่จะเขียนทับ ข้อมูลของคุณไม่เพียง แต่ลบ
ทำทั้งสามอย่างเพื่อความปลอดภัยสูงสุด
ตรวจสอบเรื่องนี้ ... MIGH เป็นประโยชน์http://artmees.github.io/rm/
สมมติว่าคุณทำ
rm very_important_file
จากสถานี การกู้คืนไฟล์นี้เป็นกระบวนการที่น่าเบื่อและไม่ประสบความสำเร็จเสมอไป
หากคุณใช้สคริปต์ที่กล่าวถึงแทน คุณไม่ต้องกังวลเกี่ยวกับเรื่องนี้เพราะ
rm very_important_file
mv very_important_file ~/.Trash/
เทียบเท่า สคริปต์จัดการกับกรณีเพิ่มเติมและไม่เปลี่ยนแปลงระบบของคุณrm
เลยและนั่นเป็นเพราะมันถูกใส่เข้าไปในโฟลเดอร์ bin ของผู้ใช้ภายในเครื่องเพื่อให้เงาระบบ rm และยังไม่ส่งผลกระทบต่อหรือปิดการใช้งานโดยใช้มัน
นี่เป็นวิธีนามแฝงที่ละเอียดอ่อน แต่ไม่เสียคุณลักษณะใด ๆ
สำหรับฉัน (opensuse leap 42.2, pendrive ของ NTFS) PhotoRec - โดยtestdisk
ผู้สร้าง - ใช้งานได้ :) อย่างไรก็ตามมันไม่ได้กู้คืนชื่อไฟล์
PhotoRec เป็นซอฟต์แวร์กู้คืนข้อมูลไฟล์ที่ออกแบบมาเพื่อกู้คืนไฟล์ที่สูญหายรวมถึงวิดีโอเอกสารและไฟล์เก็บถาวรจากฮาร์ดดิสก์ซีดีรอมและรูปภาพที่สูญหาย (เช่นชื่อ Photo Recovery) จากหน่วยความจำกล้องดิจิตอล PhotoRec จะละเว้นระบบไฟล์และไปหลังจากข้อมูลพื้นฐานดังนั้นจึงยังคงใช้ได้แม้ว่าระบบไฟล์ของสื่อของคุณจะเสียหายหรือฟอร์แมตใหม่อย่างรุนแรง
ฉันติดตั้งโดยใช้แหล่งเก็บข้อมูลมาตรฐานใน openSUSE
rm
: มันเป็นการยกเลิกการลิงก์inode
ไฟล์จากมัน คำถาม: "ไฟล์จะไปที่ไหนเมื่อrm
ออกคำสั่ง" -> unix.stackexchange.com/questions/10883/…อาจเป็นการอ่านที่ดีสำหรับคุณ