จะเกิดอะไรขึ้นเมื่อฉันทำ“ cat debian.iso> / dev / sdX”


10

ฉันกำลังสร้าง live-USB และไม่เข้าใจอย่างถ่องแท้: จะเกิดอะไรขึ้นเมื่อฉันคัดลอกไฟล์ (หรือแม้แต่ระบบไฟล์) ไปยังโหนดอุปกรณ์โดยตรง (ตรงข้ามกับระบบไฟล์)

คำตอบ:


16

/dev/sdXเปลือกจะเปิดอุปกรณ์ เอาต์พุตทั้งหมดของcatคำสั่งซึ่งจบลงด้วยการเป็นเนื้อหาของdebian.isoถูกเขียนไปยังอุปกรณ์นั้นโดยตรง

ผลลัพธ์ที่ได้คือการที่ถูกเขียนไบต์สำหรับไบต์จะเริ่มต้นของดิสก์พื้นฐานdebian.iso/dev/sdX

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


9
คำสั่งนี้แตกต่างจากdd if=debian.iso of=/dev/sdXหรือไม่

2
@htor ไม่มาก แต่ddให้คุณควบคุมขนาดบล็อกได้มากขึ้นค่าเริ่มต้นขึ้นอยู่กับการใช้งาน (เช่น 1 หรือ 512 ไบต์) ด้วยddคุณสามารถเลือกขนาดที่ดีกว่าสำหรับอุปกรณ์บล็อกของคุณเช่น 4096 ไบต์
mrb

ขอบคุณจิม นั่นหมายความว่าโดยการดำเนินการคำสั่งนี้ฉันเขียนทับ MBR ด้วยตารางพาร์ติชันและพาร์ติชัน FAT บนแฟลชของฉันและเติมด้วยระบบไฟล์ ISO-9660 ที่มีเซกเตอร์ 2048- ไบต์และ bootloader อยู่ที่ไหน? ฉันไม่รู้ว่ามันมีความหมายอย่างไรในการทำงานทำให้ข้อมูลจำเพาะซีดีที่สามารถบู๊ตได้ของ El Torito อนุญาตให้ดำเนินการหลายรูปแบบของอิมเมจซีดีนั้น - การจำลองฟลอปปี้, การจำลองฮาร์ดไดรฟ์และไม่มีการจำลอง คุณช่วยอธิบายได้ไหมมันสมเหตุสมผลหรือไม่ที่จะบอก dd (ถ้าฉันใช้แทน) ควรใช้ขนาดเท่าไรหากขนาดบล็อกถูกกำหนดโดยระบบไฟล์ (เช่นต้องมีขนาด 2048 ไบต์บน ISO)
Boris Burkov

2
@Bob ยกเว้นด้วยเทปไดร์ฟขนาดบล็อกที่คุณส่งไปยังddมีผลต่อประสิทธิภาพ แต่ไม่ใช่ข้อมูลที่อ่านและเขียน ไม่มีความสัมพันธ์ระหว่างddขนาดบล็อกและขนาดบล็อกซีดีหรือขนาดบล็อกระบบไฟล์ โดยทั่วไปแล้วเมกะไบต์บางตัวจะให้ประสิทธิภาพที่ดีที่สุดแก่คุณแม้ว่าcatจะเร็วกว่าddก็ตาม
Gilles 'หยุดความชั่วร้าย'

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