Điểm:-1

Thư mục làm việc bị xóa tự nhiên

lá cờ jp

Trên Ubuntu 20.04.3 LTS, tôi đã làm việc trong nvim trong bash. Tôi đã mở nhiều tab đầu cuối. có một .git thư mục trong thư mục làm việc. Tại một thời điểm nào đó, sau khi đóng một tab đầu cuối, tôi nhận thấy rằng thư mục mà tôi đang làm việc không còn tồn tại nữa.

Tôi đã kiểm tra xem mình có vô tình di chuyển thư mục hay không bằng cách chạy Sudo find / -name "some-file.txt" từ thư mục chính, nơi some-file.txt là một tên tệp tôi chắc chắn đã có trong thư mục bị thiếu.

Tôi đã kiểm tra lại lịch sử bash và sau lần cuối cùng cam kết gitgit rebase -i HEAD --root Tôi đã thực hiện, chỉ có các lệnh cho biết tìm kiếm thư mục bị mất của tôi ở đó. Tôi nhớ trong cuộc nổi loạn tương tác, tôi đã đổi tên cam kết ban đầu. Nếu tôi đã làm điều gì đó sai ở đó (như trong: rơi vãi tất cả các lần xác nhận chẳng hạn), điều này vẫn không giải thích được toàn bộ thư mục sẽ bị xóa.

Tôi biết, đây là một câu hỏi rất chung chung. Nhưng do bản chất của vấn đề nên tôi không thể cung cấp thêm chi tiết hoặc mô phỏng lỗi.

Điều gì có thể là lý do cho điều này? (Bất cứ khi nào tôi cố gắng rm -r một thư mục với một .git kho lưu trữ có xác nhận, tôi được yêu cầu xác nhận việc xóa các xác nhận rm: xóa tệp thông thường được bảo vệ chống ghi .... Điều này không xảy ra khi tôi chạy lệnh này như sudo, nhưng tôi khá chắc chắn rằng tôi đã không nhập mật khẩu của mình. Ngoài lịch sử bash, điều này khiến tôi nghĩ rằng tôi đã không vô tình xóa tất cả thư mục.)

Tôi có thể làm gì để khôi phục dữ liệu của mình? Tôi đã không đẩy và tôi đã quản lý để lưu trữ các tệp trong bộ đệm vim mở, để tự mình trả lời những phần rõ ràng nhất.

muru avatar
lá cờ us
Có thể bạn đã vô tình di chuyển thư mục đi nơi khác.
guiverc avatar
lá cờ cn
Đừng quên nếu bạn chạy một lệnh với `sudo` thì bạn sẽ không bị yêu cầu nhập mật khẩu nếu bạn vẫn ở trong giới hạn thời gian của lệnh *elevated* trước đó tại thiết bị đầu cuối nơi lệnh `sudo` đã được sử dụng. .. Bạn chưa cung cấp bất kỳ hệ điều hành hoặc chi tiết phát hành nào cho phép phản hồi chính xác hơn (nghĩa là việc bạn đề cập đến việc không cung cấp mật khẩu có thể không được yêu cầu đối với `sudo` mặc dù có những sản phẩm Ubuntu yêu cầu mật khẩu ngay lập tức nhưng bạn đã không cụ thể)
jonathan.scholbach avatar
lá cờ jp
@guiverc Cảm ơn vì nhận xét Tôi đã thêm bản phát hành Ubunutu ngay bây giờ. Có nhiều chi tiết bị thiếu có thể hữu ích không?
muru avatar
lá cờ us
@jonathan.scholbach ``sudo grep "seome-file.txt" \``? Giả sử ý của bạn là `/`, tìm kiếm chuỗi `seome-file.txt` trong thư mục `/`, đây vẫn sẽ là một lỗi trừ khi bạn yêu cầu `grep` lặp lại. Và thậm chí sau đó nó vẫn sẽ kiểm tra nội dung chứ không phải tên tệp. Nó vô nghĩa như một sự xác nhận của bất cứ điều gì.
jonathan.scholbach avatar
lá cờ jp
@muru Bạn nói đúng, xin lỗi, đầu tiên tôi có một số lỗi chính tả và thứ hai là tôi nhầm lẫn giữa `grep` và `find`. Tôi cũng không tìm thấy tệp có `find`.
muru avatar
lá cờ us
Lệnh find của bạn cũng không làm những gì bạn nghĩ
Điểm:0
lá cờ it

