Summarize

4 posts / 0 new
Bài gửi cuối
Phục hồi tập tin bị xoá trong Linux

Một ngày kia, bạn lỡ tay gõ lệnh rm taptin.txt và xóa nhầm công việc mà bạn mất nhiều ngày để hoàn thành. Điều này không hiếm gặp, vì chức năng autocomplete hiện một tập tin ngoài ý muốn, và bạn lỡ tay ấn Enter để xóa mà không kịp kiểm tra.

Tệ hại hơn, khi xóa tập tin trong dòng lệnh, tập tin sẽ bị xóa hẳn chứ không di chuyển vào Thùng rác như khi dùng trong giao diện đồ họa. Vậy làm sao để phục hồi?

Cách làm đơn giản nhất, và tôi đã thử thành công, là câu lệnh sau:

sudo grep -i -a -B10 -A100 'nội dung cần tìm' /dev/sda1 > /tmp/phuchoi.txt

Trong đó giả định /dev/sda1 là nơi bạn chứa tập tin đã xóa và nội dung cần tìm là một chuỗi bất kì chứa trong tập tin bị xóa. Nhớ chọn chuỗi hiếm gặp trong các tập tin khác, để giảm số kết quả trả về.

Lệnh trên cụ thể thực hiện tìm kiếm trên toàn bộ dĩa, không phân biệt chữ hoa hay thường (-a), tìm trong chế độ văn bản (-a), và trích 100 dòng sau nội dung cần tìm (-A100) và 10 dòng phía trước (-B10). Toàn bộ kết quả xuất ra tập tin /tmp/phuchoi.txt. Sau đó bạn chỉ việc mở tập tin /tmp/phuchoi.txt này và dò tìm dữ liệu trong đó.

Để đảm bảo kết quả tốt nhất, nên khởi động lại máy vào chế độ single user để tránh việc dữ liệu xóa bị ghi đè trong quá trình phục hồi.

Ôi hay nhỉ.
Mình cứ nghĩ là lệnh grep chỉ dùng để tìm 1 đoạn văn bản trong tập tin. Không biết là có thể dùng vào việc này
Cảm ơn Hải Nam

Chúng ta cũng có thể tránh việc ghi đè bằng cách cho tập tin phục hồi vào phân vùng khác, hoặc ổ đĩa RAM.
Trong Linux thường có sẵn 1 ổ đĩa RAM dung lượng 1GB được lắp tại điểm /dev/shm. Chúng ta cũng có thể tạo ổ đĩa RAM bằng tay:
sudo mount -t tmpfs -o size=1024M tmpfs /diem/lap
Chú ý rằng, dữ liệu trên vùng RAM sẽ bị xoá mỗi khi khởi động lại máy...

Bởi vì trong Linux tất cả đều là tập tin, kể cả phân vùng nó cũng là một tập tin đặc biệt, nên bạn có thể tận dụng grep để tìm trên nó Wink

Tất nhiên, đây là cách làm nhanh gọn. Nếu phục hồi được thì tốt, không thì phải dùng các chương trình phức tạp, nó cũng làm tương tự việc này, nhưng xử lí thông minh hơn một chút, vì nó có thể phân tích các dữ liệu khác liên quan để tập tin.

Thêm bình luận

Đăng nhập để bình luận