คำถามติดแท็ก filesystems

ระบบไฟล์เป็นวิธีการจัดระเบียบและจัดเก็บไฟล์คอมพิวเตอร์ด้วยข้อมูลของพวกเขา


5
การแก้ไขไฟล์ใน Linux ถูกบันทึกลงดิสก์โดยตรงหรือไม่?
ฉันเคยคิดว่าการเปลี่ยนแปลงไฟล์จะถูกบันทึกลงในดิสก์โดยตรงนั่นคือทันทีที่ฉันปิดไฟล์และตัดสินใจที่จะคลิก / เลือกบันทึก อย่างไรก็ตามในการสนทนาเมื่อเร็ว ๆ นี้เพื่อนคนหนึ่งของฉันบอกฉันว่าไม่ปกติ ระบบปฏิบัติการ (โดยเฉพาะอย่างยิ่งเรากำลังพูดถึงระบบ Linux) เก็บการเปลี่ยนแปลงในหน่วยความจำและมีภูตที่เขียนเนื้อหาจากหน่วยความจำไปยังดิสก์ เขายังให้ตัวอย่างของแฟลชไดรฟ์ภายนอก: สิ่งเหล่านี้จะถูกติดตั้งในระบบ (คัดลอกไปยังหน่วยความจำ) และบางครั้งการสูญเสียข้อมูลเกิดขึ้นเพราะภูตยังไม่ได้บันทึกเนื้อหาลงในหน่วยความจำแฟลช; นั่นคือเหตุผลที่เรายกเลิกการต่อเชื่อมแฟลชไดรฟ์ ฉันไม่มีความรู้เกี่ยวกับระบบปฏิบัติการที่ใช้งานได้ดังนั้นฉันจึงไม่รู้เลยว่านี่เป็นเรื่องจริงและในสถานการณ์ใด คำถามหลักของฉันคือ: สิ่งนี้เกิดขึ้นตามที่อธิบายไว้ในระบบ Linux / Unix (และอาจเป็นระบบปฏิบัติการอื่น ๆ )? ตัวอย่างเช่นนี่หมายความว่าถ้าฉันปิดคอมพิวเตอร์ทันทีหลังจากที่ฉันแก้ไขและบันทึกไฟล์การเปลี่ยนแปลงของฉันจะหายไปมากที่สุด? บางทีมันอาจขึ้นอยู่กับประเภทของดิสก์ - ฮาร์ดไดรฟ์แบบดั้งเดิมกับดิสก์แบบโซลิดสเตต? คำถามหมายถึงระบบไฟล์ที่มีดิสก์เพื่อเก็บข้อมูลโดยเฉพาะแม้ว่าจะได้รับการชี้แจงหรือการเปรียบเทียบที่ดีก็ตาม

1
เปลี่ยนการอนุญาตของไฟล์ด้วยความช่วยเหลือของแมวของฉัน
root@system:~# less myfile -bash: /bin/less: Input/output error ระบบไฟล์รูทตาย แต่แมวของฉันยังมีชีวิตอยู่ (ในความทรงจำของฉัน): root@system:~# cat > /tmp/somefile C^d root@system:~# เขาเป็นคนขี้เหงา แต่เพื่อน ๆ ของเขาก็จากไปแล้ว: root@system:~# mount -bash: /bin/mount: Input/output error root@system:~# dmesg -bash: /bin/dmesg: Input/output error root@system:~# less -bash: /bin/less: Input/output error root@system:~# chmod -bash: /bin/chmod: Input/output error ระบบยังคงทำงานอยู่และบรรลุตามวัตถุประสงค์ ฉันรู้ว่าฉันรู้ว่าการตอบสนองที่มีเหตุผลเพียงอย่างเดียวของเรื่องนี้คือทำให้ระบบล่มและแทนที่ไดรฟ์ราก น่าเสียดายที่มันไม่ใช่ตัวเลือกเพราะมันต้องใช้เวลาและเงินเป็นจำนวนมาก นอกจากนี้มันจะฆ่าแมวของฉันและนั่นจะทำให้ฉันเศร้า ฉันคิดว่าจะพาเขาไปหาเพื่อนผู้บริจาคของเขา ฉันไม่กล้าลอง …

7
จะทราบประเภทไฟล์ได้อย่างไรหากไม่ได้มาจากคำต่อท้ายไฟล์
ฉันต้องการทราบว่าไฟล์เป็นที่รู้จักกันอย่างไรถ้าชื่อไฟล์ไม่มีคำต่อท้าย ตัวอย่างเช่นไฟล์ที่ชื่อmyfileอาจเป็นไบนารีหรือข้อความที่จะเริ่มต้นด้วยระบบจะทราบได้อย่างไรว่าไฟล์นั้นเป็นไบนารีหรือข้อความ

