Các tập tin / thư mục bị xóa với rm có thể được khôi phục?


69

Có thể khôi phục các tập tin / thư mục đã bị xóa khỏi thiết bị đầu cuối bằng cách sử dụng rmrm -r?. Nếu một tệp bị xóa khỏi giao diện đồ họa, nó có thể được khôi phục từ thùng rác, nhưng làm thế nào để bạn khôi phục một tệp nếu nó bị xóa bằng tiện ích rm?.


đối với các công cụ để khôi phục các tệp đã bị xóa (dưới bất kỳ hình thức nào), bạn có thể xem câu hỏi này Askubfox.com/q/3883
Decio Lira

Không sử dụng "rm" nếu bạn muốn khôi phục các tệp trong tương lai. Bạn có thể sử dụng tiện ích "rm-thùng rác": github.com/nateshmbhat/rm-trash
Natesh bhat 20/11/18

Câu trả lời:


63

Cuối cùng, tôi sử dụng trash-cligói và bí danh sau đây trong~/.bashrc

alias rm=trash

trash-cligói có thể được cài đặt bằng lệnh sau : sudo apt-get install trash-cli.

Các tệp bạn xóa sẽ được chuyển vào thùng rác và bạn có thể thấy chúng trong thùng rác nautilus.

Bạn luôn có thể truy cập thực rmbằng cách sử dụng một trong các phương pháp sau:

command rm something
'rm' something
\rm something

Ngoài ra còn có các lệnh để truy cập thùng rác từ thiết bị đầu cuối, trash-list, restore-trash(hoặc trash-restore), trash-emptycó thể cài đặt từ gói thùng rác-cli (sau đó xem trang người đàn ông của họ).

Lưu ý cuối cùng, không nên sử dụng bí danh như vậy cho siêu người dùng, bởi vì nó có thể can thiệp vào các hoạt động của hệ thống.


19
Đây là một công việc xung quanh, nhưng không thực sự trả lời câu hỏi.
sinh

Tôi nghĩ rằng người dùng cũng sẽ biết nếu có một số phương pháp để đạt được hành vi tương tự từ dòng lệnh. Nếu không, tôi sẵn sàng loại bỏ câu trả lời của tôi.
enzotib

3
Thật tốt Tôi đã đạt được một số kiến ​​thức.
user3215

27

Xóa nó khỏi thiết bị đầu cuối sẽ xóa nó vĩnh viễn - phục hồi rất khó khăn và đôi khi không thể.

Nếu loại phân vùng của bạn là ext3(kiểm tra nó bằng cách sử dụng System->Administration->Disk Utility), thì hãy xem ext3undel .

Nếu không (nếu bạn đã cài đặt Ubuntu với cài đặt mặc định ), hãy thử extundeletechương trình.

Không có gì đảm bảo bạn sẽ phục hồi bất cứ điều gì mặc dù.


Nó sẽ thực sự hữu ích cho các phiên bản máy tính để bàn.
dùng3215

Tôi nghi ngờ điều này hoạt động hiệu quả đối với các ổ SSD, nhưng rất vui khi được nghe khác
matt

13

Bạn đang tìm kiếm: extundelete - tiện ích để khôi phục các tệp đã bị xóa từ phân vùng ext3 / ext4

Để tìm một gói như vậy, bạn có thể thử: apt-cache search undelete

Để sử dụng tiện ích cài đặt nó với: sudo apt-get install extundelete

Sau khi cài đặt gọi man extundeletevà nghiên cứu nó một cách cẩn thận.


6

Cũng giống như một giải pháp thay thế, nếu bạn biết cụ thể đó là loại tập tin nào ...

sudo apt-get install foremost

Bây giờ mở ra /etc/foremost.confvà bạn sẽ thấy một danh sách dài các dòng nhận xét. Nếu loại tệp của bạn tồn tại, bỏ ghi chú dòng (bạn cũng có thể muốn xóa các dòng không liên quan).

Nếu loại tệp của bạn không tồn tại, hãy thêm dòng của riêng bạn. Nói rằng tôi muốn khôi phục tệp .css và tôi biết khoảng 40K. Tôi có thể thêm điều này:

css     n       40000   Theme\sName:     Plugin\sFixes

Cột thứ 2 đề cập đến phân biệt chữ hoa chữ thường, cột thứ ba đề cập đến giới hạn trên về kích thước, cột thứ 4 là cách tệp bắt đầu (nhớ sử dụng các ký tự thoát) và cột cuối cùng là cách tệp thường kết thúc.

