ไฟล์จะไปที่ไหนถ้าคุณติดตั้งไดรฟ์ไปยังโฟลเดอร์ที่มีไฟล์อยู่แล้ว?


32

ฉันเพิ่งบังเอิญติดตั้งไดรฟ์ใหม่ไปยังโฟลเดอร์ที่มีไฟล์อยู่แล้ว ฉันไม่สนใจพวกเขาและมีที่อื่น แต่โฟลเดอร์นั้นว่างเปล่าในขณะนี้ ฉันอยากรู้ว่าเกิดอะไรขึ้นกับไฟล์ พวกเขาเพียงแค่ลบโดย Linux?


พวกเขาไม่ "ไป" ที่ใดก็ได้ คุณไม่เห็นพวกเขา
Shadur

14
พวกเขาไปที่เดียวกันกับที่ตัวละครจากหนังสือไปเมื่อคุณไม่ได้อ่าน
Andrew Beals

5
นี่เป็นหนึ่งในฟังก์ชั่น / คุณสมบัติที่น่าขบขันของการติดตั้งที่ฉันใช้ / ดูถูกในบางครั้งเพื่อทราบสถานะของบางสิ่ง บางจุดเชื่อมต่อ (ไดเรกทอรี) ฉันจะปล่อยให้ไฟล์ว่างเปล่าnot mountedเพื่อที่ว่าถ้าฉันดูมันฉันจะรู้ทันทีว่ามันไม่ได้เมานต์ด้วยเหตุผลใดก็ตาม
killermist

คำตอบ:


37

เพียง "เงา" และจะอยู่ที่นั่นอีกครั้งเมื่อไม่ได้ต่อเชื่อม :)

ในความเป็นจริงไฟล์นั้น "อยู่ที่" และถ้าคุณต้องการที่จะเข้าถึงพวกเขาทันทีโดยไม่ต้องถอนการติดตั้งสิ่งนี้สามารถแก้ไขได้ด้วยbindเมาท์ที่เรียกว่า:

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

มันทำงานได้ (ดังนั้น) เพราะเมื่อคุณถามเคอร์เนลที่จะติดระบบแฟ้มที่จะจุดเมานท์บางถือว่าเคอร์เนลที่จุดเมานท์เป็น "วิวพอร์ต" เพื่อระบบแฟ้มที่คุณกำลังติดตั้งดังนั้นจึงคาดว่าคุณจะได้เห็นFS ติดตั้งเนื้อหามี

แต่นี่ไม่ใช่วิธีเดียวที่จะรวม "เลเยอร์" ของ FSes เข้ากับมุมมองเดี่ยวได้ มีวิธีการที่เรียกว่า " ยูเนี่ยนเมาท์ " (มันตลกที่รู้ว่านี่คือ "แนวคิดหลักในแผน 9", BTW) บน Linux คุณสามารถใช้Aufsซึ่งไม่เคยทำมาใน kernel ฉีดหรือปัจจุบัน (ตั้งแต่ 3.18) OverlayFS - มันไม่ได้


21

ระบบไฟล์ที่เพิ่งติดตั้งใหม่เป็นเหมือนภาพซ้อนทับซึ่งซ่อนส่วนหนึ่งของระบบไฟล์เริ่มต้น มีเคล็ดลับในการเข้าถึงไฟล์เช่น bind mount ตามที่อธิบายไว้โดย poige บน Linux ส่วนตัวแล้วฉันชอบความจริงที่ว่าคุณสามารถเมานต์ระบบไฟล์ได้มากกว่าหนึ่งครั้งในจุดเมานท์ที่แตกต่างกัน ดังนั้นคุณสมบูรณ์ดีสามารถติดระบบแฟ้มรากบนเช่นเดียวกับ/ /mntสิ่งนี้มีประโยชน์ในขณะที่การดีบั๊กพื้นที่ว่าง / ไฟล์สูญหาย / การใช้ดิสก์การนับ / ...

Gotcha ของ:

  • ไฟล์เก่ายังคงอยู่ที่นั่นและใช้พื้นที่มากขึ้น เป็นความผิดพลาดทั่วไปที่จะมีพื้นที่ว่างในดิสก์ 'หายไป' ในไฟล์ที่ซ่อนโดยการเมานต์ เช่นเมื่อคุณตั้งใจเขียนไฟล์ขนาดใหญ่ในไดเรกทอรีและในบางครั้งก็ตัดสินใจที่จะติดตั้งระบบไฟล์ในนั้น เช่นเริ่มต้นฐานข้อมูลขนาดใหญ่โดยไม่ตั้งใจก่อนที่ระบบไฟล์การบันทึกจะถูกเมาต์อย่างถูกต้อง ...
  • เมื่อโปรแกรมเปิดไฟล์ซึ่งถูกซ่อนอยู่ในภายหลังโดยระบบไฟล์ที่ติดตั้งใหม่โปรแกรมจะไม่สนใจเกี่ยวกับมันและประสบความสำเร็จในการใช้ไฟล์ 'ซ่อน' จนกว่ามันจะปิดมัน จากช่วงเวลานั้นไฟล์นั้นจะมองไม่เห็นต่อกระบวนการจนกว่าระบบไฟล์ใหม่จะถูก unmount และไดเรกทอรีพื้นฐานจะปรากฏขึ้นอีกครั้ง

น่าสนใจมากที่คุณสามารถเมานต์ระบบไฟล์ได้มากกว่าหนึ่งครั้ง รู้สึกเหมือนว่ามันจะมีประโยชน์
ต. ไบรอันโจนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.