2
ทำไม '.' ลิงค์ยากใน Unix?
ฉันเห็นคำอธิบายมากมายว่าเหตุใดลิงก์จึงนับเป็นไดเรกทอรีว่างในระบบปฏิบัติการ Unix ที่ใช้เป็น 2 แทนที่จะเป็น 1 พวกเขาทั้งหมดบอกว่าเป็นเพราะ '' ' ไดเรกทอรีซึ่งทุกไดเรกทอรีมีตัวชี้กลับไปเอง ฉันเข้าใจว่าทำไมการมีแนวคิด '.' มีประโยชน์สำหรับการระบุพา ธ ที่เกี่ยวข้อง แต่สิ่งที่ได้รับจากการใช้มันในระดับระบบไฟล์? ทำไมไม่เพียงแค่มีเชลล์หรือการเรียกระบบที่ใช้พา ธ รู้วิธีตีความมัน นั่นคือ '.. ' เป็นลิงก์จริงทำให้ฉันมีเหตุผลมากกว่านี้ - ระบบไฟล์จำเป็นต้องเก็บตัวชี้กลับไปยังไดเรกทอรีหลักเพื่อนำทางไปยังมัน แต่ฉันไม่เห็นว่าทำไม '.' การมีลิงค์จริงเป็นสิ่งจำเป็น ดูเหมือนว่ามันจะนำไปสู่กรณีพิเศษที่น่าเกลียดในการนำไปใช้ - คุณคิดว่าคุณสามารถเพิ่มพื้นที่ว่างที่ใช้โดย inodes ที่มีลิงค์นับน้อยกว่า 1 แต่ถ้าเป็นไดเรกทอรีคุณจะต้องตรวจสอบหา ลิงค์นับน้อยกว่า 2 ทำไมต้องมีความไม่ลงรอยกัน?

8
บนระบบ Unix ทำไมเราต้อง `open () 'และ` close () `ไฟล์อย่างชัดเจนเพื่อให้สามารถอ่านไฟล์ read ()` `หรือ` write ()' ได้
ทำไมopen()และclose()มีอยู่ในการออกแบบระบบไฟล์ Unix ระบบปฏิบัติการไม่สามารถตรวจพบในครั้งแรกread()หรือwrite()ถูกเรียกและทำสิ่งใดopen()ตามปกติ


1
วัตถุประสงค์ / dev / ศูนย์?
ฉันพยายามcat /dev/zeroและดูเหมือนจะไม่ทำอะไรเลย ฉัน googled /dev/zeroและมันบอกว่ามันเป็นไฟล์เปล่าที่มีขนาดไม่ จำกัด มีการcatพิมพ์จำนวนอนันต์ของตัวละครที่ไม่มีอยู่จริง? มันทำงานอย่างไร มันให้ข้อมูลที่ไม่สิ้นสุดได้อย่างไรถ้ามันเป็น 0 ไบต์? ไฟล์นี้มีประโยชน์อะไรถ้าใครสามารถสร้างไฟล์เปล่าได้?

5
วิธีการปิดการแลกเปลี่ยนอย่างถาวรและคืนพื้นที่? (บน Debian Jessie)
ฉันติดตั้ง Debian Jessie ด้วยการแบ่งพาร์ติชั่นเริ่มต้นบนไดรฟ์ SSD การแบ่งพาร์ติชันดิสก์ปัจจุบันของฉันมีลักษณะดังนี้: ขณะที่ผมมี 16GB แรมผมถือว่าผมไม่จำเป็นต้องแลกเปลี่ยน แต่เนื่องจากฉันมีดิสก์ไดรฟ์อื่นฉันอาจสร้าง swapfileบนไดรฟ์อื่นแทน คุณสามารถบอกขั้นตอนที่ฉันควรทำเพื่อลบพาร์ติชันswapอย่างถูกต้องและถาวรเพื่อไม่ให้ใช้พื้นที่ดิสก์ ? ฉันต้องการลบพาร์ติชั่นสว็อปขณะที่ฉันมี 128GB SSD อยู่เท่านั้น นี่คือสิ่งที่ฉันพยายามและรีบูตทุกครั้ง แต่ละขั้นตอนเหล่านี้ไม่ถาวรหรือไม่ได้ทำอะไร : การใช้swapoffยูทิลิตี้: swapoff --all การใช้ยูทิลิตี้GParted : คลิกขวาที่พาร์ทิชันสลับแล้วคลิก Swapoff การคอมเม้นต์ UUIDของพาร์ติชันswapในไฟล์ต่อไปนี้: /etc/fstab การคอมเม้นต์ UUIDของพาร์ติชันswapในไฟล์ต่อไปนี้: /etc/initramfs-tools/conf.d/resume การรันคำสั่งเหล่านี้ในที่สุด (ทั้งในคำสั่งนี้และคำสั่งตรงกันข้าม): update-grub update-initramfs -u