Sử dụng lệnh sau (chỉnh sửa đĩa cho phù hợp. Có thể kiểm tra bằng dflệnh)

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

Điều sẽ xảy ra tiếp theo là trước hết sẽ tạo một thư mục gọi là đầu ra và đổ tất cả dữ liệu được phục hồi (trong trường hợp này) vào thư mục. Từ đó, bạn có thể sử dụng diffhoặc meldso sánh các 'tệp' được khôi phục và xem tệp nào được cập nhật nhất.


cảm ơn rất nhiều. Nó hoạt động hoàn hảo. Tôi đã vô tình xóa phptệp nguồn của mình bằng rm -fr php/2 phptệp. Chưa đầy 2 phút họ đã được phục hồi hoàn hảo. Trong .conftập tin tôi đã thêm:php n 40000 <?php ?> ASCII
Shakiba Moshiri

5

Nói theo các thuật ngữ trừu tượng nhất, bất cứ khi nào bạn xóa một tệp trên giao diện đồ họa, tệp sẽ được "chuyển" sang một "bộ đệm" đặc biệt, một thư mục có tên trash. Bạn có thể xác định vị trí của nó trong homethư mục của bạn , ~/.local/share/Trash/. Các tập tin "bị xóa" khỏi thư mục này, sẽ thực sự bị xóa. Việc xóa thực sự này là những gì xảy ra khi bạn sử dụng rmtrên một tập tin.

Rất khó để khôi phục các tập tin bị xóa. Các tệp trong hệ thống tệp được biểu diễn dưới dạng các nút trên cây B hoặc tương tự. Khi một tệp bị xóa bằng cách sử dụng rm, cây được cập nhật, số lượng liên kết cứng bị giảm, mục tương ứng trong danh sách thư mục sẽ bị xóa. Nếu ở tất cả, tập tin của bạn có một liên kết cứng, tập tin của bạn là hoàn toàn an toàn. Bạn có thể làm một file / -samefile filename. Bạn có thể tìm kiếm tệp nếu bạn cũng nhớ số inode của nó (điều này khó xảy ra).

Một trường hợp khác là khi không có khả năng nào ở trên là đúng. Bất cứ khi nào bạn rmmột tệp, mục nhập tệp trên thư mục sẽ bị xóa, giảm số lượng liên kết cứng xuống một. Và nếu số lượng liên kết cứng giảm xuống 0, thì con trỏ tới tệp trên nút bị loại bỏ hoặc được đánh dấu là sẽ bị xóa. Dù bằng cách nào, tập tin "vẫn" của bạn nằm trên đĩa cứng. Các tập tin thực sự bị xóa khỏi đĩa cứng chỉ trong lần tái bản tiếp theo. Phục hồi tệp tại một thời điểm như vậy là vô cùng khó khăn, bao gồm việc đi qua cây hệ thống tệp và các nút đại diện cho các vị trí khối đĩa thực tế. Có một công cụ phổ biến mà tôi đã nghe nói, nhưng chưa bao giờ sử dụng nó, được gọi là extundelete. Mặc dù không có gì đảm bảo, nó đáng để thử.

Khi bạn khôi phục các tệp của mình thành công hay không, hãy nhanh chóng thực hiện sao lưu thường xuyên. Nó cực kỳ đơn giản trên Ubuntu.


2

Xin lỗi, nhưng các tệp đã bị xóa khỏi dòng lệnh với "rm" và "rm -f" bỏ qua "Trashcan" bạn có trên màn hình Gnome.

Bạn cũng có thể muốn hỏi liệu có bất kỳ công cụ extfs "undelete" nào giống như dành cho FAT và NTFS không. (Tôi không biết về bất kỳ ai, nhưng tôi sẽ ngạc nhiên nếu không có ai.)


Ồ, không sao đâu!. Tôi nghĩ rằng nó có thể được phục hồi từ một số vị trí.
user3215

1

sử dụng tiện ích " rm-thùng rác " xử lý đặt chúng vào thùng rác để truy xuất sau này và hỗ trợ tất cả các tùy chọn của lệnh "rm".

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"rm-thùng rác" là

  • có nghĩa là được sử dụng thay cho rm
  • xử lý tất cả các tùy chọn mà rm có thể thực hiện
  • xử lý các xung đột tên tệp với các tệp đã có trong thùng rác
  • tự động xử lý một số vấn đề về quyền
  • nếu rm được gọi từ bất kỳ tập lệnh nào khác hoặc gián tiếp thì lệnh 'rm' của hệ thống được sử dụng tự động
  • hiển thị các thông báo lỗi thích hợp như những thông báo phát sinh trong rm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.