Montera och avmontera enheter från kommandoraden i Mac OS X

Det enklaste sättet att avmontera en enhet i OS X är att antingen dra en volym i papperskorgen, använd utmatningsnycklarna, koppla ur enheten eller använd en av kraftutmatningsmetoderna. På samma sätt, om du vill återmontera en enhet kan du vanligtvis bara dra ur kontakten och koppla tillbaka den igen. Men vad händer om du vill kunna montera, avmontera och omforma enheter från kommandoraden? Det är precis vad vi ska täcka här.

Det här tricket fungerar med externa USB-skivor, hårddiskar, Firewire, Thunderbolt, DVD-skivor, CD-skivor, nätverksenheter, även USB-tumminstationer, bokstavligen någon volym som kan monteras och nås via det otroligt hjälpsamma diskutil-kommandot. Genom att använda kommandoraden för att omforma enheten, kan hela processen slutföras om så behövs via SSH, och utan att behöva fysiskt koppla bort en enhet från Mac. Detta är oändligt användbart för felsökningssituationer, för skript och automation, och det är ett bra knep för oss som bara gillar att tinker runt i Terminal.

Avmontera en enhet från kommandoraden

Låt oss först täcka ommontering av enheter. För att göra detta behöver du en annan volym som är kopplad till eller ansluten till Mac i någon form eller annan, sedan starta Terminal för att komma igång (sitter i / Program / Verktyg /).

1: Lista alla drivrutiner

Det första du behöver göra är att lista de anslutna enheterna. Detta kommer att ge en lista över alla enheter som är anslutna till Mac, som antingen är monterade och avmonterade, och alla deras respektive partitioner. Vi gör det så att vi kan få drividentifieraren, som vanligen är något som disk1s2 eller disk2s2, etc

diskutil list

Utgången kommer att se ut så här:

$ 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

För det här exemplet ska vi fokusera på den bifogade enheten som heter "OSXDaily", som råkar vara en extern USB-minne som visas sist i listan. Observera att identifieraren för den här enheten är "disk1s2" och vi kommer att överföra den till nästa serie kommandon för att avmontera och återmontera den.

Det är nog värt att nämna att enheter alltid kommer att vara placerade i / dev / och sålunda / dev / kommer alltid att vara prefixed till identifieraren.

2: Avmontera den angivna enheten

Om du fortfarande använder diskutil-kommandot, pekar vi på den aktuella enheten för att avmontera.

diskutil unmount /dev/disk1s2

Detta kommer att rapportera den angivna volymen och platsen har avmonterats, såhär:

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

Det är allt som finns där. Du märker att enheten inte längre är tillgänglig i Finder, men den kommer fortfarande att synas genom diskutil från kommandoraden eller den mer kända Disk Utility-appen i OS Xs GUI.

Montera en enhet från kommandoraden

Om du kan avmontera en enhet kan du naturligtvis montera eller montera om en. Kommandotsekvensen är mycket likadan; leta upp volymen och montera sedan enheten.

1: Hitta enheten till monteringen

Om du redan vet var volymen finns kan du ignorera del 1 och hoppa direkt till del 2, men låt oss täcka hämtningen av volymerna. Den här gången kommer vi att förkorta det lite eftersom vi antar att vi vet namnet på enheten för att montera, så vi behöver bara hitta identifieraren. Vi gör detta genom att använda grep för att förkorta utsignalen från diskutil-kommandot som så:

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

Den utsignalen är uppenbarligen mycket kortare än den fullständiga produktionen av diskutil-listan som vi visade ovan.

I det här exemplet är drivrutinen "OSXDaily" fortfarande placerad på / dev / disk1s2 och det är vad vi ska montera.

2: Montera (eller återmontera) enheten

För att montera (eller konvertera) en enhet använder vi samma kommandot diskutil med en ny flagga och ingångar som så:

diskutil mount /dev/disk1s2

Med samma exempel som på andra ställen är här vad kommandot och utgången kommer att se ut:

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

Det här uppenbarligen monterar enheten igen, och det kommer också att göra den monterade volymen synlig igen i OS X Finder och till GUI-baserade appar i de olika öppna eller spara dialogrutorna.

Avmontera och återuppta en enhet / volym i en enda kommando

Vill du snabbt avmontera och återmontera samma volym, huvudsakligen strömcykler är det anslutning till Mac? Du kan göra det i ett enda kommando genom att stränga de två tillsammans som så:

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

Detta skulle se ut som följande när det kördes:

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

Om du råkade titta på volymen i Finder under denna process, skulle du tycka att den försvinna kort och återkommer så snart som helst. Den sista ekodelen är valfri men den gör hela kommandotillverkningen ännu mer verboserad.

Tack vare Nilesh för tipsinspirationen