4
ระบบไฟล์เข้ากันได้กับระบบปฏิบัติการทั้งหมดหรือไม่
ฉันใช้ Linux และ Mac OS X เป็นประจำและบางครั้งฉันต้องใช้ Windows ฉันต้องใช้แฟลชไดรฟ์กับทั้งสามและฉันต้องการระบบไฟล์ที่จะทำงานได้ดีกับพวกเขาทั้งหมด ไม่มีการทำงานของ ext ใน Mac หรือ Windows, HFS + ไม่ทำงานบน Windows (หรือบน Linux), NTFS เป็นแบบอ่านอย่างเดียวบน Mac และ FAT ดูดบนระบบปฏิบัติการทั้งหมด มีระบบไฟล์ที่ทำงานได้ดีพอสมควรในทุกระบบปฏิบัติการหรือไม่? ฉันต้องการให้มันทำงานโดยไม่มีไดรเวอร์หรือการติดตั้งเพิ่มเติมดังนั้นจึงสามารถใช้กับคอมพิวเตอร์เครื่องใดก็ได้

3
ทำไมไฟล์ข้อความ 4kB?
ด้วยเหตุผลบางอย่างเมื่อฉันสร้างไฟล์ข้อความใน OS X จะเป็นอย่างน้อย 4kB เสมอเว้นแต่ว่าจะว่างเปล่า ทำไมนี้ มีข้อมูลเมตา 4,000 ไบต์ประมาณ 1 ไบต์ของข้อความธรรมดาหรือไม่?

4
กำลังกู้คืนซุปเปอร์บล็อก ext4
เมื่อเร็ว ๆ นี้กล่องหุ้มฮาร์ดไดรฟ์ภายนอกของฉันล้มเหลว อย่างไรก็ตามเป็นผลให้ดูเหมือนว่าระบบไฟล์ EXT4 ของมันเสียหาย ไดรฟ์มีพาร์ติชันเดียวและใช้ตารางพาร์ติชัน GPT (ที่มีฉลากears) fdisk -l /dev/sdb แสดงให้เห็นว่า: Device Boot Start End Blocks Id System /dev/sdb1 1 1953525167 976762583+ ee GPT testdisk แสดงให้เห็นว่าพาร์ติชันยังคงอยู่: 1 P MS Data 2049 1953524952 1953522904 [ears] ... แต่พาร์ติชันไม่สามารถเมานต์: $ sudo mount /dev/sdb1 a mount: you must specify the filesystem type …

4
เครื่องหมายสแลช (/) เป็นส่วนหนึ่งของชื่อของไดเรกทอรีรากของ Linux หรือไม่
เครื่องหมายทับ ( /) เป็นส่วนหนึ่งของชื่อไดเรกทอรีรากของ Linux หรือไม่ หรือมันเป็นเพียงสัญลักษณ์ของมัน? แล้วเรื่อง/etcอื่นล่ะ? ปรับปรุง สมมติว่า/dev/sda2เป็นอุปกรณ์บล็อกของไดเร็กทอรีรูท Linux $ sudo debugfs / dev / sda2 debugfs 1.44.1 (24-Mar-2018) debugfs: pwd [pwd] INODE: 2 PATH: / [root] INODE: 2 PATH: / debugfs: stat / Inode: 2 ประเภท: โหมดไดเรกทอรี : 0755 ค่าสถานะ: 0x80000 การสร้าง: 0 เวอร์ชัน: 0x00000000: 00000077 ผู้ใช้: …


10
มีเครื่องมือค้นหาไฟล์เช่น“ ทุกอย่าง” ใน Linux หรือไม่?
ใน Windows มีเครื่องมือค้นหาไฟล์ที่ดีที่เรียกว่าEverythingซึ่งfindเร็วกว่าและแตกต่างจากlocateผลลัพธ์ที่เป็นปัจจุบันเสมอ AFAIK ใช้งานได้โดยการกรอกฐานข้อมูลจากวารสาร NTFS (มันไม่ทำงานกับระบบไฟล์อื่น) ฉันสงสัยว่ามีบางอย่างที่คล้ายกัน (ฉันไม่สนใจ GUI จุดของฉันคือความเร็วและการรับประกันที่ทันสมัย) สำหรับ Linux (ext3 หรือ ext4) ฉัน googled แต่ไม่พบอะไรเลย สิ่งนี้สามารถทำได้หรือแม้กระทั่งคนที่ทำงานกับมัน?

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