it-swarm.asia

Batalkan perintah tempat sampah Linux

Bisakah kita membatalkan operasi yang dilakukan di terminal, misalnya, penghapusan file melalui rm?

Solusi yang diperoleh:

  1. Mengasingkan
  2. Batalkan penghapusan utilitas
  3. Utilitas cadangan
  4. LibTrash
  5. Versi (Sekering)
24
cdb

Tidak ada "pembatalan" umum untuk setiap operasi di terminal. Jika Anda ingin memulihkan file setelah menggunakan rm Anda harus melihat ke dalam perangkat lunak pemulihan.

Pilihan untuk mencegah Anda dari kesalahan di masa depan adalah membuat aliases untuk perintah alternatif untuk menghapus file. Tambahkan mereka ke ~/.bashrc Anda dan biasakan menggunakannya alih-alih rm.

  1. alias rmi = 'rm -i'

    Jika Anda menggunakan rmi, Anda akan diminta untuk konfirmasi penghapusan di masa mendatang. Cobalah untuk menghindari mengembangkan kebiasaan menekan y segera setelah Anda mengeluarkan perintah rmi, karena itu akan mengalahkan tujuannya.

  2. Anda juga dapat memindahkan file yang dihapus oleh perintah trsh di terminal ke tempat sampah Anda (di KDE dan Gnome):

    alias trsh='mv --target-directory="$HOME/.Trash"'
    

    Jika Anda menggunakan trsh, Anda akan memiliki kemampuan "undelete" terbatas. Waspadalah itu

    trsh dir1/file1 dir2/file1
    

    masih dapat menyebabkan kehilangan data yang tidak dapat dipulihkan.

62
John T

Tidak ada tempat sampah daur ulang untuk baris perintah.

Anda dapat mencoba beberapa utilitas yang tidak terhapus, tetapi tidak ada jaminan bahwa itu akan berhasil.

6
The How-To Geek

Anda bisa menggunakan trash-cli jika Anda menggunakan KDE saat menjalankan gui. Ini adalah utilitas baris perintah untuk menghapus/mengembalikan menggunakan fasilitas tempat sampah KDE.

5
joe

Anda bisa menjadikan rm sebagai alias untuk perintah trash (Anda harus menginstal trash terlebih dahulu.) Tambahkan ini ke ~/.bashrc Anda:

alias rm='trash'

Ini lebih disukai daripada alias rm='mv --target-directory=$HOME/.Trash' karena ~/.Trash BUKAN folder tempat sampah untuk gnome. Lebih baik IMHO untuk membiarkan trash mencari tahu di mana folder sampah yang sebenarnya.

btw saya akan memposting ini dalam komentar tapi saya tidak punya cukup perwakilan.

4
Alvin Row

Ada pertanyaan yang lebih besar di sini yang perlu ditangani. Perintah Shell tidak cerewet (mereka tidak mengecek apa yang Anda inginkan), dan mereka berharap Anda tahu apa yang Anda lakukan. Ini adalah dasar bagaimana mereka dirancang . Ini fitur, bukan bug.

Beberapa orang merasa macho ketika mereka menggunakan perintah seperti itu, yang menurut saya cukup konyol, tetapi itu adalah penting untuk memahami bahayanya. Anda dapat melakukan banyak kerusakan di terminal, bahkan jika Anda tidak melakukan root. Saya pikir Anda mungkin benar-benar hanya peduli tentang rm, tetapi karena Anda mengatakan "Bisakah kita membatalkan operasi yang dilakukan di terminal", saya pikir ini layak untuk dikatakan. Jawaban umum adalah tidak, Anda tidak bisa.

3
Telemachus

Dua solusi teknis lainnya belum disebutkan:

  1. libtrash : Pustaka dinamis yang dapat dimuat sebelumnya di Shell Anda yang memotong syscalls penghapusan/penghapusan dan memindahkan file ke folder tempat sampah sebagai gantinya (seperti alias tetapi berfungsi untuk aplikasi apa pun saat dimuat).
  2. Sistem file versi. Jika Anda menghapus (atau mengedit, atau menyalin, atau ...) file, Anda bisa kembali ke kondisi lama. Ini dapat dilakukan dengan sistem file Fuse dan salah satu dari sistem file versinya .
3
joschi

Opsi 1: Lihat Membatalkan File Linux dari Sistem File ext2 . Halaman ini menunjuk ke sebuah program, yang ditulis oleh Sebastian Hetze dari perusahaan LunetIX, yang (seperti judulnya) membatalkan penghapusan file yang baru-baru ini dihapus dari sistem file ext2. Contoh penggunaan:

