ติดตั้งและยกเลิกการต่อรองไดรฟ์จากบรรทัดคำสั่งใน Mac OS X

วิธีที่ง่ายที่สุดในการยกเลิกการต่อเชื่อมไดรฟ์ใน OS X คือลากไดรฟ์ข้อมูลไปที่ถังขยะโดยใช้ปุ่มดีดออกปลดการเชื่อมต่อไดรฟ์หรือใช้วิธีการขับดันแบบใดแบบหนึ่ง ตามบรรทัดเดียวกันหากคุณต้องการคืนค่าไดรฟ์คุณสามารถถอดปลั๊กไดรฟ์ออกได้โดยอัตโนมัติและเสียบปลั๊กอีกครั้ง แต่ถ้าคุณต้องการที่จะสามารถ mount, unmount และ remount drive จาก command line ได้? นั่นคือสิ่งที่เราจะครอบคลุมที่นี่

เคล็ดลับนี้ใช้กับดิสก์ USB ไดรฟ์, Firewire, Thunderbolt, DVD, CD, ไดรฟ์เครือข่าย USB แม้แต่ไดรฟ์ข้อมูลขนาดเล็กที่สามารถติดตั้งและเข้าถึงได้ผ่านคำสั่ง diskutil ที่เป็นประโยชน์อย่างเหลือเชื่อ โดยใช้บรรทัดคำสั่งเพื่อ remount ไดรฟ์กระบวนการทั้งหมดสามารถดำเนินการได้จากระยะไกลหากจำเป็นโดยผ่าน SSH และไม่จำเป็นต้องถอดไดรฟ์ออกจากเครื่อง Mac นี่เป็นประโยชน์อย่างมากสำหรับการแก้ปัญหาในสถานการณ์การเขียนสคริปต์และระบบอัตโนมัติและเป็นเคล็ดลับที่เยี่ยมยอดสำหรับพวกเราที่ต้องการปรับแต่งในเทอร์มินัล

ยกเลิกการต่อเชื่อมไดรฟ์จากบรรทัดคำสั่ง

มาเริ่มกันเลยไดรฟ์ที่ยกเลิกการต่อเชื่อม เมื่อต้องการทำเช่นนี้คุณจะต้องมีไดรฟ์ข้อมูลอื่นที่เชื่อมต่ออยู่หรือเชื่อมต่อกับ Mac ในรูปแบบอื่นหรือบางส่วนจากนั้นเปิด Terminal เพื่อเริ่มต้นใช้งาน (ตั้งอยู่ที่ / Applications / Utilities /)

1: รายการไดรฟ์ทั้งหมด

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

diskutil list

ผลลัพธ์จะมีลักษณะดังนี้:

$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *121.3 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 120.5 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *16.0 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS OSXDaily 15.7 GB disk1s2

เพื่อประโยชน์ของตัวอย่างนี้เราจะมุ่งเน้นไปที่ไดรฟ์ที่แนบมาซึ่งมีชื่อว่า "OSXDaily" ซึ่งเป็นไดรฟ์ USB thumb drive ที่ปรากฏขึ้นครั้งสุดท้ายในรายการ หมายเหตุตัวระบุสำหรับไดรฟ์นั้นคือ "disk1s2" และเราจะดำเนินการชุดคำสั่งต่อไปนี้เพื่อยกเลิกการต่ออายุและนำออกใหม่

อาจเป็นเรื่องที่น่าสนใจว่าไดรฟ์จะอยู่ใน / dev / และดังนั้น / dev / จะถูกนำมาใช้กับตัวระบุเสมอ

2: เลิกใช้งานไดรฟ์ที่ระบุ

ยังคงใช้คำสั่ง diskutil เราจะชี้ไปที่ไดรฟ์ที่ต้องการเพื่อเลิกใช้งาน

diskutil unmount /dev/disk1s2

การดำเนินการนี้จะรายงานกลับปริมาณที่ตั้งชื่อและตำแหน่งที่ได้รับการยกเลิกการต่อเชื่อมแล้วเช่น:

$ diskutil unmount /dev/disk1s2
Volume OSXDaily on disk1s2 unmounted