TÌM NGUYÊN NHÂN:

nvim cũng đi kèm với một số lệnh (và tiện ích mở rộng được cài đặt sẵn) có thể thực hiện việc này. Nếu bạn đang cố gắng tìm ra nguyên nhân của việc xóa, hãy kiểm tra nvim nhật ký là tốt.

PHỤC HỒI DỮ LIỆU:

Bạn đã đề cập đến một .git danh mục. Thư mục của bạn có điều khiển từ xa git không? Nếu vậy, chỉ cần sao chép nó vào cục bộ và vấn đề đã được giải quyết.

Nếu không kiểm tra thư mục có tên ".trash-{$USER_ID}" nếu bản gốc nằm trên ổ đĩa ngoài được gắn hoặc .local/share/Thùng rác nếu không thì. Nó có thể ở trong đó (trừ khi rừm đã được sử dụng để xóa. Trong trường hợp đó, trừ khi bạn đang sao lưu hệ thống tệp của mình, nó có thể đã biến mất.)

BẢO VỆ HỆ THỐNG CỦA BẠN TRƯỚC VẤN ĐỀ NÀY:

Đây là lý do tại sao bạn sẽ thường thấy những người dùng ở đây khuyến nghị sao lưu theo lịch trình thường xuyên. Cá nhân tôi sử dụng kết hợp dịch chuyển thời gianrsync.

dịch chuyển thời gian có thể được tải xuống qua apt. Nó chủ yếu để sao lưu các tệp và cấu hình hệ thống của bạn, đồng thời cho phép bạn đặt lịch sao lưu định kỳ. Bạn cũng có thể chạy sao lưu thủ công trong trường hợp bạn sắp làm điều gì đó rủi ro.

rsync đi kèm với Ubuntu. Nó chỉ là một công cụ dòng lệnh cơ bản để sao chép các tệp và thư mục trên mạng (mặc dù nó cũng có thể làm như vậy cục bộ.)

Rsync chủ yếu không nhằm mục đích như một chương trình sao lưu độc lập, ít nhất là không theo cách mà dịch chuyển thời gian hoặc không đồng bộ là. Tuy nhiên, nó đủ đơn giản và hiệu quả để tạo các bản sao lưu nên nhiều giải pháp toàn diện hơn sử dụng nó trong nội bộ cho mục đích này.

Nhược điểm của rsync là không có "Chấp nhận nó và quên nó đi" phương pháp được tích hợp sẵn. Tuy nhiên, trình quản lý gói Ubuntu cung cấp nhiều tùy chọn sao lưu hơn, mỗi tùy chọn có những đặc điểm riêng.

Tại thời điểm này, việc đề xuất một chiến lược dự phòng tích cực có thể là sáo rỗng, nhưng như bạn có thể thấy, đó là sáo rỗng vì một lý do chính đáng.

jonathan.scholbach avatar
lá cờ jp
Về repo từ xa: Như tôi đã nói, tôi đã không đẩy. Về sao lưu: Tôi đang chạy sao lưu mỗi tuần một lần. Tôi đã mất công việc của một ngày.
Nate T avatar
lá cờ it
Mất công trong một ngày vẫn còn tệ, nhưng nó có thể còn tồi tệ hơn nhiều. Đối với nguyên nhân, cuối cùng chỉ có bạn mới có đủ nguồn lực để tìm ra điều đó. Có hàng nghìn cách khác nhau để xóa dữ liệu. Đó có thể là một chương trình bg lừa đảo đang chạy root hoặc `SIGSEGV`, theo tất cả những gì chúng ta biết. Điều đó nói rằng, tôi đảm bảo rằng câu trả lời nằm trong tệp nhật ký ở đâu đó trên hệ thống của bạn. Btw, bạn đã kiểm tra thùng rác chưa? Miễn là nó không được `rm`ed (như trong lệnh gọi hệ thống, không phải tiện ích cli), bạn sẽ có thể tìm thấy nó ở đó

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.