Các tập tin sẽ đi đâu nếu bạn gắn một ổ đĩa vào một thư mục đã chứa các tập tin?


32

Tôi chỉ vô tình gắn một ổ đĩa mới vào một thư mục đã chứa các tập tin. Tôi không quan tâm đến chúng và để chúng ở một nơi khác, nhưng thư mục đó hiện đang trống rỗng. Tôi tò mò chuyện gì đã xảy ra với các tập tin. Có phải họ chỉ đơn giản là bị xóa bởi Linux?


Họ không "đi" đâu cả. Bạn không thể nhìn thấy chúng.
Shadur

14
Họ đi đến cùng một nơi mà các nhân vật trong sách đi khi bạn không đọc chúng.
Andrew Beals

5
Đây là một trong những chức năng / tính năng thú vị của việc gắn mà đôi khi tôi sử dụng / lạm dụng để biết trạng thái của một số thứ. Một số điểm gắn kết (thư mục), tôi sẽ để lại một tệp trống not mountedđể nếu tôi duyệt vào nó, tôi sẽ biết ngay rằng nó không được gắn kết vì bất kỳ lý do gì.
sát thủ

Câu trả lời:


37

Chỉ cần "bóng tối" và sẽ ở đó một lần nữa khi không đếm được. :)

Trong thực tế, các tệp vẫn còn "nguyên vẹn" và nếu bạn cần liên hệ với chúng ngay lập tức, nếu không kết nối, điều này có thể được giải quyết với cái gọi là bindmount:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

Nó hoạt động (vì vậy) bởi vì khi bạn yêu cầu kernel gắn hệ thống tập tin vào một số điểm gắn kết, kernel sẽ coi điểm đó là "cổng xem" cho hệ thống tập tin mà bạn đang cài đặt, do đó, bạn sẽ thấy nội dung FS được gắn kết ở đó.

Nhưng đây không phải là cách duy nhất làm thế nào các "lớp" đó có thể được kết hợp thành một chế độ xem. Có cái gọi là phương pháp " gắn kết công đoàn " (thật buồn cười khi biết rằng đây là "một khái niệm trung tâm trong Kế hoạch 9", BTW). Trên Linux, bạn có thể sử dụng Aufs , chưa bao giờ được đưa vào kernel chính, hoặc, hiện tại (kể từ 3.18), OverlayFS - nó đã làm .


21

Hệ thống tập tin mới được gắn kết giống như một lớp phủ che giấu một phần của hệ thống tập tin ban đầu. Có mẹo để truy cập các tệp, như gắn kết liên kết như được mô tả bởi poige. Trên Linux, cá nhân tôi thích thực tế là bạn có thể gắn kết một hệ thống tệp nhiều lần trên các điểm gắn kết khác nhau. Vì vậy, bạn hoàn toàn có thể gắn kết hệ thống tập tin gốc /cũng như trên /mnt. Điều này rất hữu ích trong khi gỡ lỗi dung lượng bị mất / mất tệp / đếm việc sử dụng đĩa / ...

Gotcha là:

  • Các tập tin cũ vẫn còn đó và sử dụng hết dung lượng . Đó là một lỗi phổ biến khi có không gian đĩa 'thiếu' trong các tệp bị ẩn bởi một mount. Ví dụ: khi bạn vô tình viết các tệp lớn trong một thư mục và đôi khi quyết định gắn một hệ thống tệp trên đó. Ví dụ: vô tình bắt đầu một cơ sở dữ liệu lớn trước khi hệ thống tệp ghi nhật ký được gắn đúng cách ...
  • Khi một chương trình mở tệp mà sau đó được ẩn bởi một hệ thống tệp mới được gắn, chương trình sẽ không quan tâm đến nó và tiếp tục sử dụng tệp 'ẩn' cho đến khi đóng tệp. Từ thời điểm đó, tệp đó trở nên vô hình đối với quá trình cho đến khi hệ thống tệp mới không được đếm và thư mục bên dưới xuất hiện lại.

Rất thú vị khi bạn có thể gắn kết một hệ thống tập tin nhiều lần. Điều này cảm thấy như nó sẽ có ích.
T. Brian Jones
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.