นั่นคือทั้งหมดที่มีให้ คุณจะสังเกตเห็นไดรฟ์ไม่สามารถเข้าถึงได้ใน Finder แต่จะยังสามารถมองเห็นได้จาก diskutil จากบรรทัดคำสั่งหรือแอป Disk Utility ที่คุ้นเคยมากขึ้นใน GUI ของ OS X

ติดตั้งไดรฟ์จากบรรทัดคำสั่ง

หากคุณสามารถเลิกใช้งานไดรฟ์ได้คุณก็สามารถติดตั้งหรือต่ออายุไดรฟ์ได้อีกด้วย ลำดับคำสั่งมีลักษณะคล้ายกันมาก หาไดรฟ์แล้วติดตั้งไดรฟ์

1: ค้นหาไดรฟ์ไปยัง Mount

หากคุณทราบว่าไดรฟ์อยู่ที่ใดแล้วคุณสามารถละเว้นส่วนที่ 1 และกระโดดตรงไปยังส่วนที่ 2 ได้ แต่ขอให้เราดึงข้อมูลตัวระบุไดรฟ์ข้อมูลออกไปเลย คราวนี้เราจะย่อให้สั้นลงเพราะเราจะสมมติว่าเรารู้จักชื่อไดรฟ์ในการติดตั้งดังนั้นเราจำเป็นต้องระบุตัวระบุเท่านั้น เราจะทำเช่นนี้โดยใช้ grep เพื่อย่อผลลัพธ์ของคำสั่ง diskutil ดังนี้:

$ diskutil list |grep OSXDaily
2: Apple_HFS OSXDaily 15.7 GB disk1s2

ผลลัพธ์นั้นเห็นได้ชัดว่าสั้นกว่าจำนวนเต็มที่ของรายการ diskutil ที่เราแสดงไว้ข้างต้น

สำหรับตัวอย่างนี้ไดรฟ์ "OSXDaily" ยังคงอยู่ที่ / dev / disk1s2 และนั่นคือสิ่งที่เราจะติดตั้ง

2: Mount (หรือ Remount) ไดรฟ์

ในการติดตั้ง (หรือ remount) ไดรฟ์เราจะใช้คำสั่ง diskutil เดียวกันกับแฟล็กใหม่และอินพุทดังนี้:

diskutil mount /dev/disk1s2

ใช้ตัวอย่างเดียวกับที่อื่นนี่คือสิ่งที่คำสั่งและผลลัพธ์จะมีลักษณะดังนี้

$ diskutil mount /dev/disk1s2
Volume OSXDaily on /dev/disk1s2 mounted

นี่แสดงว่าไดรฟ์ติดตั้งไดรฟ์อีกครั้งและจะทำให้ปริมาณเมาท์สามารถมองเห็นได้อีกครั้งใน OS X Finder และแอพพลิเคชันที่ใช้ GUI ในกล่องโต้ตอบ Open หรือ Save ต่างๆ

ยกเลิกการติดตั้งและเพิ่มไดรฟ์ / ปริมาณในคำสั่งเดียว

ต้องการยกเลิกการต่ออายุและคืนค่าวอลุ่มเดิมโดยอัตโนมัติการขี่จักรยานเป็นหลักคือการเชื่อมต่อกับ Mac หรือไม่? คุณสามารถทำในคำสั่งเดียวโดยการต่อสายสองเข้าด้วยกันเช่น:

diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"

นี้จะมีลักษณะดังต่อไปนี้เมื่อดำเนินการ:

$ diskutil unmount /dev/disk1s2;diskutil mount /dev/disk1s2;echo "Remounted Volume"
Volume OSXDaily on disk1s2 unmounted
Volume OSXDaily on /dev/disk1s2 mounted
Remounted Volume

หากคุณได้รับชมปริมาณใน Finder ในระหว่างกระบวนการนี้คุณจะพบว่ามันหายไปในเวลาสั้น ๆ จากนั้นเกือบจะปรากฏขึ้นอีกครั้ง ส่วน echo สุดท้ายเป็นตัวเลือก แต่จะทำให้การดำเนินการคำสั่งทั้งหมดมีความละเอียดมากขึ้น

ขอบคุณ Nilesh สำหรับแรงบันดาลใจปลาย