# undelete -d /dev/hdc3 -a 10

Peringatan:

  • Situs web asli hilang. Tautan di atas adalah ke Internet Archive.
  • Situs ini dalam campuran bahasa Inggris dan Jerman.
  • Seperti yang dinyatakan di atas, alat ini dirancang khusus untuk sistem file ext2. Ini tidak mungkin bekerja pada tipe sistem file lain; terutama yang bukan ext N.

Opsi 2: Saya menjalankan rsnapshot (rsync) di mesin saya yang membuat snapshot setiap jam dari folder yang saya pilih. Secara bertahap hal ini dilakukan setiap jam, 2 jam atau apa pun yang Anda minta CRON lakukan. Setelah sehari penuh, foto-foto ini akan didaur ulang menjadi satu snapshot harian dan setelah 7 hari dalam seminggu dan seterusnya. Ini membuat saya dapat kembali ke masa sekitar satu bulan atau lebih untuk setiap jam! Ini cukup bagus dengan ruang disk karena membuat tautan simbolis ke file yang tidak pernah berubah ...

2
Pit

Pulihkan menggunakan grep pada /dev/partition (Linux atau Unix Pulihkan file yang dihapus - batalkan penghapusan file),

grep -b 'search-text' /dev/partition > file.txt

Coba saja.

1
cdb

Ada utilitas yang tidak terhapus untuk ext2, tetapi kebanyakan sistem file Linux lainnya macet di Zaman Batu dan tidak memiliki fitur kegunaan lanjutan. Sedih keadaan mengingat drive raksasa dengan ruang yang cukup untuk tidak pernah menghapus file lagi adalah hal biasa.

Jadi, Anda terjebak dengan tiga opsi:

  1. Lakukan backup secara teratur, misalnya dengan perintah seperti:

    rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/

  2. Gunakan alat kontrol versi seperti git untuk semua pekerjaan Anda. Meskipun ini tidak akan melindungi terhadap rm -r gila yang membunuh repositori, itu akan melindungi terhadap masalah biasa karena Anda akan menggunakan git rm bukan raw rm.

  3. Berhati-hatilah dan jangan terlalu percaya pada rm -i, trash-cli dan teman-teman, karena sebagian besar data Anda akan kehilangan di Shell, Anda tidak akan kehilangan dengan rm yang tidak disengaja, tetapi dengan pipa yang salah arah, file output salah ketik, salah pilih mv dan sebagainya, yaitu, hal-hal yang akan menimpa data Anda, bukan hanya menghapusnya.

Lakukan ketiganya untuk keamanan maksimal.

1
Grumbel

Bagi saya (opensuse leap 42.2, pendrive NTFS) PhotoRec - juga oleh pencipta testdisk - berfungsi :) Namun ia belum memulihkan nama file.

PhotoRec adalah perangkat lunak pemulihan data file yang dirancang untuk memulihkan file yang hilang termasuk video, dokumen dan arsip dari hard disk, CD-ROM, dan gambar yang hilang (dengan demikian nama Pemulihan Foto) dari memori kamera digital. PhotoRec mengabaikan sistem file dan mengejar data yang mendasarinya, sehingga akan tetap berfungsi bahkan jika sistem file media Anda telah rusak parah atau diformat ulang.

Saya telah menginstalnya menggunakan repositori standar di openSUSE

instruksi

0
boczniak767

periksa ini ... mungkin bisa membantu http://artmees.github.io/rm/

andaikan Anda melakukannya

rm very_important_file

dari terminal. Memulihkan file ini adalah proses yang membosankan dan tidak selalu berhasil

alih-alih jika Anda menggunakan skrip yang disebutkan. Anda tidak perlu khawatir karena ini

rm very_important_file
mv very_important_file ~/.Trash/

adalah setara. skrip menangani lebih banyak kasus dan tidak mengubah sistem Anda rm sama sekali dan itu karena itu dimasukkan ke folder bin lokal pengguna sehingga membayangi sistem rm dan belum mempengaruhi atau menonaktifkan menggunakannya

ini adalah pendekatan aliasing halus tetapi tanpa kehilangan fitur apa pun

0
a14m

TestDisk dapat membatalkan penghapusan file dari FAT, exFAT, NTFS dan ext2 filesystems.

0
Cristian Ciupitu