ฉันกำลังเรียนรู้เกี่ยวกับ /dev
ระบบแฟ้ม ฉันเริ่มด้วย /dev/sd*
(Linux) และ /dev/disk*
(OS X) และฉันพบว่ามีพฤติกรรมที่น่าสนใจ ถ้าฉันวิ่ง:
$ sudo xxd -l 1024 /dev/disk0
ฉันได้รับผลลัพธ์ต่อไปนี้:
0000000: 33c0 8ed0 bc00 7c8e c08e d8be 007c bf00 3.....|......|..
0000010: 06b9 0002 fcf3 a450 681c 06cb fbb9 0400 .......Ph.......
0000020: bdbe 0780 7e00 007c 0b0f 850e 0183 c510 ....~..|........
0000030: e2f1 cd18 8856 0055 c646 1105 c646 1000 .....V.U.F...F..
0000040: b441 bbaa 55cd 135d 720f 81fb 55aa 7509 .A..U..]r...U.u.
0000050: f7c1 0100 7403 fe46 1066 6080 7e10 0074 ....t..F.f`.~..t
0000060: 2666 6800 0000 0066 ff76 0868 0000 6800 &fh....f.v.h..h.
0000070: 7c68 0100 6810 00b4 428a 5600 8bf4 cd13 |h..h...B.V.....
< ... >
Googling เล็กน้อยดูเหมือนจะระบุว่านี่เป็นจุดเริ่มต้นของ MBR (ฉันติดตั้ง Bootcamp)
อย่างไรก็ตามสิ่งต่อไปนี้ใช้ไม่ได้:
$ sudo xxd -l 1000 < /dev/disk0
-bash: /dev/disk0: Permission denied
คำถามของฉันคือ:
- แอปพลิเคชันจำนวนมากซ่อนส่วนสำคัญของดิสก์ (เช่น MBR, inodes ระบบไฟล์, ขอบเขตพาร์ติชันและอื่น ๆ ) เป็นผลลัพธ์จาก
xxd
ถ่ายโอนข้อมูลระดับต่ำจริงของอุปกรณ์หรือไม่ ฉันเห็นทุกอย่างเป็นไบต์ต่อไบต์บนอุปกรณ์หรือไม่ - เช่น
/dev/disk0
มีข้อมูลอย่างชัดเจนเหตุใดฉันจึงไม่สามารถใช้เป็นสตรีม stdin ได้